Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 362891 - dev-vcs/mercurial-1.8.2: Shouldn't try to build universal in non-universal prefix
Summary: dev-vcs/mercurial-1.8.2: Shouldn't try to build universal in non-universal pr...
Status: VERIFIED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All OS X
: Normal normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-10 16:36 UTC by Charles Davis
Modified: 2011-04-21 02:34 UTC (History)
2 users (show)

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


Attachments
Mercurial build log (build.log,35.41 KB, text/plain)
2011-04-10 16:37 UTC, Charles Davis
Details
do not try universal compile (no-universal.patch,925 bytes, patch)
2011-04-13 07:06 UTC, Qiangning Hong
Details | Diff
patch for mercurial-1.8.2.ebuild (mercurial-1.8.2.ebuild.patch,332 bytes, patch)
2011-04-13 07:09 UTC, Qiangning Hong
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Charles Davis 2011-04-10 16:36:24 UTC
It looks like as of version 1.8, Mercurial builds itself universal on Mac OS X, if it determines the compiler is Apple GCC (or compatible, such as Clang). Unfortunately, in a non-universal prefix (and right now, all Gentoo prefixes are non-universal), Gentoo's Apple GCC doesn't support building universal. This causes the Mercurial build to fail.

Log file will be attached.

Reproducible: Always

Steps to Reproduce:
1. emerge mercurial

Actual Results:  
Emerge fails due to Mercurial using -arch flags that Gentoo-built Apple GCC doesn't support.

Expected Results:  
Mercurial should build and install successfully.

Portage 2.2.01.18213-prefix (prefix/darwin/macos/10.6/x86, gcc-4.2.1, unavailable, 10.7.0 i386)
=================================================================
                        System Settings
=================================================================
System uname: Darwin-10.7.0-i386-32bit
Timestamp of tree: Sun, 10 Apr 2011 12:09:18 +0000
distcc 3.1-toolwhip.1 i386-apple-darwin10.0 [disabled]
app-shells/bash:     4.1_p7
dev-lang/python:     2.7.1-r1
dev-util/cmake:      2.8.3-r1
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-r1
sys-devel/make:      3.82
Repositories: gentoo_prefix
Installed sets: 
ACCEPT_KEYWORDS="~x86-macos"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-apple-darwin10"
CFLAGS="-O2 -pipe -march=core2"
CHOST="i686-apple-darwin10"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/portage /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=core2"
DISTDIR="/Users/chip/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_US.UTF-8"
LDFLAGS="-Wl,-dead_strip_dylibs"
MAKEOPTS="-j4"
PKGDIR="/Users/chip/Gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/Users/chip/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="/Users/chip/Gentoo/var/tmp"
PORTDIR="/Users/chip/Gentoo/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"
USE="aqua bash-completion berkdb bzip2 coreaudio cracklib crypt curl cxx dbus exceptions expat extensions gdbm gmp gnutls gpg gzip iconv icu ipv6 jbig jpeg libssh2 lzma lzo mmx mmxext mng modules mysql ncurses nls objc objc++ pch perl png prefix python qt3support readline ruby sasl sql sqlite3 sse sse2 ssl subversion tcl threads tiff tk truetype unicode vim-syntax x86-macos xml 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" 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

[ebuild     U ] dev-vcs/mercurial-1.8.2 [1.7.3] USE="bash-completion gpg tk -bugzilla -emacs -test -zsh-completion"
Comment 1 Charles Davis 2011-04-10 16:37:47 UTC
Created attachment 269319 [details]
Mercurial build log
Comment 2 Qiangning Hong 2011-04-13 07:06:43 UTC
Created attachment 269763 [details, diff]
do not try universal compile

The attached no-universal.patch dropped the universal compiling settings from setup.py.
Comment 3 Qiangning Hong 2011-04-13 07:09:08 UTC
Created attachment 269765 [details, diff]
patch for mercurial-1.8.2.ebuild

This is the patch for the mercurial-1.8.2.ebuild, to apply the previously no-universal.patch
Comment 4 Fabian Groffen gentoo-dev 2011-04-13 10:27:51 UTC
looking at your code patch (thanks very much!), I wonder whether simply executing the following sed will work as expected as well:

sed -i -e 's:xcodebuild:nocodebuild:' setup.py
Comment 5 Qiangning Hong 2011-04-15 02:14:34 UTC
(In reply to comment #4)
> looking at your code patch (thanks very much!), I wonder whether simply
> executing the following sed will work as expected as well:
> 
> sed -i -e 's:xcodebuild:nocodebuild:' setup.py

yes, i believe this simple way will work, too, and is better :)
Comment 6 Fabian Groffen gentoo-dev 2011-04-15 07:18:00 UTC
@maintainers: do you agree on adding the simple sed statement to prevent Mercurial's setup.py from doing things which won't necessarily work in our environment?
Comment 7 Dirkjan Ochtman (RETIRED) gentoo-dev 2011-04-15 07:32:46 UTC
Seems fine, go ahead.
Comment 8 Fabian Groffen gentoo-dev 2011-04-15 08:20:17 UTC
Thanks, committed to 1.8.2.  It'll take about an hour before the fix will reach the rsync slaves.

Thanks all for the input!
Comment 9 Charles Davis 2011-04-21 02:34:51 UTC
Thanks!