Scipy does not emerge, it just dies with an unrecognized command line option "-f" passed to the x86_64-pc-linux-gnu-gfortran compiler. Reproducible: Always Steps to Reproduce: emerge -av sci-libs/scipy Actual Results: Emerge just terminates unsuccessfully. Expected Results: To compile properly. It appears that the ebuild script passes a lot of unknown or obsolete options to the various Fortran compilers: Fortran f77 compiler: x86_64-pc-linux-gnu-gfortran Fortran f90 compiler: /opt/bin/f90
Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11.2-r0, 2.6.31-gentoo-r10 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.31-gentoo-r10-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-1.12.13 Timestamp of tree: Mon, 12 Jul 2010 17:15:02 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p37 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r2, 3.1.2-r3 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.3.4, 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -msse4 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=core2 -msse4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://ftp.dei.uc.pt/pub/linux/gentoo/ http://gentoo.wheel.sk/ http://mirror.ovh.net/gentoo-distfiles/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j12" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/wschlich-testing /usr/local/portage/layman/sunrise" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acl acpi alsa amd64 berkdb bzip2 cddb cli cracklib crypt cups cxx dbus djvu dri dvd dvdr firefox flac fortran gd gdbm gif gpm gstreamer hal iconv ipv6 jpeg laptop midi mmx modules motif mudflap multilib ncurses nls nptl nptlonly ntp opengl openmp pam pcre pdf perl png pppd python raw readline reflection session spl sse sse2 ssl svg sysfs tcl tcpd threads tiff tk truetype truetype-fonts type1-fonts unicode usb v4l vcd vim-syntax vorbis xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" 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 proxy" CAMERAS="canon nikon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia intel vga vesa fbdev" 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, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 238487 [details] output of emerge --info =sci-libs/scipy-0.7.2-r1
What exactly is that '/opt/bin/f90' ?
...AFAICT, build process dislikes mixing different brands of compilers - just a guess, but it's likely that those options are valid for the other one.
(In reply to comment #4) > ...AFAICT, build process dislikes mixing different > brands of compilers - just a guess, but it's likely > that those options are valid for the other one. > (In reply to comment #3) > What exactly is that '/opt/bin/f90' ? > /opt/bin/f90 is the Absoft 32-bit Fortran 95 compiler. If it just worked with x86_64-pc-linux-gnu-gfortran would be fine. Or perhaps one could add an appropiate USE flag...
numpy/scipy has a very sick fortran detection mechanism we are trying to bypass. if you have multiple fortran compilers, try FC=gfortran emerge scipy if it does not work, please post build log thanks.
(In reply to comment #6) > numpy/scipy has a very sick fortran detection mechanism we are trying to > bypass. > if you have multiple fortran compilers, try > FC=gfortran emerge scipy > if it does not work, please post build log > thanks. > I had tried this FC USE flag before (also with some other compilers). Unfortunately it doesn't work. I don't believe that there is a mixing of compilers, because with the previous version of scipy everything compiled flawlessly. Attached you find the build.log for C=gfortran emerge scipy.
(In reply to comment #7) > (In reply to comment #6) > > numpy/scipy has a very sick fortran detection mechanism we are trying to > > bypass. > > if you have multiple fortran compilers, try > > FC=gfortran emerge scipy > > if it does not work, please post build log > > thanks. > > > > I had tried this FC USE flag before (also with some other compilers). > Unfortunately it doesn't work. I don't believe that there is a mixing of > compilers, because with the previous version of scipy everything compiled > flawlessly. Attached you find the build.log for FC=gfortran emerge scipy. >
Created attachment 238595 [details] build.log for FC=gfortran emerge scipy
Not that I know much about python in general, scipy in particular, but looking at the used numpy files, I'd say that the relevant env vars are F77, F90 not FC (and yes, same files confirm, those commandline options ARE valid for that Absoft thingy).
I added a line to set the non standard F90 as well in the ebuild. Please re-emerge and let me know. If it still does not work, post your variables related to fortran that you may set up in your make.conf or elsewhere, i.e. F77, F90, FC, FFLAGS, F90FLAGS and FCFLAGS. Thanks
(In reply to comment #11) > I added a line to set the non standard F90 as well in the ebuild. Please > re-emerge and let me know. If it still does not work, post your variables > related to fortran that you may set up in your make.conf or elsewhere, i.e. > F77, F90, FC, FFLAGS, F90FLAGS and FCFLAGS. > Thanks > Perfect. Thank you! I am using now F77=ifort F90=ifort emerge scipy and compilation works fine. Specifying alternatively the gfortran flag also succeeds, although the Intel compiler presumably gives better (optimized) results.