Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 296790 - sci-libs/gdal-1.6.* fails to emerge because of undefined reference to MPI::..
Summary: sci-libs/gdal-1.6.* fails to emerge because of undefined reference to MPI::..
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Steve Arnold
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 302621
  Show dependency tree
 
Reported: 2009-12-13 22:06 UTC by Juergen Rose
Modified: 2010-02-27 03:07 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
orca://var/tmp/portage/sci-libs/gdal-1.6.3/temp/build.log (build.log,490.11 KB, text/plain)
2010-02-16 08:57 UTC, Juergen Rose
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2009-12-13 22:06:35 UTC
'emerge gdal' fails with:
...
i686-pc-linux-gnu-g++ -Wl,-O1 gdalinfo.o  -L/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2 -lgdal  -L/usr/lib -lgeos_c -I/usr/include -lsqlite3 -lodbc -lodbcinst -L/usr/lib -lexpat -L/usr/lib -lxerces-c -lpthread -ljasper -lhdf5 -L/usr/lib -L/usr/lib/lib -logdi31 -ljpeg -lgeotiff -ltiff -lpng -lnetcdf -lcfitsio -lpq -L/usr/lib/postgresql-8.4/lib -lpq -lz -lpthread -lm -lrt -ldl    -lcurl -lldap -lrt -lz -lgnutls   -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto -o gdalinfo
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `ompi_mpi_cxx_op_intercept'
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `MPI::Datatype::Free()'
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `MPI::Comm::Comm()'
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `MPI::Win::Free()'
collect2: ld returned 1 exit status
make[1]: *** [gdalinfo] Error 1

Perhaps it has the same reason as Bug#: 296518.
Comment 1 Juergen Rose 2009-12-13 22:08:49 UTC
inspironM12 ~ # emerge --info  =sci-libs/gdal-1.6.2
Portage 2.1.7.13 (default/linux/x86/10.0/desktop, gcc-4.4.2, glibc-2.11-r1, 2.6.32-gentoo i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.32-gentoo-i686-Intel-R-_Atom-TM-_CPU_Z520_@_1.33GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 13 Dec 2009 06:00:01 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.10
dev-lang/python:     2.5.4-r3, 2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.1.0_beta1
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.3
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.64
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j1"
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/x11 /usr/local/portage/layman/science /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi administrator afs alsa amrr ao aotuv apache2 asf aspell audacious audiofile automount bash-completion beagle berkdb bjam blas bluetooth boo boost branding bzip2 c++ cairo cardbus cdda cddb cdf cdio cdparanoia cdr cgi chm cli consolekit corba cracklib crypt cups curl cxx daap dbus device-mapper dga dia djvu doc dri ds2490 dts dv dvb dvd dvdr dvi dxr3 eds elf emacs emboss encode epiphany evo examples exif expat extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fuse galago garmin gd gdal gdbm geolocation geos gif gimp ginac git glade glib glitz gml gmp gnokii gnome gnome-keyring gnuplot gnutls gphoto2 gpm graphics graphviz gs gsl gsm gstreamer gtk guile hal hardened harness hddtemp hdf hdf5 hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb ipod ipv6 irda ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kde kerberos kexi kpathsea kvm ladspa lame lapack laptop latex lcms ldap libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo mad mail maildir mailwrapper math matroska mikmod mmx mmxext mng modules mono motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp pae pam pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python qhull qt3 qt3support qt4 quicktime readline reflection reiserfs rle romio rpc rrdcgi rrdtool samba sasl science sdl server session slang slp smbclient smp sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora threads thunar thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 virtualbox vorbis wav webdav webdav-serf webkit wifi win32codecs wmf wxwidgets x264 x86 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                evdev                synaptics               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel vesa" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

inspironM12 ~ # emerge -pqv =sci-libs/gdal-1.6.2
[ebuild  N    ] sci-libs/gdal-1.6.2  USE="curl doc fits geos gif gml hdf5 jpeg jpeg2k mysql netcdf odbc ogdi perl png postgres python sqlite threads -debug -ecwj2k -hdf -ruby" 
Comment 2 Juergen Rose 2009-12-19 11:03:37 UTC
The issue remains after 'emerge -vuDeN system'.
Comment 3 Juergen Rose 2009-12-24 09:44:10 UTC
'USE=-hdf5 emerge -vD gdal' reemerges netcdf and then gdal succesful.
Comment 4 Juergen Rose 2009-12-28 16:01:29 UTC
Switching from openmpi to mpich2 seems to solve the issue.
Comment 5 Sébastien Fabbro (RETIRED) gentoo-dev 2010-01-05 23:36:42 UTC
It looks like the same issue as bug #296518, probably an openmpi one.

*** This bug has been marked as a duplicate of bug 296518 ***
Comment 6 Juergen Rose 2010-02-14 22:34:45 UTC
Tested once more with openmpi-1.4.1. The same error still remaines:

x86_64-pc-linux-gnu-g++ -Wl,-O1 gdalinfo.o  -L/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2 -lgdal  -L/usr/lib64 -lgeos_c -I/usr/include -lsqlite3 -lodbc -lodbcinst -L/usr/lib -lexpat -L/usr/lib -lxerces-c -lpthread -ljasper -lhdf5 -L/usr/lib64 -L/usr/lib64/lib -logdi31 -ljpeg -lgeotiff -ltiff -lpng -lnetcdf -lcfitsio -lpq -L/usr/lib64/postgresql-8.3/lib64 -lpq -lz -lpthread -lm -lrt -ldl    -lcurl -lldap -lrt -L/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 -march=nocona -O2 -pipe -fomit-frame-pointer -g0 -Wno-system-headers -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -L/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 -march=nocona -O2 -pipe -fomit-frame-pointer -g0 -Wno-system-headers -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -lz -lgnutls   -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto -o gdalinfo
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `ompi_mpi_cxx_op_intercept'
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `MPI::Datatype::Free()'
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `MPI::Comm::Comm()'
/var/tmp/portage/sci-libs/gdal-1.6.2/work/gdal-1.6.2/libgdal.so: undefined reference to `MPI::Win::Free()'
collect2: ld returned 1 exit status
Comment 7 Sébastien Fabbro (RETIRED) gentoo-dev 2010-02-14 22:49:36 UTC
This package might need what has been discussed in bug #302621:
In pkg_setup, something like

use hdf5 && has_version sci-libs/hdf5[mpi] && export CC=mpicc CXX=mpicxx
Comment 8 Sébastien Fabbro (RETIRED) gentoo-dev 2010-02-14 22:50:19 UTC
oops, reopening.
Comment 9 Juergen Rose 2010-02-15 19:39:38 UTC
The patch of comment 7 work for me with gdal-1.6.2. Then came gdal-1.6.3 into the portage tree. I got the old error. So I tried the same patch for gdal-1.6.3. The old error disappeared, but now I get:
 

...
x86_64-pc-linux-gnu-gcc -c  -I../../gcore -I../../alg -I../../ogr -I../../port -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/port -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/gcore -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/alg -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/ogr -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/ogr/ogrsf_frmts -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=nocona -O2 -pipe -fomit-frame-pointer   -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" -fPIC "-I/usr/lib64/perl5/5.10.1/x86_64-linux-thread-multi/CORE"   gdal_wrap.cpp
gdal_wrap.cpp:1232: error: expected unqualified-id before string constant
gdal_wrap.cpp:1233: error: expected initializer before '*' token
gdal_wrap.cpp:1238: error: 'SwigPerlWrapperPtr' does not name a type
gdal_wrap.cpp: In function 'void _wrap_new_SavedEnv(PerlInterpreter*, CV*)':
gdal_wrap.cpp:3054: warning: format not a string literal and no format arguments
...
gdal_wrap.cpp:17562: warning: format not a string literal and no format arguments
gdal_wrap.cpp: At global scope:
gdal_wrap.cpp:17933: error: too many initializers for 'swig_command_info'
...
gdal_wrap.cpp:18176: error: 'struct swig_command_info' has no member named 'wrapper'
make[3]: *** [gdal_wrap.o] Error 1
Comment 10 Steve Arnold archtester gentoo-dev 2010-02-16 02:45:30 UTC
After comment #6, did you rebuild hdf5 after installing the newer openmpi-1.4.1?  I haven't worked with openmpi, but with mpich2 this kind of problem in the past has always boiled down to proper linking of the mpi library itself, as well as any intermediate libs (e.g., hdf5).

Since gdal itself knows nothing about mpi, a successful gdal build should be possible without any extra args (such as above) as long as *all* of the above shared libs (ie, libmpich*, libhdf5*) are linked correctly.  If ldd -r shows any unresolved symbols, then either the gdal build will fail, or something linking to gdal will fail.

Since even the latest gdal ebuild works fine with mpich2, I would consider this an openmpi bug unless there's something specific to mpich2 in gdal that we can make more generic.

Try running ldd -r on all of the hdf5 shared libs to verify there are no unresolved symbols.
Comment 11 Steve Arnold archtester gentoo-dev 2010-02-16 02:47:25 UTC
Sorry, that should be "something specific to mpich2 in hdf5 or some other lib..."
Comment 12 Juergen Rose 2010-02-16 08:47:26 UTC
Yes, I reemerge hdf5 after installing opnmpi. And I just did it once more with the command:
root@orca:/usr/local/portage/sci-libs/gdal(23)# emerge -v1 hdf5;  for l in /usr/lib/*hdf5*.so ; do echo "----------------------------  $l ----------------------" ; ldd -r $l ; done
...
----------------------------  /usr/lib/libhdf5.so ----------------------
        linux-vdso.so.1 =>  (0x00007fffca7ff000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fdb6c199000)
        libsz.so.2 => /usr/lib64/libsz.so.2 (0x00007fdb6bf85000)
        libz.so.1 => /lib/libz.so.1 (0x00007fdb6bd6e000)
        libm.so.6 => /lib/libm.so.6 (0x00007fdb6baed000)
        libmpich.so.1.2 => /usr/lib64/libmpich.so.1.2 (0x00007fdb6b72d000)
        libaio.so.1 => /usr/lib64/libaio.so.1 (0x00007fdb6b52a000)
        libc.so.6 => /lib/libc.so.6 (0x00007fdb6b1d1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdb6c8e4000)
        librt.so.1 => /lib/librt.so.1 (0x00007fdb6afc8000)
----------------------------  /usr/lib/libhdf5_fortran.so ----------------------
        linux-vdso.so.1 =>  (0x00007fffe0922000)
        libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00007fac0ad15000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fac0aab0000)
        libsz.so.2 => /usr/lib64/libsz.so.2 (0x00007fac0a89b000)
        libz.so.1 => /lib/libz.so.1 (0x00007fac0a685000)
        libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/libgfortran.so.3 (0x00007fac0a399000)
        libm.so.6 => /lib/libm.so.6 (0x00007fac0a117000)
        libmpichf90.so.1.2 => /usr/lib64/libmpichf90.so.1.2 (0x00007fac09f14000)
        libmpich.so.1.2 => /usr/lib64/libmpich.so.1.2 (0x00007fac09b54000)
        libaio.so.1 => /usr/lib64/libaio.so.1 (0x00007fac09951000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fac0973a000)
        libc.so.6 => /lib/libc.so.6 (0x00007fac093e1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fac0b43e000)
        librt.so.1 => /lib/librt.so.1 (0x00007fac091d7000)
----------------------------  /usr/lib/libhdf5_hl.so ----------------------
        linux-vdso.so.1 =>  (0x00007fff2d9ff000)
        libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00007f71e78c2000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f71e765d000)
        libsz.so.2 => /usr/lib64/libsz.so.2 (0x00007f71e7448000)
        libz.so.1 => /lib/libz.so.1 (0x00007f71e7232000)
        libm.so.6 => /lib/libm.so.6 (0x00007f71e6fb1000)
        libmpich.so.1.2 => /usr/lib64/libmpich.so.1.2 (0x00007f71e6bf0000)
        libaio.so.1 => /usr/lib64/libaio.so.1 (0x00007f71e69ee000)
        libc.so.6 => /lib/libc.so.6 (0x00007f71e6695000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f71e7fd6000)
        librt.so.1 => /lib/librt.so.1 (0x00007f71e648b000)
----------------------------  /usr/lib/libhdf5hl_fortran.so ----------------------
        linux-vdso.so.1 =>  (0x00007fff755ff000)
        libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x00007f17f4c37000)
        libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00007f17f4751000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f17f44ec000)
        libsz.so.2 => /usr/lib64/libsz.so.2 (0x00007f17f42d8000)
        libz.so.1 => /lib/libz.so.1 (0x00007f17f40c2000)
        libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/libgfortran.so.3 (0x00007f17f3dd5000)
        libm.so.6 => /lib/libm.so.6 (0x00007f17f3b54000)
        libmpichf90.so.1.2 => /usr/lib64/libmpichf90.so.1.2 (0x00007f17f3951000)
        libmpich.so.1.2 => /usr/lib64/libmpich.so.1.2 (0x00007f17f3590000)
        libaio.so.1 => /usr/lib64/libaio.so.1 (0x00007f17f338e000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f17f3177000)
        libc.so.6 => /lib/libc.so.6 (0x00007f17f2e1d000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f17f5076000)
        librt.so.1 => /lib/librt.so.1 (0x00007f17f2c14000)
undefined symbol: HD5packFstring        (/usr/lib/libhdf5hl_fortran.so)
undefined symbol: HD5f2cstring  (/usr/lib/libhdf5hl_fortran.so)

I.e., there are two undefined symbols in libhdf5hl_fortran.so. If I then try to install gdal with the patched gdal-1.6.3.ebuild, I get:

root@orca:/usr/local/portage/sci-libs/gdal(25)# emerge -v1 gdal

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

Calculating dependencies... done!
[ebuild     U ] sci-libs/gdal-1.6.3 [1.6.2] USE="curl doc fits geos gif gml hdf5 jpeg jpeg2k mysql netcdf odbc ogdi perl png postgres python sqlite threads -debug -ecwj2k -hdf -ruby" 0 kB [0=>1]

Total: 1 package (1 upgrade), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/local/portage
...
make[3]: Entering directory `/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/swig/perl'
cp lib/Geo/GDAL/Const.pm blib/lib/Geo/GDAL/Const.pm
cp lib/Geo/GDAL/Const.dox blib/lib/Geo/GDAL/Const.dox
cp lib/Geo/GDAL.dox blib/lib/Geo/GDAL.dox
cp lib/Geo/OGR.pm blib/lib/Geo/OGR.pm
cp lib/Geo/OSR.dox blib/lib/Geo/OSR.dox
cp lib/Geo/GDAL.pm blib/lib/Geo/GDAL.pm
cp lib/Geo/OSR.pm blib/lib/Geo/OSR.pm
cp lib/Geo/OGR.dox blib/lib/Geo/OGR.dox
x86_64-pc-linux-gnu-gcc -c  -I../../gcore -I../../alg -I../../ogr -I../../port -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/port -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/gcore -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gda
l-1.6.3/alg -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/ogr -I/var/tmp/portage/sci-libs/gdal-1.6.3/work/gdal-1.6.3/ogr/ogrsf_frmts -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSE
T_BITS=64 -march=core2 -msse4 -mcx16 -msahf -O2 -pipe   -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" -fPIC "-I/usr/lib64/perl5/5.10.1/x86_64-linux-thread-multi/CORE"   gdal_wrap.cpp
gdal_wrap.cpp:1232: error: expected unqualified-id before string constant
gdal_wrap.cpp:1233: error: expected initializer before '*' token
gdal_wrap.cpp:1238: error: 'SwigPerlWrapperPtr' does not name a type
...

Could it be that the error is due to the new perl-5.10.1?
Comment 13 Juergen Rose 2010-02-16 08:57:14 UTC
Created attachment 219871 [details]
orca://var/tmp/portage/sci-libs/gdal-1.6.3/temp/build.log
Comment 14 Juergen Rose 2010-02-16 08:58:14 UTC
root@orca:/usr/local/portage/sci-libs/gdal(34)# emerge --info =sci-libs/gdal-1.6.3
Portage 2.1.7.17 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11-r1, 2.6.32-gentoo-r3 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.32-gentoo-r3-x86_64-Intel-R-_Xeon-R-_CPU_W3520_@_2.67GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 16 Feb 2010 07:30:01 +0000
app-shells/bash:     4.1_p2
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.4-r1, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.0-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.32
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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 -mcx16 -msahf -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j1"
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="/var/lib/layman/science /var/lib/layman/x11 /var/lib/layman/zugaina /var/lib/layman/java-overlay /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit X Xaw3d a52 aac abiword acl acpi administrator afs alsa amd64 ao aotuv apache2 applets archive arpack asf aspell assistent atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth boo boost branding bzip2 c++ cairo cdda cddb cdf cdio cdparanoia cdr cdrkit cg cgi chm cli consolekit corba cracklib crypt css cuda cups curl cxx daap db dbase dbi dbm dbus designer devhelp device-mapper dga dia djvu doc dri ds2490 dts dvd dvdr dvi dxr3 eds elf emacs emboss empathy encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fts3 fuse galago garmin gcj gd gdal gdbm geolocation geos gif gimp ginac git glade glib glitz gml gmp gmtsuppl gnokii gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk guile hal harness hddtemp hdf hdf5 hdri hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kde kdrive kerberos kpathsea kqemu kvm lame lapack latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lm_sensors lua lzo mad mail maildir mailwrapper mapnik math matroska mikmod mkl mmx mmxext mng modules mono motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric nvidia obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp pae pam pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python qhull qt3support qt4 quicktime readline reflection reiserfs rle romio rpc rrdcgi rrdtool samba sasl science sdl secure-delete semantic-desktop server session sip slang slp smbclient smp sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora thinkpad threads thunar thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 virtualbox vorbis wav webdav webdav-serf webkit wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" 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               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 jruby" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau vesa" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



root@orca:/usr/local/portage/sci-libs/gdal(35)# emerge -pqv =sci-libs/gdal-1.6.3
[ebuild     U ] sci-libs/gdal-1.6.3 [1.6.2] USE="curl doc fits geos gif gml hdf5 jpeg jpeg2k mysql netcdf odbc ogdi perl png postgres python sqlite threads -debug -ecwj2k -hdf -ruby" 
Comment 15 Juergen Rose 2010-02-16 10:54:09 UTC
It seems me that the current problem:

gdal_wrap.cpp:1232: error: expected unqualified-id before string constant
gdal_wrap.cpp:1233: error: expected initializer before '*' token
gdal_wrap.cpp:1238: error: 'SwigPerlWrapperPtr' does not name a type

whith the patched ebuild is specific to gdal-1.6.3. At least I could emerged the patched gdal-1.6.2 in the current environment on two i686 and two x86_64 systems.
Comment 16 Sébastien Fabbro (RETIRED) gentoo-dev 2010-02-17 01:49:01 UTC
This is really a case of hdf5 compiled with mpi. Bug #302621 explains it as mentioned in comment #7.
Comment 17 Juergen Rose 2010-02-17 11:01:29 UTC
But the solution mentioned in comment #7 works only with gdal-1.6.2 and not with gdal-1.6.3.
Comment 18 Sébastien Fabbro (RETIRED) gentoo-dev 2010-02-17 15:32:43 UTC
(In reply to comment #17)
> But the solution mentioned in comment #7 works only with gdal-1.6.2 and not
> with gdal-1.6.3.
> 


The problem reported for 1.6.3 in comment #15 does not look mpi related and deserves another bug.
Comment 19 Juergen Rose 2010-02-17 17:43:23 UTC
That's true, I will open a new bug.
Comment 20 Steve Arnold archtester gentoo-dev 2010-02-27 03:07:21 UTC
Since gdal neither knows nor cares about mpi, this is not really a gdal bug at all.  As long as the all the libraries gdal links against are linked correctly, there are no linkage issues with gdal (or anything linking to gdal).  If openmpi doesn't work, file a bug on openmpi or try mpich2; I've worked with mpich2 for a while, so I test against that, but I don't have enough years left in my life to test against every possible user choice of virtual, etc (sorry).  Again, if you have this problem with any of the mpi packages, please file a bug on that package (as long as mpich2 works for me when I test gdal, it should work for you too).