Running a stable x86 system with a few packages testing-enabled (~x86), including xfoil. When xfoil was pulled in today, it fails to compile and generates the following output: >>> Emerging (1 of 1) sci-physics/xfoil-6.97 to / * dataflow.pdf RMD160 SHA1 SHA256 size ;-) ... [ ok ] * xfoil6.97.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking xfoil6.97.tar.gz ;-) ... [ ok ] * checking dataflow.pdf ;-) ... [ ok ] * You need one of these Fortran Compilers: gfortran ifc g77 * Installed are: gfortran >>> Unpacking source... >>> Unpacking xfoil6.97.tar.gz to /var/tmp/portage/sci-physics/xfoil-6.97/work >>> Unpacking dataflow.pdf to /var/tmp/portage/sci-physics/xfoil-6.97/work unpack dataflow.pdf: file format not recognized. Ignoring. * Applying xfoil-6.96-gfortran.patch ... [ ok ] * Applying xfoil-6.97-overflow.patch ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/sci-physics/xfoil-6.97/work/Xfoil ... f77 -c ../src/osgen.f make: f77: Command not found make: *** [osgen.o] Error 127 * * ERROR: sci-physics/xfoil-6.97 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2689: Called die * The specific snippet of code: * emake FLG="${FFLAGS}" FTNLIB="" OS || die "failed to build orrs"; * The die message: * failed to build orrs * * If you need support, post the topmost build error, and the call stack if relevant. Indeed, the f77 command is not found, as the only fortran compiler I currently have on the system is gfortran and it apparently doesn't install anything named f77, symlink or otherwise. I tried re-emerging gcc (after verifying the fortran use flag is enabled) and still no f77. It appears that even though the ebuild states that gfortran is sufficient, this is not the case. Adding an f77 symlink to gfortran generates a 'missing g77' from gcc-config and the build still fails. I'll try rebuilding with ifc and report back, but it appears that gfortran at least is not sufficient. Reproducible: Always Steps to Reproduce: 1.emerge -uDv xfoil 2.:-( 3. $ emerge --info Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25.14 i686) ================================================================= System uname: 2.6.25.14 i686 AMD Athlon(tm) XP 2600+ Timestamp of tree: Fri, 22 Aug 2008 16:49:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r14, 2.5.2-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /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/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US" LINGUAS="en_US" PKGDIR="/usr/portage/packages" 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" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow X a52 aac acl alsa apache2 audiofile berkdb blas bzip2 cli cracklib crypt css cups curl doc dri dts dv dvb dvd dvdr dvdread encode examples exif ffmpeg fftw flac foomaticdb fortran gcj gd gdbm gif gimp gimpprint glut graphviz gstreamer gtk gtk2 gtkhtml guile iconv idn ieee1394 imagemagick imlib ipv6 isdnlog jack java jbig joystick jpeg jpeg2k kde ladcca lcms mad mbox midi mikmod mmx mng motif mozbranding mozilla mp3 mpeg mudflap ncurses nls nocd nptl nptlonly nsplugin odbc ogg openal opengl openmp pam pcre pdf perl png posix postgres povray ppds pppd python quicktime readline reflection rtc samba scanner sdl session sockets sox spell spl sse ssl svg tcl tcpd tetex theora threads tiff tk truetype unicode usb v4l v4l2 vcd vorbis win32codecs wmf x86 xanim xine xinerama xml xorg xpm xv xvid zlib" ALSA_CARDS="via82xx" 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="vesa fbdev radeon vmware" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Well, I tried installing ifc (the binary turns out to be ifort not ifc btw). Then tried "FC="ifort" emerge -uDv xfoil". Nope. It still compiles plotlib with gfortran, then dies when linking because it can't find the gfortran library. If I go to the work directory, I can't compile orrs with 'FC="gfortran" make' as their are unknown command line options. I can get orrs to compile with 'FC="ifort" make'. Trying to compile plotlib with 'FC="ifort" make' doesn't work, as the Makefile includes make.config which has uncommented both Linux and SGI sections, and FC="gfortran" ends up being set no matter what. Commenting out the SGI section allows plotlib to build with ifort. When I then go into xfoil/bin and try 'FC="ifort" make' the build fails with: ld: ../plotlib/libPltDP.a: No such file: No such file or directory That is because the Makefile in xfoil/bin has both the single precision and double precision options commented, and the double precision option is the winner. Unfortunately, plotlib compiles the single-precision version of the library. Commenting out the double-precision section of the xfoil/bin/Makefile allows 'FC="ifort" make' to complete without error. There seem to be two problems here: 1) Systems with only gfortran won't compile due to some command line option issue in orrs. I haven't investigated this any deeper. 2) The ebuild script doesn't set up the makefiles properly no matter what compiler is used. Plotlib will always build with gfortran and single-precision, and xfoil will try to link to the double-precision plotlib. IMO the best option here is to modify the upstream makefiles and have patch files accompany the ebuild. It's late. I'll look into this more tomorrow.
It should be fixed in cvs. Please re-emerge after a sync. If it persists, re-open this bug. Thanks.