Date: Wed, 17 Jul 2013 22:30:53 GMT From: Panagiotis Christias <p.christias@noc.ntua.gr> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/180619: [patch] ftp/wget:: stealth dependency on misc/e2fsprogs-libuuid Message-ID: <201307172230.r6HMUrxZ068112@oldred.freebsd.org> Resent-Message-ID: <201307172240.r6HMe0v8068215@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 180619 >Category: ports >Synopsis: [patch] ftp/wget:: stealth dependency on misc/e2fsprogs-libuuid >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jul 17 22:40:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Panagiotis Christias >Release: 9.1 >Organization: NTUA NOC >Environment: FreeBSD builder9-amd64.noc.ntua.gr 9.1-RELEASE-p3 FreeBSD 9.1-RELEASE-p3 #0: Tue Jun 4 00:49:39 EEST 2013 root@gaia.noc.ntua.gr:/usr/obj/usr/src/sys/NTUA amd64 >Description: Ftp/wget configure script is looking for uuid/uuid.h and if found then wget gets linked lib/libuuid.so resulting a stealth dependency against misc/e2fsprogs-libuuid that carries those files. If misc/e2fsprogs-libuuid get uninstalled at some point, ftp/wget starts complaining about missing shared library. >How-To-Repeat: % cd /usr/ports/misc/e2fsprogs-libuuid % make install [...] % cd /usr/ports/ftp/wget % make install [...] % ldd /usr/local/bin/wget /usr/local/bin/wget: libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x800887000) libssl.so.6 => /usr/lib/libssl.so.6 (0x800b84000) libcrypto.so.6 => /lib/libcrypto.so.6 (0x800dd9000) libz.so.6 => /lib/libz.so.6 (0x80117a000) libidn.so.17 => /usr/local/lib/libidn.so.17 (0x80138e000) libuuid.so.1 => /usr/local/lib/libuuid.so.1 (0x8015c0000) libc.so.7 => /lib/libc.so.7 (0x8017c4000) % cd /usr/ports/misc/e2fsprogs-libuuid % make deinstall [...] % wget Shared object "libuuid.so.1" not found, required by "wget" >Fix: Ftp/wget carries its own UUID generating function that is used by default (see warc_uuid_str() in src/warc.c), so there is no real reason(?) to be linked against libuuid. The attached patch removes the uuid.h check from the configure script. Patch attached with submission follows: --- configure.orig 2012-08-05 23:17:11.000000000 +0300 +++ configure 2013-07-17 20:59:10.000000000 +0300 @@ -35808,54 +35808,6 @@ fi -ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" -if test "x$ac_cv_header_uuid_uuid_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5 -$as_echo_n "checking for uuid_generate in -luuid... " >&6; } -if ${ac_cv_lib_uuid_uuid_generate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-luuid $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char uuid_generate (); -int -main () -{ -return uuid_generate (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_uuid_uuid_generate=yes -else - ac_cv_lib_uuid_uuid_generate=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5 -$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } -if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then : - LIBS="${LIBS} -luuid" - -$as_echo "#define HAVE_LIBUUID 1" >>confdefs.h - - -fi - - -fi >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307172230.r6HMUrxZ068112>