ports/180619: [patch] ftp/wget:: stealth dependency on misc/e2fsprogs-libuuid
Panagiotis Christias
p.christias at noc.ntua.gr
Wed Jul 17 22:40:00 UTC 2013
>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 at 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:
More information about the freebsd-ports-bugs
mailing list