Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 235501 - sci-physics/xfoil-6.97 - make: f77: Command not found
Summary: sci-physics/xfoil-6.97 - make: f77: Command not found
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-23 05:20 UTC by Bob Johnson
Modified: 2008-08-23 11:45 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 Bob Johnson 2008-08-23 05:20:37 UTC
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
Comment 1 Bob Johnson 2008-08-23 07:16:30 UTC
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.

Comment 2 Sébastien Fabbro (RETIRED) gentoo-dev 2008-08-23 11:45:01 UTC
It should be fixed in cvs. Please re-emerge after a sync. If it persists, re-open this bug. Thanks.