Summary: | sys-cluster/openmpi mangles --param options in CFLAGS | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | vladimir15 |
Component: | Current packages | Assignee: | Justin Bronder (RETIRED) <jsbronder> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | cluster, ryao, the.paraw, vityokster, xmw |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=646910 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 402095 | ||
Attachments: |
build.log
config.log config.log config.log |
Description
vladimir15
2011-10-14 20:30:24 UTC
Package Settings ================================================================= sys-cluster/openmpi-1.4.2 was built with the following: USE="cxx fortran ipv6 threads -heterogeneous -mpi-threads -pbs -romio -vt" CFLAGS="-march=prescott -O2 -pipe" CXXFLAGS="-march=prescott -O2 -pipe" Please attach your build.log as well as config.log as mentioned in the error messages by portage. Created attachment 289987 [details]
build.log
Created attachment 289995 [details]
config.log
Same problem for me. Logs at http://omega359.info/openmpi-build.log and http://omega359.info/openmpi-config.log Sorry about incorrect information. The CFLAGS used were not in fact "-O2 -pipe", but "-O2 -pipe -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=1024" as output by "gcc any.c -v -march=native". Easing up on the flags fixes configuration problems. Interestingly, -march=native is OK, even though it internally expands to the above flags. (In reply to comment #6) > Sorry about incorrect information. The CFLAGS used were not in fact "-O2 > -pipe", > but "-O2 -pipe -march=prescott --param l1-cache-size=32 --param > l1-cache-line-size=64 --param l2-cache-size=1024" > as output by "gcc any.c -v -march=native". > Easing up on the flags fixes configuration problems. > > Interestingly, -march=native is OK, even though it > internally expands to the above flags. As shown in attached and link build.log files, some part of the build process is stripping all but the first "--param" from the flags. Perhaps it is some flawed attempt to remove duplicate flags. The error is something in the build, not an actual compilation error (march=native is not expanded anywhere except internally to gcc). Removing the second --param l1* and --param l2* would probably compile successfully (though I have not tested it). Exact same thing happens here. Created attachment 301543 [details]
config.log
*** Bug 409817 has been marked as a duplicate of this bug. *** I can reproduce this issue on ppc64-linux. I am marking it as confirmed. Feel free to ping me on freenode with test requests and/or questions. I am in #gentoo-dev. Same problem... Portage 2.1.10.49 (default/linux/amd64/10.0/desktop/gnome, gcc-4.5.3, glibc-2.14.1-r3, 3.2.12-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.2.12-gentoo-x86_64-Intel-R-_Core-TM-_i5-2400_CPU_@_3.10GHz-with-gentoo-2.1 Timestamp of tree: Mon, 04 Jun 2012 08:30:01 +0000 app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.3-r1, 3.2.3 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.9.8.4::pentoo sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r3 Repositories: gentoo sunrise pentoo sabayon elementary ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA AdobeFlash-10.3 google-chrome" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -mcx16 -msahf -maes -mpclmul -mpopcnt -mavx --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=core2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=core2 -mcx16 -msahf -maes -mpclmul -mpopcnt -mavx --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=core2" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs ccache distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms sign strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/pentoo /var/lib/layman/sabayon /var/lib/layman/elementary" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi aiglx alsa amd64 aoss asf berkdb bindist branding bzip2 cairo cdda cdr cli colord consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr eds emboss encode evo exif fam firefox flac fortran gdbm gif glitz gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv ipv6 java jpeg lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg mudflap multilib nautilus ncurses networkmanager new-login nls nptl nsplugin ogg opengl openmp pam pango pcmcia pcre pdf png policykit ppds pppd pulseaudio qt3support readline scsi sdl session socialweb spell sqlite sse sse2 ssl startup-notification svg symlink tcpd threads tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid 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 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="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" 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="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="x86_64 arm i386 mips mips64 mips64el mipsel ppc ppc64 sparc sparc64" QEMU_USER_TARGETS="arm i386 mips mipsel ppc ppc64 sparc sparc64 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON Created attachment 314531 [details]
config.log
openmpi-1.4.3 config.log
I have the similar problem with sys-cluster/openmpi-1.10.2: *** Fortran compiler checking for x86_64-pc-linux-gnu-gfortran... x86_64-pc-linux-gnu-gfortran checking whether we are using the GNU Fortran compiler... yes checking whether x86_64-pc-linux-gnu-gfortran accepts -g... yes configure: WARNING: Open MPI now ignores the F77 and FFLAGS environment variables; only the FC and FCFLAGS environment variables are used. checking whether ln -s works... yes checking if Fortran compiler works... yes checking for extra arguments to build a shared library... none needed checking for Fortran flag to compile .f files... none checking for Fortran flag to compile .f90 files... none checking to see if Fortran compilers need additional linker flags... none checking external symbol convention... single underscore checking if C and Fortran are link compatible... yes checking to see if Fortran compiler likes the C++ exception flags... skipped (no C++ exceptions flags) checking to see if mpifort compiler needs additional linker flags... none checking if Fortran compiler supports CHARACTER... yes checking size of Fortran CHARACTER... 1 checking for C type corresponding to CHARACTER... char checking alignment of Fortran CHARACTER... 1 checking for corresponding KIND value of CHARACTER... C_SIGNED_CHAR checking KIND value of Fortran C_SIGNED_CHAR... 1 checking if Fortran compiler supports LOGICAL... yes checking size of Fortran LOGICAL... 4 checking for C type corresponding to LOGICAL... int checking alignment of Fortran LOGICAL... 4 checking for corresponding KIND value of LOGICAL... C_INT checking KIND value of Fortran C_INT... 4 checking if Fortran compiler supports LOGICAL*1... yes checking size of Fortran LOGICAL*1... 1 checking for C type corresponding to LOGICAL*1... char checking alignment of Fortran LOGICAL*1... 1 checking for corresponding KIND value of LOGICAL*1... C_SIGNED_CHAR checking KIND value of Fortran C_SIGNED_CHAR... (cached) 1 checking if Fortran compiler supports LOGICAL*2... yes checking size of Fortran LOGICAL*2... 2 checking for C type corresponding to LOGICAL*2... short checking alignment of Fortran LOGICAL*2... 2 checking for corresponding KIND value of LOGICAL*2... C_SHORT checking KIND value of Fortran C_SHORT... 2 checking if Fortran compiler supports LOGICAL*4... yes checking size of Fortran LOGICAL*4... 4 checking for C type corresponding to LOGICAL*4... int checking alignment of Fortran LOGICAL*4... 4 checking for corresponding KIND value of LOGICAL*4... C_INT checking KIND value of Fortran C_INT... (cached) 4 checking if Fortran compiler supports LOGICAL*8... yes checking size of Fortran LOGICAL*8... 8 checking for C type corresponding to LOGICAL*8... long long checking alignment of Fortran LOGICAL*8... 8 checking for corresponding KIND value of LOGICAL*8... C_LONG_LONG checking KIND value of Fortran C_LONG_LONG... 8 checking if Fortran compiler supports INTEGER... yes checking size of Fortran INTEGER... 4 checking for C type corresponding to INTEGER... int checking alignment of Fortran INTEGER... 4 checking for corresponding KIND value of INTEGER... C_INT checking KIND value of Fortran C_INT... (cached) 4 checking if Fortran compiler supports INTEGER*1... yes checking size of Fortran INTEGER*1... 1 checking for C type corresponding to INTEGER*1... char checking alignment of Fortran INTEGER*1... 1 checking for corresponding KIND value of INTEGER*1... C_SIGNED_CHAR checking KIND value of Fortran C_SIGNED_CHAR... (cached) 1 checking if Fortran compiler supports INTEGER*2... yes checking size of Fortran INTEGER*2... 2 checking for C type corresponding to INTEGER*2... short checking alignment of Fortran INTEGER*2... 2 checking for corresponding KIND value of INTEGER*2... C_SHORT checking KIND value of Fortran C_SHORT... (cached) 2 checking if Fortran compiler supports INTEGER*4... yes checking size of Fortran INTEGER*4... 4 checking for C type corresponding to INTEGER*4... int checking alignment of Fortran INTEGER*4... 4 checking for corresponding KIND value of INTEGER*4... C_INT checking KIND value of Fortran C_INT... (cached) 4 checking if Fortran compiler supports INTEGER*8... yes checking size of Fortran INTEGER*8... 8 checking for C type corresponding to INTEGER*8... long long checking alignment of Fortran INTEGER*8... 8 checking for corresponding KIND value of INTEGER*8... C_LONG_LONG checking KIND value of Fortran C_LONG_LONG... (cached) 8 checking if Fortran compiler supports INTEGER*16... yes checking size of Fortran INTEGER*16... 16 checking for C type corresponding to INTEGER*16... not found configure: WARNING: *** Did not find corresponding C type checking for corresponding KIND value of INTEGER*16... 0 checking KIND value of Fortran 0... 0 configure: WARNING: Compiler INTEGER*16 and mismatch; MPI datatype unsupported checking if Fortran compiler supports REAL... yes checking size of Fortran REAL... 4 checking for C type corresponding to REAL... float checking alignment of Fortran REAL... 4 checking for corresponding KIND value of REAL... C_FLOAT checking KIND value of Fortran C_FLOAT... 4 checking if Fortran compiler supports REAL*2... no checking if Fortran compiler supports REAL*4... yes checking size of Fortran REAL*4... 4 checking for C type corresponding to REAL*4... float checking alignment of Fortran REAL*4... 4 checking for corresponding KIND value of REAL*4... C_FLOAT checking KIND value of Fortran C_FLOAT... (cached) 4 checking if Fortran compiler supports REAL*8... yes checking size of Fortran REAL*8... 8 checking for C type corresponding to REAL*8... double checking alignment of Fortran REAL*8... 8 checking for corresponding KIND value of REAL*8... C_DOUBLE checking KIND value of Fortran C_DOUBLE... 8 checking if Fortran compiler supports REAL*16... yes checking size of Fortran REAL*16... 16 checking for C type corresponding to REAL*16... long double checking alignment of Fortran REAL*16... 16 checking for corresponding KIND value of REAL*16... C_LONG_DOUBLE checking KIND value of Fortran C_LONG_DOUBLE... 10 checking for C type matching bit representation of REAL*16... pending checking if long double == REAL*16... no checking if gnu compiler __float128 == REAL*16... Could not determine if REAL*16 bit-matches C type does not work checking for C type matching bit representation of REAL*16... no configure: WARNING: MPI_REAL16 and MPI_COMPLEX32 support have been disabled checking if Fortran compiler supports DOUBLE PRECISION... yes checking size of Fortran DOUBLE PRECISION... configure: WARNING: Could not determine size of DOUBLE PRECISION configure: WARNING: See config.log for details configure: error: Cannot continue If I remove --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 from FCFLAGS then sys-cluster/opnempi-1.10.2 compiles fine. *** Bug 585442 has been marked as a duplicate of this bug. *** *** Bug 324697 has been marked as a duplicate of this bug. *** Still an issue in 2.0.1 though it looks like there have been attempts to fix this in the past. https://github.com/open-mpi/ompi/issues/324 Also 2.0.2. |