Summary: | openldap-2.4.19-r1 fails to build | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Ramon <ramon> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | OS X | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 306705 | ||
Attachments: | Fix linking to define the missing symbols. |
Description
Ramon
2010-02-28 14:25:08 UTC
Portage 2.2.00.15444-prefix (prefix/darwin/macos/10.6/x64, gcc-4.2.1, unavailable, 10.2.0 i386) ================================================================= System uname: Darwin-10.2.0-i386-64bit Timestamp of tree: Wed, 24 Feb 2010 09:36:12 +0000 distcc 2.18.5-Apple.1 i386-apple-darwin10.0 (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 4.0_p37 dev-lang/python: 2.6.4 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.8.0-r2 sys-devel/autoconf: 2.63-r01.1 sys-devel/automake: 1.10.2-r00.1, 1.11.1 sys-devel/gcc-config: 1.4.1-r00.2 sys-devel/libtool: 2.2.6b ACCEPT_KEYWORDS="~x64-macos" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-apple-darwin10" CFLAGS="-O2 -pipe -march=nocona" CHOST="x86_64-apple-darwin10" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="" DISTDIR="/Volumes/Shared/prefix-64/usr/portage/distfiles" FEATURES="assume-digests collision-protect distlocks fixpackages metadata-transfer news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="" PKGDIR="/Volumes/Shared/prefix-64/usr/portage/packages" PORTAGE_CONFIGROOT="/Volumes/Shared/prefix-64/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/Volumes/Shared/prefix-64/var/tmp" PORTDIR="/Volumes/Shared/prefix-64/usr/portage" PORTDIR_OVERLAY="/Users/ramonvanalteren/sourcecode/gentoo/personal" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="aqua bash-completion bzip2 coreaudio cracklib cxx iconv ipv6 mmx mmxext modules ncurses nls objc objc++ pcre prefix python readline sse sse2 ssl unicode vim-syntax x64-macos zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="Darwin" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS With useflag minimal it works, without it fails: [ebuild R ] net-nds/openldap-2.4.19-r1 USE="berkdb ipv6 ssl -crypt -cxx -debug -experimental -gnutls -icu -iodbc -kerberos -minimal* -odbc -overlays -perl -samba -sasl (-selinux) -slp -smbkrb5passwd -syslog -tcpd" 0 kB Created attachment 277681 [details, diff]
Fix linking to define the missing symbols.
I'm not sure if this patch is OS-dependent. Can someone with a non OS-X prefix installation check that the patch doesn't break your build. Actually, without the patch I do not understand how the current ebuild could compile on any OS...
With this patch, you will still get an "invalid install_name found":
* QA Notice: invalid self-reference install_name libaddrdnvalues-plugin.so in /Users/wking/Gentoo/usr/lib/openldap/openldap/libaddrdnvalues-plugin.so
* ERROR: net-nds/openldap-2.4.21 failed:
* invalid install_name found, your application or library will crash at runtime
*
* Call stack:
* misc-functions.sh, line 1707: Called install_qa_check
* misc-functions.sh, line 187: Called install_qa_check_macho
* misc-functions.sh, line 986: Called die
* The specific snippet of code:
* hasq allow_broken_install_names ${FEATURES} || \
* die "invalid install_name found, your application or library will crash at runtime"
but everything looks right to me:
$ otool -L /Users/wking/Gentoo/var/tmp/portage/net-nds/openldap-2.4.21/image/Users/wking/Gentoo/usr/lib/openldap/openldap/libaddrdnvalues-plugin.so
/Users/wking/Gentoo/var/tmp/portage/net-nds/openldap-2.4.21/image/Users/wking/Gentoo/usr/lib/openldap/openldap/libaddrdnvalues-plugin.so:
libaddrdnvalues-plugin.so (compatibility version 0.0.0, current version 0.0.0)
/Users/wking/Gentoo/usr/lib/libslapi-2.4.2.dylib (compatibility version 8.0.0, current version 8.4.0)
/Users/wking/Gentoo/usr/lib/libldap-2.4.2.dylib (compatibility version 8.0.0, current version 8.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.10)
so installing with `FEATURES="allow_broken_install_names"` should work fine. If someone with a better understanding of OS X linking than I could chip in with a recipe for fixing the install_name issue, that would be great!
you basically need -install_name ${EPREFIX}/usr/$(get_libdir)/openldap/openldap/libaddrdnvalues-plugin.so to be added to the ${CC} command to get the "soname" right Fixed upstream since |