bandwidthd: incorporate fixes for autobuilders
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
"The build failures of bandwidthd observed in the autobuilders in
relation to libpng are caused by the usage of -L/usr/lib -L/usr/local/lib in the compiler flags, which leads the configure script to try to link against a host libpng library."
These issues are fixed by:
* Version bump to -r08
"[patched] the configure.ac script to remove the hardcoded -L/usr/local/lib and -I/usr/local/include. The bandwidthd package -was already autoreconfigured, so there is no need to add it."
* "Adding the --without-x option, which ensures that the configure.ac script will not add -L/usr/lib to the compiler flags (and we anyway haven't added any sort of X.org support to bandwidthd for the moment)."
Both fixes by Thomas Petazzoni <[email protected]>
---
Changes v1 to v2
- Added details of the failure this patch fixes
--- package/bandwidthd/bandwidthd.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
package/bandwidthd/bandwidthd.mk +3 -1
@@ -4,7 +4,7 @@ # ################################################################################ -BANDWIDTHD_VERSION = v2.0.1-auto-r07 +BANDWIDTHD_VERSION = v2.0.1-auto-r08 BANDWIDTHD_SITE = $(call github,nroach44,bandwidthd,$(BANDWIDTHD_VERSION)) # Specified as "any version of the GPL that is current as of your
@@ -15,6 +15,8 @@ BANDWIDTHD_DEPENDENCIES = gd libpng libpcap BANDWIDTHD_AUTORECONF = YES +BANDWIDTHD_CONF_OPT += --without-x + ifeq ($(BR2_PACKAGE_BANDWIDTHD_POSTGRESQL),y) BANDWIDTHD_DEPENDENCIES += postgresql BANDWIDTHD_CONF_OPT += --with-postgresql-logging=true
Signature · 1 line
2.0.1
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Nathaniel" == Nathaniel Roach <[email protected]> writes:
"The build failures of bandwidthd observed in the autobuilders in
relation to libpng are caused by the usage of -L/usr/lib -L/usr/local/lib in the compiler flags, which leads the configure script to try to link against a host libpng library."These issues are fixed by:
* Version bump to -r08
"[patched] the configure.ac script to remove the hardcoded -L/usr/local/lib and -I/usr/local/include. The bandwidthd package -was already autoreconfigured, so there is no need to add it."
Quoted 8 lines
* "Adding the --without-x option, which ensures that the configure.ac script will not add -L/usr/lib to the compiler flags (and we anyway haven't added any sort of X.org support to bandwidthd for the moment)."
Both fixes by Thomas Petazzoni <[email protected]>
---
Changes v1 to v2
- Added details of the failure this patch fixes
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
In reply to Nathaniel RoachHi Nathaniel,
[snip]
There is a new build issue with bandwidthd:
http://autobuild.buildroot.net/results/37a/37a94e0f2d3faa0aec9c488e987cfff706fc9f3b/build-end.log
checking for png_read_info in -lpng... no
configure: error: Bandwidthd requires but cannot libpng
make: *** [/home/test/autobuild/instance-3/output/build/bandwidthd-v2.0.1-auto-r08/.stamp_configured] Error 1
I checked the dependencies with libpng, it's ok.
But in config.log there are some link issue:
/home/naourr/git/buildroot/test/bandwidthd/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/../lib64/libpng.a(pngread.o): In function `png_read_destroy':/home/naourr/git/buildroot/test/bandwidthd/build/libpng-1.6.12/pngread.c:942: undefined reference to `inflateEnd'
The configure script doesn't check for zlib, then -lz is missing during libpng test
I added this line to add this check before libpng:AC_CHECK_LIB(z, zlibVersion, , AC_MSG_ERROR(zlib not installed))
The build continue but fail with libpcap:
checking for zlibVersion in -lz... yes
checking for png_read_info in -lpng... yes
checking for gdImageCreate in -lgd... yes
checking for pcap_open_live in -lpcap... no checking for pcap_open_live in -lwpcap... no
configure: error: Bandwidthd requires but cannot find libpcap
Again a link issue:
/home/naourr/git/buildroot/test/bandwidthd/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/../lib64/libpcap.a(pcap-canusb-linux.o): In function `canusb_activate':/home/naourr/git/buildroot/test/bandwidthd/build/libpcap-1.6.1/./pcap-canusb-linux.c:344: undefined reference to `libusb_init'
I borrowed the libusb test from libpcap to check for libusb-1.0
# needed by libpcap AC_CHECK_HEADER(libusb-1.0/libusb.h, [ AC_CHECK_LIB(usb-1.0, libusb_init, [ LIBS="-lusb-1.0 -lpthread $LIBS" ac_lbl_has_libusb=yes ], [AC_MSG_ERROR([Bandwidthd requires but cannot find libusb])] ac_lbl_has_libusb=no, -lpthread ) ], ac_lbl_has_libusb=no [AC_MSG_ERROR([Bandwidthd requires but cannot find libusb])] )
And all build fine now :)
Note that -lpthread need to be added here otherwise libusb will fail with pthread functions.
So, the configure.ac script needs to be consolidated to check for zlib, libusb-1.0 and pthread. Currently, I don't have a clean patch to suggest.
I hope this will help you.
Best regards,
Romain
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
Quoted 59 lines · Romain Naour
Hi Nathaniel,
[snip]
There is a new build issue with bandwidthd:
http://autobuild.buildroot.net/results/37a/37a94e0f2d3faa0aec9c488e987cfff706fc9f3b/build-end.log
checking for
png_read_infoin -lpng... no
configure: error: Bandwidthd requires but cannot libpng
make: *** [/home/test/autobuild/instance-3/output/build/bandwidthd-v2.0.1-auto-r08/.stamp_configured] Error 1I checked the dependencies with libpng, it's ok.
But in config.log there are some link issue:
/home/naourr/git/buildroot/test/bandwidthd/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/../lib64/libpng.a(pngread.o): In function `png_read_destroy':/home/naourr/git/buildroot/test/bandwidthd/build/libpng-1.6.12/pngread.c:942: undefined reference to `inflateEnd'The configure script doesn't check for zlib, then -lz is missing during libpng test
I added this line to add this check before libpng:
AC_CHECK_LIB(z, zlibVersion, , AC_MSG_ERROR(zlib not installed))The build continue but fail with libpcap:
checking for zlibVersion in -lz... yes
checking forpng_read_infoin -lpng... yes
checking for gdImageCreate in -lgd... yes
checking forpcap_open_livein -lpcap... no checking forpcap_open_livein -lwpcap... no
configure: error: Bandwidthd requires but cannot find libpcapAgain a link issue:
/home/naourr/git/buildroot/test/bandwidthd/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/../lib64/libpcap.a(pcap-canusb-linux.o): In function `canusb_activate':/home/naourr/git/buildroot/test/bandwidthd/build/libpcap-1.6.1/./pcap-canusb-linux.c:344: undefined reference to `libusb_init'I borrowed the libusb test from libpcap to check for libusb-1.0
# needed by libpcap AC_CHECK_HEADER(libusb-1.0/libusb.h, [ AC_CHECK_LIB(usb-1.0, libusb_init, [ LIBS="-lusb-1.0 -lpthread $LIBS" ac_lbl_has_libusb=yes ], [AC_MSG_ERROR([Bandwidthd requires but cannot find libusb])] ac_lbl_has_libusb=no, -lpthread ) ], ac_lbl_has_libusb=no [AC_MSG_ERROR([Bandwidthd requires but cannot find libusb])] )And all build fine now :)
Note that -lpthread need to be added here otherwise libusb will fail with pthread functions.
Quoted 8 lines
So, the configure.ac script needs to be consolidated to check for zlib, libusb-1.0 and pthread. Currently, I don't have a clean patch to suggest.
I hope this will help you.
Best regards,
Romain
Hi Romain
All: I replied earlier just to Romain, acknowledging the issue, and forgot to click reply all instead of normal reply.
Romain, could you try building the latest master from github.com/nroach44/bandwidthd (id:0473a5f2527201d83c5b0ddc581b7c9f21fbdcaf )
Thanks, Nathaniel
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
In reply to Romain NaourQuoted 59 lines · Romain Naour
Hi Nathaniel,
[snip]
There is a new build issue with bandwidthd:
http://autobuild.buildroot.net/results/37a/37a94e0f2d3faa0aec9c488e987cfff706fc9f3b/build-end.log
checking for
png_read_infoin -lpng... no
configure: error: Bandwidthd requires but cannot libpng
make: *** [/home/test/autobuild/instance-3/output/build/bandwidthd-v2.0.1-auto-r08/.stamp_configured] Error 1I checked the dependencies with libpng, it's ok.
But in config.log there are some link issue:
/home/naourr/git/buildroot/test/bandwidthd/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/../lib64/libpng.a(pngread.o): In function `png_read_destroy':/home/naourr/git/buildroot/test/bandwidthd/build/libpng-1.6.12/pngread.c:942: undefined reference to `inflateEnd'The configure script doesn't check for zlib, then -lz is missing during libpng test
I added this line to add this check before libpng:
AC_CHECK_LIB(z, zlibVersion, , AC_MSG_ERROR(zlib not installed))The build continue but fail with libpcap:
checking for zlibVersion in -lz... yes
checking forpng_read_infoin -lpng... yes
checking for gdImageCreate in -lgd... yes
checking forpcap_open_livein -lpcap... no checking forpcap_open_livein -lwpcap... no
configure: error: Bandwidthd requires but cannot find libpcapAgain a link issue:
/home/naourr/git/buildroot/test/bandwidthd/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/../lib64/libpcap.a(pcap-canusb-linux.o): In function `canusb_activate':/home/naourr/git/buildroot/test/bandwidthd/build/libpcap-1.6.1/./pcap-canusb-linux.c:344: undefined reference to `libusb_init'I borrowed the libusb test from libpcap to check for libusb-1.0
# needed by libpcap AC_CHECK_HEADER(libusb-1.0/libusb.h, [ AC_CHECK_LIB(usb-1.0, libusb_init, [ LIBS="-lusb-1.0 -lpthread $LIBS" ac_lbl_has_libusb=yes ], [AC_MSG_ERROR([Bandwidthd requires but cannot find libusb])] ac_lbl_has_libusb=no, -lpthread ) ], ac_lbl_has_libusb=no [AC_MSG_ERROR([Bandwidthd requires but cannot find libusb])] )And all build fine now :)
Note that -lpthread need to be added here otherwise libusb will fail with pthread functions.
Quoted 8 lines
So, the configure.ac script needs to be consolidated to check for zlib, libusb-1.0 and pthread. Currently, I don't have a clean patch to suggest.
I hope this will help you.
Best regards,
Romain
In regards to pthreads, can you add
LIBS="-lpthread $LIBS"
some where in configure.ac and test if that fixes the issue?
If it does I'll commit it and then patch buildroot accordingly.
Thanks, Nathaniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140818/0246bc9a/attachment.asc>
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
Hi Nathaniel,
Le 18/08/2014 17:01, Nathaniel Roach a ?crit :
Quoted 11 lines
In regards to pthreads, can you add
LIBS="-lpthread $LIBS"
some where in configure.ac and test if that fixes the issue?
If it does I'll commit it and then patch buildroot accordingly.
Thanks, Nathaniel
I tried with 0473a5f2527201d83c5b0ddc581b7c9f21fbdcaf and I added the following line in bandwidthd.mk:BANDWIDTHD_CONF_ENV = LIBS="-pthread"
It's ok for me with that :)
I think bandwithd depends on BR2_TOOLCHAIN_HAS_THREADS due to a reverse dependency on libusb.
Thanks for your support.
Best regards,
Romain
PATCH v2 1/1 bandwidthd: incorporate fixes for autobuilders
Hi Nathaniel,
Quoted 4 lines
I think bandwithd depends on
BR2_TOOLCHAIN_HAS_THREADSdue to a reverse dependency on libusb.
Please forget that. libusb is an optional dependency of libpcap.
I have disabled libusb and now the build error out:
checking for libusb_init in -lusb-1.0... no
configure: error:
libusb and libpthread need to be handled as optional dependencies in bandwidthd.
-pthread need to be added only if the libusb (which depends on BR2_TOOLCHAIN_HAS_THREADS) is detected
So add BANDWIDTHD_CONF_ENV = LIBS="-pthread" in bandwidthd.mk is not a good idea...
Best regards,
Romain