Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 320845 - dev-libs/apr: add IUSE=+uuid and dependency on libuuid implementation
Summary: dev-libs/apr: add IUSE=+uuid and dependency on libuuid implementation
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Apache Team - Bugzilla Reports
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-21 08:54 UTC by Michael Haubenwallner (RETIRED)
Modified: 2011-02-18 17:02 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Haubenwallner (RETIRED) gentoo-dev 2010-05-21 08:54:04 UTC
dev-libs/apr compiles and links against libuuid - provided by sys-apps/util-linux these days, but there is no such dependency in the ebuilds.

At configure time:
Checking for OS UUID Support...
checking uuid.h usability... no
checking uuid.h presence... no
checking for uuid.h... no
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for library containing uuid_create... no
checking for library containing uuid_generate... -luuid
checking for uuid_create... no
checking for uuid_generate... yes
checking for os uuid usability... yes
...
  setting EXTRA_LIBS to "-luuid -lrt -lcrypt  -lpthread -ldl"
...

$ scanelf -n /usr/lib/libapr-1.so.0.3.9 
 TYPE   NEEDED FILE 
ET_DYN libuuid.so.1,librt.so.1,libcrypt.so.1,libpthread.so.0,libdl.so.2,libc.so.6 /usr/lib/libapr-1.so.0.3.9

Actually, this bites me in Prefix, as dev-libs/apr is merged before some libuuid (pulled in by x11-libs/libSM), so an eventually existing host- implementation is used at buildtime, but at runtime libuuid.so.1 is found in Prefix, which breaks subsequent subversion build with:
/my/prefix/usr/lib/libapr-1.so: undefined reference to `uuid_generate@UUID_1.0'

To prepare for supporting all the Prefix platforms, apr best should do like x11-libs/libSM, for now this is:

-IUSE="..."
+IUSE="... +uuid elibc_FreeBSD"

-DEPEND="..."
 RDEPEND="...
+    uuid? (
+      !elibc_FreeBSD? (
+        || ( >=sys-apps/util-linux-2.16 <sys-libs/e2fsprogs-libs-1.41.8 )
+      )
+    )
 "
+DEPEND="... ${RDEPEND}"

And in src_configure():

+  use uuid || export apr_cv_osuuid=no

Actually, libSM does a bit more in Prefix[1], but we have to see first if this all is necessary for apr too.
[1] http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/x11-libs/libSM/libSM-1.1.1.ebuild?rev=57193

Thank you!
Comment 1 Benedikt Böhm (RETIRED) gentoo-dev 2011-02-18 17:02:56 UTC
fixed in apr-1.4.2-r1. thanks