pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/42265: devel/libdaemon build complains (and fails) with undefined libc symbols (NetBSD 4.0/i386)
The following reply was made to PR pkg/42265; it has been noted by GNATS.
From: Robert Elz <kre%munnari.OZ.AU@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: pkg/42265: devel/libdaemon build complains (and fails) with
undefined libc symbols (NetBSD 4.0/i386)
Date: Mon, 09 Nov 2009 20:28:32 +0700
Date: Wed, 4 Nov 2009 15:25:01 +0000 (UTC)
From: Robert Elz <kre%munnari.OZ.AU@localhost>
Message-ID: <20091104152501.D283663B844%www.NetBSD.org@localhost>
| If I know which way pkgsrc would prefer, I can generate a patch that
| should fix this bug.
OK, no-one was able (or perhaps willing) to suggest whether it would be
better to have the new version linked the same way the old one was, or
whether it would be better to do it the new way, so I just decided that
minimal risk was keeping things the way they have always been, and so
made the appended patch which seems to allow me to both build libdaemon
on NetBSD 4 again, and also to build those packages that depend upon it
(as I type this, some of that is still happening, but there have been
enough successfully completed for me to declare the patch below a success).
That having been said, the patch below is almost certainly utter nonsense
and nothing at all like the way it should be done, I rather doubt that
pkgsrc Makefiles are intended to go explicitly setting LOWER_OPSYS_VERSUFFIX
explicitly, and I have no idea at all what effect that will (would) have
on anything that is not NetBSD, and perhaps even anything that is not
NetBSD 4 (though I doubt other NetBSD versions would be adversely affected).
The reason i did it this way, is that I needed to be able to patch the
configure script to behave differently on NetBSD 4 from more recent NetBSDs.
But the way pkgsrc runs configure, it passes an explicit --host arg, which
does not include any version information for NetBSD - so other than
making the configure script ignore the passed in system ID and just
run "uname -r" internally (which would make this stuff even less likely to
ever cross-compile than it is now) I thought a better fix would be to
just get the version number added to the --host arg to configure, and
defining LOWER_OPSYS_VERSUFFIX seems to make that happen.
Protecting that assignment, so it only happens for NetBSD 4 would be a
simple way to avoid problems on other systems, I didn't do that as I simply
can't believe that this is even an approximation of the right way to
handle this problem - the people who wonder why I often just report
problems, and rarely supply fixes can now stop wondering, this is the
quality you'd be getting if I did (I guess that someone will see this
attempt at a fix, become violently ill, and then when they recover, will
figure out a better way to solve the problem!)
For me now, at least until libdaemon gets updated again, the problem
appears to be solved...
kre
diff -u -r --unidirectional-new-file ../libdaemon/Makefile ./Makefile
--- ../libdaemon/Makefile 2009-10-31 09:54:34.000000000 +0700
+++ ./Makefile 2009-11-09 19:27:14.000000000 +0700
@@ -18,6 +18,7 @@
GNU_CONFIGURE= YES
CONFIGURE_ARGS+= --disable-lynx
+LOWER_OPSYS_VERSUFFIX!= uname -r | sed 's/\..*//'
INSTALLATION_DIRS= share/doc/libdaemon
diff -u -r --unidirectional-new-file ../libdaemon/distinfo ./distinfo
--- ../libdaemon/distinfo 2009-10-31 09:54:34.000000000 +0700
+++ ./distinfo 2009-11-09 17:53:18.000000000 +0700
@@ -3,3 +3,4 @@
SHA1 (libdaemon-0.14.tar.gz) = 78a4db58cf3a7a8906c35592434e37680ca83b8f
RMD160 (libdaemon-0.14.tar.gz) = 952ae993fecfe3ec765dfa43b2690a83f1a5c939
Size (libdaemon-0.14.tar.gz) = 340474 bytes
+SHA1 (patch-aa) = 1b7a9cc2cae4d9aa19b135df93d18515bb290d7b
diff -u -r --unidirectional-new-file ../libdaemon/patches/patch-aa
./patches/patch-aa
--- ../libdaemon/patches/patch-aa 1970-01-01 07:00:00.000000000 +0700
+++ ./patches/patch-aa 2009-11-09 17:53:11.000000000 +0700
@@ -0,0 +1,16 @@
+--- configure.REAL 2009-10-17 02:08:49.000000000 +0000
++++ configure 2009-11-09 10:48:45.000000000 +0000
+@@ -14447,9 +14447,10 @@
+ ;;
+ esac
+
+-
+-
+-
++# gcc on NetBSD 4 does not link with -lc, undefined symbols are expected
++case "$host" in
++*-netbsdelf4*) LDFLAGS_NOUNDEFINED="";;
++esac
+
+ # Check whether --enable-lynx was given.
+ if test "${enable_lynx+set}" = set; then
Home |
Main Index |
Thread Index |
Old Index