Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 373821 - dev-lang/perl-5.12.3-r1: configure fails on darwin11 due to nm check for fprintf in libc.dylib
Summary: dev-lang/perl-5.12.3-r1: configure fails on darwin11 due to nm check for fpri...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: AMD64 OS X
: Normal blocker (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-02 14:44 UTC by Kim Robertson
Modified: 2011-08-29 11:28 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 Kim Robertson 2011-07-02 14:44:54 UTC
configure fails on darwin11 due to check for fprintf in libc.dylib with nm.
MacPorts Perl has a changeset documenting the issue.
https://trac.macports.org/changeset/76831

The fix is to disable the use of nm.

I have tried to do this with no success. I am not familiar enough with the perl Configure script to work out what argument I should be passing to it. I tried putting -Dusenm=false after removing -Uusenm. I worked around the issue by making the build provide defaults and ask me the values.


Reproducible: Always

Steps to Reproduce:
1. Attempt to emerge perl (or as a dep of findutils)
2. Configure fails
Actual Results:  
Where is your C library? [/usr/lib/libc.dylib]  
Extracting names from the following files for later perusal:
	/usr/lib/libc.dylib
	/usr/lib/libdbm.dylib
	/usr/lib/libdl.dylib
	/usr/lib/libm.dylib
	/usr/lib/libutil.dylib
This may take a while................../opt/gentoo/usr/bin/nm didn't seem to work right. Trying /opt/gentoo/usr/bin/ar instead...
ar: /usr/lib/libc.dylib is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: /usr/lib/libc.dylib: Inappropriate file type or format
/opt/gentoo/usr/bin/ar didn't seem to work right.
Maybe this is a Cray...trying bld instead...
Configure: line 7732: bld: command not found
That didn't work either.  Giving up.
 * ERROR: dev-lang/perl-5.12.3-r1 failed (configure phase):
 *   Unable to configure
 * 
 * Call stack:
 *     ebuild.sh, line  62:  Called src_configure
 *   environment, line 2833:  Called die
 * The specific snippet of code:
 *       sh Configure -des -Duseshrplib -Darchname="${myarch}" -Dcc="$(tc-getCC)" -Doptimize="${CFLAGS}" -Dldflags="${LDFLAGS}" -Dprefix="${EPREFIX}"'/usr' -Dinstallprefix="${EPREFIX}"'/usr' -Dsiteprefix="${EPREFIX}"'/usr' -Dvendorprefix="${EPREFIX}"'/usr' -Dscriptdir="${EPREFIX}"'/usr/bin' -Dprivlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}" -Darchlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" -Dsitelib="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" -Dsitearch="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" -Dvendorlib="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" -Dvendorarch="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" -Dman1dir="${EPREFIX}"/usr/share/man/man1 -Dman3dir="${EPREFIX}"/usr/share/man/man3 -Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 -Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 -Dman1ext='1' -Dman3ext='3pm' -Dlibperl="${LIBPERL}" -Dlocincpth="${EPREFIX}"'/usr/include ' -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' -Duselargefiles -Dd_semctl_semun -Dcf_by='Gentoo' -Dmyhostname='localhost' -Dperladmin="${PORTAGE_ROOT_USER}@localhost" -Dinstallusrbinperl='n' -Ud_csh -Uusenm "${myconf[@]}" || die "Unable to configure"
 * 
 * If you need support, post the output of 'emerge --info =dev-lang/perl-5.12.3-r1',
 * the complete build log and the output of 'emerge -pqv =dev-lang/perl-5.12.3-r1'.
 * The complete build log is located at '/opt/gentoo/var/tmp/portage/dev-lang/perl-5.12.3-r1/temp/build.log'.
 * The ebuild environment file is located at '/opt/gentoo/var/tmp/portage/dev-lang/perl-5.12.3-r1/temp/environment'.
 * S: '/opt/gentoo/var/tmp/portage/dev-lang/perl-5.12.3-r1/work/perl-5.12.3'

Expected Results:  
Configure succeed, followed by compiling of perl.

My prefix is still being created. I have not yet completed it. So emerge --info might not be all that useful and I don't think it is needed due to the fix mentioned above. 

im@artemis /opt/gentoo $ emerge --info
Portage 2.2.01.18213-prefix (prefix/darwin/macos/10.7/x64, gcc-4.2.1, unavailable, 11.0.0 x86_64)
=================================================================
System uname: Darwin-11.0.0-x86_64-i386-64bit
Timestamp of tree: Sat, 02 Jul 2011 11:06:28 +0000
distcc 3.1-toolwhip.1 i386-apple-darwin11.0 [disabled]
app-shells/bash:     4.2_p10
sys-devel/autoconf:  2.68
sys-devel/automake:  1.11.1
sys-devel/gcc-config: 1.4.1-r00.2
sys-devel/libtool:   2.4-r01.1
sys-devel/make:      3.82
Repositories: gentoo_prefix
Installed sets: 
ACCEPT_KEYWORDS="~x64-macos"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-apple-darwin11"
CFLAGS="-march=nocona"
CHOST="x86_64-apple-darwin11"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS=""
DISTDIR="/opt/gentoo/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect distlocks fixlafiles fixpackages news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_NZ.UTF-8"
LDFLAGS="-Wl,-dead_strip_dylibs"
MAKEOPTS="-j3"
PKGDIR="/opt/gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/opt/gentoo/"
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="/opt/gentoo/var/tmp"
PORTDIR="/opt/gentoo/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"
USE="aqua coreaudio cracklib cxx mmx mmxext modules ncurses objc objc++ prefix readline sse sse2 ssl 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 cgi cgid 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" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="Darwin" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Fabian Groffen gentoo-dev 2011-08-21 07:56:38 UTC
I cannot reproduce this.  Is this on the released OS X Lion?  Or on GM or any of the betas?
Comment 2 Kim Robertson 2011-08-27 05:18:00 UTC
This should have been on DP4 but might have been the GM. Tomorrow I will rebuild the prefix and see if it still a problem.
Comment 3 Kim Robertson 2011-08-29 11:28:02 UTC
The GM of Lion correctly sets up the use of nm.

<snip>
Shall I use /opt/gentoo/usr/bin/nm to extract C symbols from the libraries?
[n] 
<snip>