Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 540508 - sci-libs/hdf5-1.8.14-r1 - mpif90 .../work/hdf5-1.8.14/fortran/testpar/ptest.f90: mpif-config.h:6: Illegal preprocessor directive - Error: Invalid character in name at (1)
Summary: sci-libs/hdf5-1.8.14-r1 - mpif90 .../work/hdf5-1.8.14/fortran/testpar/ptest.f...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Kacper Kowalik (Xarthisius) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-18 14:17 UTC by Juergen Rose
Modified: 2015-02-21 11:41 UTC (History)
2 users (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 Juergen Rose 2015-02-18 14:17:31 UTC
'emerge hdf5' fails with:
...
make[2]: Entering directory '/var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14_build/fortran/testpar'
mpif90 -I/var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14/fortran/src -I/var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14/fortran/test -I../../fortran/src -I../../fortran/test -O2 -pipe -c -o ptest.o  /var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14/fortran/testpar/ptest.f90
Warning: mpif-config.h:6: Illegal preprocessor directive
Warning: mpif-config.h:7: Illegal preprocessor directive
...
Warning: mpif-sentinels.h:44: Illegal preprocessor directive
mpif-config.h:1.1:
    Included at mpif.h:54:
    Included at /var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14/fortran/testpar/ptest.f90:23:

/* This file is auto-generated by multilib-build.eclass
 1
Error: Invalid character in name at (1)
mpif-config.h:2.2:
    Included at mpif.h:54:
    Included at /var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14/fortran/testpar/ptest.f90:23:

 * as a multilib-friendly wrapper. For the original content,
  1
Error: Invalid character in name at (1)
mpif-config.h:3.2:
...
    Included at mpif.h:60:
    Included at /var/tmp/portage/sci-libs/hdf5-1.8.14-r1/work/hdf5-1.8.14/fortran/testpar/ptest.f90:23:

/* This file is auto-generated by multilib-build.eclass
 1
Error: Invalid character in name at (1)
Fatal Error: Error count reached limit of 25.
Makefile:770: recipe for target 'ptest.o' failed
make[2]: *** [ptest.o] Error 1


I find two mpif-config.h on my systems:

root@impala:/root(50)# ll /usr/include/mpif-config.h /usr/include/x86_64-pc-linux-gnu/mpif-config.h
-rw-r--r-- 1 root root 1532 Feb 17 08:56 /usr/include/mpif-config.h
-rw-r--r-- 1 root root 2711 Feb 17 08:56 /usr/include/x86_64-pc-linux-gnu/mpif-config.h

The first looks normal:

root@impala:/root(52)# head  /usr/include/mpif-config.h
/* This file is auto-generated by multilib-build.eclass
 * as a multilib-friendly wrapper. For the original content,
 * please see the files that are #included below.
 */

#if defined(__x86_64__) /* amd64 */
#       if defined(__ILP32__) /* x32 ABI */
#               error "abi_x86_x32 not supported by the package."
#       else /* 64-bit ABI */
#               include <x86_64-pc-linux-gnu/mpif-config.h>


The seconds looks strange for a C-header file:
root@impala:/root(53)# head /usr/include/x86_64-pc-linux-gnu/mpif-config.h
! -*- fortran -*-
!
! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
!                         University Research and Technology
!                         Corporation.  All rights reserved.
! Copyright (c) 2004-2005 The University of Tennessee and The University
!                         of Tennessee Research Foundation.  All rights
!                         reserved.
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
!                         University of Stuttgart.  All rights reserved.




root@impala:/root(46)# emerge --info '=sci-libs/hdf5-1.8.14-r1::gentoo'
Portage 2.2.17 (python 2.7.9-final-0, default/linux/amd64/13.0, gcc-4.9.2, glibc-2.20-r2, 3.19.0-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.19.0-gentoo-x86_64-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.2
KiB Mem:     8163668 total,    929464 free
KiB Swap:   50331640 total,  50230960 free
Timestamp of repository gentoo: Wed, 18 Feb 2015 08:00:01 +0000
sh bash 4.3_p33-r1
ld GNU ld (Gentoo 2.25 p1.0) 2.25
app-shells/bash:          4.3_p33-r1::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r2::gentoo, 3.3.5-r1::gentoo, 3.4.2::gentoo
dev-util/cmake:           3.1.0::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.13.9::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25::gentoo
sys-devel/gcc:            4.9.2::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage_impala
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

g-cpan
    location: /var/lib/cpan
    masters: gentoo
    priority: 1

g-octave
    location: /var/lib/g-octave
    masters: gentoo
    priority: 2

sage-on-gentoo
    location: /var/lib/layman/sage-on-gentoo
    masters: gentoo
    priority: 50

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 50

sunrise
    location: /var/lib/layman/sunrise
    masters: gentoo
    priority: 50

x11
    location: /var/lib/layman/x11
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype-4.0.0.7-copyright googleearth AdobeFlash-11.x cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA NVIDIA-CUDA Nero-AAC-EULA GIMPS"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/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=amdfam10 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="3dnow 3dnowext 64bit R X Xaw3d a52 aac accessibility acl acpi admin afs alsa amd64 ao apache2 apng applet archive armadillo arpack asf aspell atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth bluray boost bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli cmake cracklib crypt css cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia dirac djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras faac faad fam ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpm fpx fuse g3dvl gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp git glade glib glpk gml gmp gnome gnome-keyring gnome-print gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gsm gstreamer gtk gtk3 gudev guile hddtemp hdf hdf5 hdri html http httpd hvm hwdb iconv icq icu id3tag ide imagemagick imap inotify introspection ipod ipv6 ithreads jabber jadetex java java6 jbig jit john jpeg jpeg2k kate kde kdepim kdrive kerberos keymap kpathsea kvm ladspa lame lapack latex lcms ldap lensfun libffi libkms libnotify libsamplerate live lm_sensors lua lzma lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mkl mmx mmxext mng mod modules mono motif mozilla mp3 mp4 mpeg mpi mplayer mtp multilib multimedia musepack musicbrainz mysql mysqli nautilus ncurses netcdf netpbm network networking nfs nls nntp nptl nsplugin ntfs ntp numpy obex objc ocaml ocr octave odbc ofa ogdi ogg openexr opengl openmp openvg pam pango pcre pda pdf pdl2 perl plasma plotutils plugins png podcast policykit portaudio posix postgres postscript ppds preview-latex proj projectm pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime raw readline reiserfs reports rle romio rpc rrdcgi rrdtool sage samba sasl schroedinger science sdk sdl secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets sound soup sox speex spell sql sqlite sse sse2 sse4 sse4a ssl stlport subtitles subversion sudo suexec svg svm swig systemd szip t1lib tcl tcpd tex tex4ht texmacs theora thesaurus threads thunderbird tidy tiff tk tools truetype udev udisks unicode usb utempter v4l vaapi vala valgrind vdpau video virt-network virtualbox visio vorbis vpx vtk wav webdav webdav-serf webkit wmf wxwidgets x264 xa xattr xcb xetex xext xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zvbi" ABI_X86="64" 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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" CURL_SSL="nss" DRACUT_MODULES="caps lvm mdraid 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 ublox ubx" INPUT_DEVICES="keyboard mouse evdev void" KERNEL="linux" LCD_DEVICES="cfontz hd44780 mtxorb ncurses X lcd2usb lcdlinux png usblcd" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de fr ru" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nouveau displaylink" 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

=================================================================
                        Package Settings
=================================================================

sci-libs/hdf5-1.8.14-r1::gentoo was built with the following:
USE="examples fortran mpi szip zlib -cxx -debug -fortran2003 -static-libs -threads" ABI_X86="64"




root@impala:/root(47)# emerge -pqv '=sci-libs/hdf5-1.8.14-r1::gentoo'
[ebuild   R   ] sci-libs/hdf5-1.8.14-r1  USE="examples fortran mpi szip zlib -cxx -debug -fortran2003 -static-libs -threads"
Comment 1 Juergen Rose 2015-02-18 14:19:13 UTC
BTW., /usr/include/x86_64-pc-linux-gnu/mpif-config.h comes from openmpi-1.8.4-r2:

root@impala:/root(55)# genlop -t openmpi | tail

     Wed Feb  4 12:27:58 2015 >>> sys-cluster/openmpi-1.8.4
       merge time: 8 minutes and 57 seconds.

     Fri Feb  6 08:53:00 2015 >>> sys-cluster/openmpi-1.8.4-r1
       merge time: 15 minutes and 21 seconds.

     Tue Feb 17 08:57:04 2015 >>> sys-cluster/openmpi-1.8.4-r2
       merge time: 11 minutes and 48 seconds.
Comment 2 Juergen Rose 2015-02-18 14:50:00 UTC
openmpi-1.8.4-r2 came form the science overlay; After masking >=openmpi-1.8.4-r2 and reinstalling openmpi-1.8.4-r1 the next 'emerge -ptv1 hdf5' wants to remove openmpi completely and install sys-cluster/mpich:

root@impala:/root(63)# MAKEOPTS=-j1 emerge -ptv1 hdf5

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R    ] sci-libs/hdf5-1.8.14-r1:0/1.8.14::gentoo  USE="examples fortran mpi szip zlib -cxx -debug -fortran2003 -static-libs -threads" 0 KiB
[ebuild  N     ]  virtual/mpi-2.0-r4::science  USE="cxx fortran romio threads" ABI_X86="(64) -32 (-x32)" 0 KiB
[nomerge       ] sci-mathematics/freemat-4.2::gentoo  USE="volpack vtk" 
[nomerge       ]  sci-libs/vtk-6.1.0-r1::gentoo  USE="R X boost cg doc ffmpeg gdal java mpi mysql odbc postgres python qt4 rendering smp tbb tcl theora tk -all-modules (-aqua) -examples -imaging -json -kaapi -offscreen {-test} -views -web -xdmf2" PYTHON_TARGETS="python2_7" VIDEO_CARDS="-nvidia" 
[nomerge       ]   virtual/mpi-2.0-r4::science  USE="cxx fortran romio threads" ABI_X86="(64) -32 (-x32)" 
[nomerge       ]    sys-cluster/mpich-3.1.3-r1::science  USE="cxx doc fortran romio threads -mpi-threads" ABI_X86="(64) -32 (-x32)" 
[blocks b      ]     sys-cluster/openmpi ("sys-cluster/openmpi" is blocking sys-cluster/mpich-3.1.3-r1)
[uninstall     ]      sys-cluster/openmpi-1.8.4-r1::gentoo  USE="cxx fortran ipv6 romio threads -cma -cuda -heterogeneous -mpi-threads -vt" OPENMPI_FABRICS="-knem -ofed -open-mx -psm" OPENMPI_OFED_FEATURES="-connectx-xrc -control-hdr-padding -dynamic-sl -failover -rdmacm -udcm" OPENMPI_RM="-pbs -slurm" 
[ebuild  N     ]    sys-cluster/mpich-3.1.3-r1::science  USE="cxx doc fortran romio threads -mpi-threads" ABI_X86="(64) -32 (-x32)" 11,219 KiB


I would appreciate any hint, how I can handle this issue. I do not want to install mpich.
Comment 3 Juergen Rose 2015-02-18 15:06:18 UTC
If I also mask sys-cluster/mpich and sys-cluster/mpich2, 'emerge -ptv1 hdf5' wants now to install sys-cluster/mvapich2. But at least it will not to remove openmpi:

root@impala:/root(67)# MAKEOPTS=-j1 emerge -ptv1 hdf5

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R    ] sci-libs/hdf5-1.8.14-r1:0/1.8.14::gentoo  USE="examples fortran mpi szip zlib -cxx -debug -fortran2003 -static-libs -threads" 0 KiB
[ebuild  N     ]  virtual/mpi-2.0-r4::science  USE="cxx fortran romio threads" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ]   sys-cluster/mvapich2-1.6-r1::science  USE="fortran romio threads -debug -large-cluster -medium-cluster" 22,696 KiB
[ebuild  N     ]    sys-infiniband/libibmad-1.3.11:3.12::gentoo  21,539 KiB
[ebuild  N     ]    sys-infiniband/librdmacm-1.0.18:3.12::gentoo  0 KiB
[ebuild  N     ]    sys-infiniband/libibumad-1.3.9:3.12::gentoo  0 KiB
[ebuild  N     ]     sys-infiniband/libibverbs-1.1.7:3.12::gentoo  0 KiB
Comment 4 Juergen Rose 2015-02-18 15:13:13 UTC
And 'MAKEOPTS=-j1 emerge -tv1 hdf5' then fails emerging sys-cluster/mvapich2.
Why does sci-libs/hdf5 no more work with openmpi? I don't need this infiniband stuff.
Comment 5 Juergen Rose 2015-02-18 15:36:55 UTC
Removing the the mpi USE flag from hdf5 does not help either. If I try this I get slot conflict with several other packages:
root@impala:/root(71)# MAKEOPTS=-j1 emerge -ptv1 hdf5

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R    ] sci-libs/hdf5-1.8.14-r1:0/1.8.14::gentoo  USE="examples fortran szip zlib -cxx -debug -fortran2003 -mpi* -static-libs -threads" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sci-libs/hdf5:0

  (sci-libs/hdf5-1.8.14-r1:0/1.8.14::gentoo, ebuild scheduled for merge) pulled in by
    sci-libs/hdf5 (Argument)

  (sci-libs/hdf5-1.8.14-r1:0/1.8.14::gentoo, installed) pulled in by
    sci-libs/hdf5:0/1.8.14=[mpi,szip,zlib] required by (sci-libs/netcdf-4.3.2-r1:0/7::gentoo, installed)
                            ^^^
    sci-libs/hdf5:0/1.8.14=[mpi] required by (dev-python/h5py-2.4.0:0/0::gentoo, installed)
                            ^^^
    sci-libs/hdf5:=[mpi=] required by (dev-python/h5py-2.4.0:0/0::gentoo, installed)
                    ^^^^
    >=sci-libs/hdf5-1.8.0:=[mpi?] required by (media-libs/vigra-1.10.0:0/0::gentoo, installed)
                            ^^^^
    sci-libs/hdf5:0=[mpi=,szip=,zlib] required by (sci-libs/netcdf-4.3.2-r1:0/7::gentoo, installed)
                     ^^^^
    sci-libs/hdf5[mpi=] required by (sci-visualization/paraview-4.2.0-r1:0/0::gentoo, installed)
                  ^^^^                                                                                                              
It might be possible to solve this slot collision
by applying all of the following changes:
   - sci-libs/hdf5-1.8.14-r1 (Change USE: +mpi)
Comment 6 Juergen Rose 2015-02-20 11:21:52 UTC
Nothing is changed with [science-overkay]sys-cluster/openmpi-1.8.4-r3.
Comment 7 François Bissey 2015-02-20 11:31:14 UTC
I have been discussing this problem as a github issue https://github.com/gentoo-science/sci/issues/372 look it up for an explanation of what's going on.
Comment 8 Christoph Junghans (RETIRED) gentoo-dev 2015-02-20 16:57:22 UTC
I added a workaround, please re-emerge openmpi.
Comment 9 Juergen Rose 2015-02-21 11:41:25 UTC
(In reply to Christoph Junghans from comment #8)
> I added a workaround, please re-emerge openmpi.

Thanks Christoph for the workaround, it works now for me.