[arch-general] syslog-ng build error
Making syslog-ng 3.0.1-6 i686 in Clean Chroot ==> Making package: syslog-ng 3.0.1-6 i686 (Wed May 27 19:31:24 UTC 2009) ==> Checking Runtime Dependencies... ==> Checking Buildtime Dependencies... ==> Installing missing dependencies... resolving dependencies... looking for inter-conflicts... if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/eventlog -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=athlon -O2 -pipe -fomit-frame-pointer -Wall -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.c; \ then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi gcc -march=athlon -O2 -pipe -fomit-frame-pointer -Wall -o syslog-ng main.o libsyslog-ng.a -lrt -lnsl -Wl,-Bstatic -lfl -lglib-2.0 -levtlog -lssl -lcrypto -lz -lz -lwrap -lcap -lpcre -Wl,-Bdynamic -ldl /usr/bin/ld: cannot find -lcap collect2: ld returned 1 exit status make[2]: *** [syslog-ng] Error 1 make[2]: Leaving directory `/build/src/syslog-ng-3.0.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/build/src/syslog-ng-3.0.1' make: *** [all] Error 2 ==> ERROR: Build Failed. What is -lcap ? Is it looking for a static lib cap?
Baho Utot wrote:
Making syslog-ng 3.0.1-6 i686 in Clean Chroot
gcc -march=athlon -O2 -pipe -fomit-frame-pointer -Wall -o syslog-ng main.o libsyslog-ng.a -lrt -lnsl -Wl,-Bstatic -lfl -lglib-2.0 -levtlog -lssl -lcrypto -lz -lz -lwrap -lcap -lpcre -Wl,-Bdynamic -ldl What is -lcap ?
Is it looking for a static lib cap?
Yes I just talked about this with Hugo doria syslog-ng needs libcap as static as others libs like glib2 openssl zlib, eventlog, etc... because is compiled in mixed mode So there are important issue here: many deps (that need to be in the [core], small binary VS (the current behaviour) few deps (only glibc), big binary (~2MB) + security issues (if any of static lib is afected and this pkg inst recompiled) + more memory usage (this is very small in these days of course) Also there is an open task for this without attention [#1] [#1] http://bugs.archlinux.org/task/14214 -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
On Wed, 2009-05-27 at 20:59 -0300, Gerardo Exequiel Pozzi wrote:
Baho Utot wrote:
Making syslog-ng 3.0.1-6 i686 in Clean Chroot
gcc -march=athlon -O2 -pipe -fomit-frame-pointer -Wall -o syslog-ng main.o libsyslog-ng.a -lrt -lnsl -Wl,-Bstatic -lfl -lglib-2.0 -levtlog -lssl -lcrypto -lz -lz -lwrap -lcap -lpcre -Wl,-Bdynamic -ldl What is -lcap ?
Is it looking for a static lib cap?
Yes I just talked about this with Hugo doria
syslog-ng needs libcap as static as others libs like glib2 openssl zlib, eventlog, etc... because is compiled in mixed mode
So there are important issue here:
many deps (that need to be in the [core], small binary
VS (the current behaviour) few deps (only glibc), big binary (~2MB) + security issues (if any of static lib is afected and this pkg inst recompiled) + more memory usage (this is very small in these days of course)
Also there is an open task for this without attention [#1]
So I need to patch?
Baho Utot wrote:
On Wed, 2009-05-27 at 20:59 -0300, Gerardo Exequiel Pozzi wrote:
Baho Utot wrote:
Making syslog-ng 3.0.1-6 i686 in Clean Chroot
gcc -march=athlon -O2 -pipe -fomit-frame-pointer -Wall -o syslog-ng main.o libsyslog-ng.a -lrt -lnsl -Wl,-Bstatic -lfl -lglib-2.0 -levtlog -lssl -lcrypto -lz -lz -lwrap -lcap -lpcre -Wl,-Bdynamic -ldl What is -lcap ?
Is it looking for a static lib cap?
Yes I just talked about this with Hugo doria
syslog-ng needs libcap as static as others libs like glib2 openssl zlib, eventlog, etc... because is compiled in mixed mode
So there are important issue here:
many deps (that need to be in the [core], small binary
VS (the current behaviour) few deps (only glibc), big binary (~2MB) + security issues (if any of static lib is afected and this pkg inst recompiled) + more memory usage (this is very small in these days of course)
Also there is an open task for this without attention [#1]
So I need to patch?
No, for now, just compile libcap with static lib, (in PKGBUILD there is a rm that delete this static lib) so comment it. In any way, I would like to know the opinion of the developers. If you continue with the current compilation of syslog-ng (mixed) or move to a fully shared. And if continue in mixed mode, if any of lib that uses as static is updated, then the syslog-ng should be marked as "out-of-date", like for example now, with the recent update to glib2. ;) -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
On Wed, 2009-05-27 at 21:13 -0300, Gerardo Exequiel Pozzi wrote:
In any way, I would like to know the opinion of the developers. If you continue with the current compilation of syslog-ng (mixed) or move to a fully shared.
I would say: fully shared. Doing so would introduce eventlog (108K), glib2 (10336K), pcre (2164K), gcc-libs (9068K), libcap (185K). Eventlog, gcc-libs and libcap aren't a problem at all, they're small and in case of gcc-libs already required on the system. For glib2, it's "huge", but given the fact that many people have this thing installed for other purposes anyways, I don't see the problem here. People with minimal systems could get rid of /usr/include anyways, which is where the most space is taken in case of glib2.
On Thu, May 28, 2009 at 08:53:02AM +0200, Jan de Groot wrote:
On Wed, 2009-05-27 at 21:13 -0300, Gerardo Exequiel Pozzi wrote:
In any way, I would like to know the opinion of the developers. If you continue with the current compilation of syslog-ng (mixed) or move to a fully shared.
I would say: fully shared.
Doing so would introduce eventlog (108K), glib2 (10336K), pcre (2164K), gcc-libs (9068K), libcap (185K).
Eventlog, gcc-libs and libcap aren't a problem at all, they're small and in case of gcc-libs already required on the system. For glib2, it's "huge", but given the fact that many people have this thing installed for other purposes anyways, I don't see the problem here. People with minimal systems could get rid of /usr/include anyways, which is where the most space is taken in case of glib2.
In such a case libcap would have to be moved to [core]. -- Greg
As Gerard told, we have two options here. If we pick the shared option (the best IMHO) we will have to move all the necessary dependencies to [core]. They are small, and should not be a big deal. -- Hugo
Jan de Groot wrote:
On Wed, 2009-05-27 at 21:13 -0300, Gerardo Exequiel Pozzi wrote:
In any way, I would like to know the opinion of the developers. If you continue with the current compilation of syslog-ng (mixed) or move to a fully shared.
I would say: fully shared.
Doing so would introduce eventlog (108K), glib2 (10336K), pcre (2164K), gcc-libs (9068K), libcap (185K).
Eventlog, gcc-libs and libcap aren't a problem at all, they're small and in case of gcc-libs already required on the system. For glib2, it's "huge", but given the fact that many people have this thing installed for other purposes anyways, I don't see the problem here. People with minimal systems could get rid of /usr/include anyways, which is where the most space is taken in case of glib2.
Yes! Here is the patch [#1] * Update the latest syslog-ng 3.0.2 * Fixed the license * Removed uid.patch, not ncessary anymore, already fixed in 3.0.2 * Fixed missing \ in configure options so the rest option was discarded. * Added two linked flags to reduce the numbers of unused direct depends. * Shared mode is now default in 3.0.2 Resulting binary is 238K vs 2M $ readelf -d /usr/sbin/syslog-ng | awk '/NEEDED/{print $5}' [libglib-2.0.so.0] [libevtlog.so.0] [libssl.so.0.9.8] [libcrypto.so.0.9.8] [libwrap.so.0] [libcap.so.2] [libpcre.so.0] [libc.so.6] [#1] http://bugs.archlinux.org/task/14214#comment44342 -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
Could someone move libcap to [core]? This is everything that is missing to rebuild syslog-ng and fix FS#14214 : http://bugs.archlinux.org/task/14214 -- Hugo
participants (5)
-
Baho Utot
-
Gerardo Exequiel Pozzi
-
Grigorios Bouzakis
-
Hugo Doria
-
Jan de Groot