Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 88110 - HDF5 (sci-libs/hdf5) on AMD64 needs LAM MPI (sys-cluster/lam-mpi) compiled with -fPIC in order to have parallel support.
Summary: HDF5 (sci-libs/hdf5) on AMD64 needs LAM MPI (sys-cluster/lam-mpi) compiled wi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 All
: High normal (vote)
Assignee: Gentoo Cluster Team
URL: http://www.lam-mpi.org
Whiteboard:
Keywords: InVCS
Depends on: 95994
Blocks: 88112
  Show dependency tree
 
Reported: 2005-04-05 18:50 UTC by Octavio Ruiz (Ta^3)
Modified: 2010-09-10 19:00 UTC (History)
1 user (show)

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


Attachments
4450-hdf5-1.6.4.log (4450-hdf5-1.6.4.log,428.36 KB, text/plain)
2005-04-05 18:51 UTC, Octavio Ruiz (Ta^3)
Details
lam-mpi-7.1.1.ebuild (lam-mpi-7.1.1.ebuild,1.43 KB, text/plain)
2005-04-05 18:51 UTC, Octavio Ruiz (Ta^3)
Details
lam-mpi-7.1.1.patch (lam-mpi-7.1.1.patch,571 bytes, patch)
2005-04-05 22:22 UTC, Octavio Ruiz (Ta^3)
Details | Diff
Enable build of liblammpio.so with PIC (lam-mpi-7.1.1-shared-romio.patch,1.17 KB, patch)
2005-05-11 13:03 UTC, Danny van Dyk (RETIRED)
Details | Diff
Enable build of liblammpio.so with PIC (lam-mpi-7.1.1-shared-romio.patch,1.28 KB, patch)
2005-05-15 14:19 UTC, Danny van Dyk (RETIRED)
Details | Diff
Enable build of liblammpio.so with PIC (lam-mpi-7.1.1-shared-romio.patch,1.39 KB, patch)
2005-05-16 08:04 UTC, Octavio Ruiz (Ta^3)
Details | Diff
lam-mpi-7.1.1-shared-romio.patch-22062.out (lam-mpi-7.1.1-shared-romio.patch-22062.out,4.56 KB, text/plain)
2005-05-16 08:13 UTC, Octavio Ruiz (Ta^3)
Details
/var/tmp/portage/hdf5-1.6.4/work/hdf5-1.6.4/config.log (config.log,28.46 KB, text/plain)
2005-05-16 09:14 UTC, Octavio Ruiz (Ta^3)
Details
Enable build of liblammpio.so with PIC (includes ADIO objects now) (lam-mpi-7.1.1-shared-romio.patch,10.28 KB, patch)
2005-08-14 19:36 UTC, Danny van Dyk (RETIRED)
Details | Diff
Enable build of liblammpio.so with PIC (includes ADIO objects now) (lam-mpi-7.1.1-shared-romio.patch,10.28 KB, patch)
2005-08-14 20:14 UTC, Danny van Dyk (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Octavio Ruiz (Ta^3) 2005-04-05 18:50:05 UTC
HDF5 (sci-libs/hdf5) on AMD64 needs LAM MPI (sys-cluster/lam-mpi) compiled with -fPIC  in order to have parallel support.
Comment 1 Octavio Ruiz (Ta^3) 2005-04-05 18:51:28 UTC
Created attachment 55418 [details]
4450-hdf5-1.6.4.log

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld:
/usr/lib64/liblammpio.a(close.o): relocation R_X86_64_32 against `a local
symbol' can not be used when making a shared object; recompile with -fPIC
Comment 2 Octavio Ruiz (Ta^3) 2005-04-05 18:51:59 UTC
Created attachment 55419 [details]
lam-mpi-7.1.1.ebuild
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2005-04-05 19:51:20 UTC
Could you please attach a patch against the current ebuild rather than a full ebuild, using `diff -u`?
Comment 4 Octavio Ruiz (Ta^3) 2005-04-05 22:22:44 UTC
Created attachment 55434 [details, diff]
lam-mpi-7.1.1.patch

Sure I can. :-)
Comment 5 Danny van Dyk (RETIRED) gentoo-dev 2005-04-07 13:03:19 UTC
The proposed patch is not acceptable. lam-mpi builds several executables
and also, a static library (in this case liblampio.a) should never be built
with PIC. Instead we need a patch to create both a static and a shared version
of mpiolib.

The best way would probably be to libtoolize the buildsystem of romio/lib-mpio...
Comment 6 Simon Stelling (RETIRED) gentoo-dev 2005-04-09 02:52:51 UTC
Comment on attachment 55434 [details, diff]
lam-mpi-7.1.1.patch

see comment #5
Comment 7 Simon Stelling (RETIRED) gentoo-dev 2005-04-09 02:53:00 UTC
Comment on attachment 55419 [details]
lam-mpi-7.1.1.ebuild

see comment #5
Comment 8 Danny van Dyk (RETIRED) gentoo-dev 2005-05-11 13:03:08 UTC
Created attachment 58688 [details, diff]
Enable build of liblammpio.so with PIC

Attached patch work fine for me to
a) build liblammpio.so
b) compile HDF5-1.6.5 with USE="mpi" against lam-mpi-7.1.1

Donnie: May I commit ? Do you have contact to upstream ?
Comment 9 Donnie Berkholz (RETIRED) gentoo-dev 2005-05-11 15:56:56 UTC
+	$(CC) $(CFLAGS) -fPIC -DPIC -c -o shared/$@ $<

Seems like you should just be sticking the PIC stuff into a variable instead of tacking it on like this: SOCFLAGS, SHAREDLIBCFLAGS, whatever.

I do have some contact with upstream, but they're working on openmpi now. 7.1.2 of lam-mpi is being worked on and will likely be the last release, ever. So if something needs to get upstream, better do it quick.
Comment 10 Danny van Dyk (RETIRED) gentoo-dev 2005-05-15 14:19:02 UTC
Created attachment 58973 [details, diff]
Enable build of liblammpio.so with PIC

Ok, new version of the patch for review. I added PICFLAGS for the objects and
SOFLAGS for linking the shared object.
Comment 11 Danny van Dyk (RETIRED) gentoo-dev 2005-05-15 14:56:48 UTC
Patch commited for lam-mpi-7.1.1 and marked stable as well. This should fix this
BUG.
Comment 12 Octavio Ruiz (Ta^3) 2005-05-16 08:04:57 UTC
Created attachment 59019 [details, diff]
Enable build of liblammpio.so with PIC
Comment 13 Octavio Ruiz (Ta^3) 2005-05-16 08:06:03 UTC
>>> Unpacking source...
>>> Unpacking lam-7.1.1.tar.bz2 to /var/tmp/portage/lam-mpi-7.1.1/work
 * Applying lam-mpi-7.1.1-shared-romio.patch ...

 * Failed Patch: lam-mpi-7.1.1-shared-romio.patch !
 *  ( /usr/portage/sys-cluster/lam-mpi/files/lam-mpi-7.1.1-shared-romio.patch )
 *
 * Include in your bugreport the contents of:
 *
 *   /var/tmp/portage/lam-mpi-7.1.1/temp/lam-mpi-7.1.1-shared-romio.patch-13929.out


!!! ERROR: sys-cluster/lam-mpi-7.1.1 failed.
!!! Function epatch, Line 358, Exitcode 0
!!! Failed Patch: lam-mpi-7.1.1-shared-romio.patch!
!!! If you need support, post the topmost build error, NOT this status message.
Comment 14 Octavio Ruiz (Ta^3) 2005-05-16 08:13:30 UTC
Created attachment 59021 [details]
lam-mpi-7.1.1-shared-romio.patch-22062.out

Using patch in Attachment #59019 [details, diff] instead of the one in the tree works here.
Comment 15 Octavio Ruiz (Ta^3) 2005-05-16 09:12:10 UTC
HDF5 (sci-libs/hdf5) still can not be compiled with mpi support (mpi USE): Now the mpicc can not create executables... 


# emerge hdf5
Calculating dependencies  ...done!
>>> emerge (1 of 1) sci-libs/hdf5-1.6.4 to /
>>> md5 files   ;-) hdf5-1.6.2.ebuild
>>> md5 files   ;-) hdf5-1.6.4.ebuild
>>> md5 files   ;-) files/digest-hdf5-1.6.2
>>> md5 files   ;-) files/digest-hdf5-1.6.4
>>> md5 src_uri ;-) hdf5-1.6.4.tar.gz
>>> Unpacking source...
>>> Unpacking hdf5-1.6.4.tar.gz to /var/tmp/portage/hdf5-1.6.4/work
>>> Source unpacked.
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking shell variables initial values... done
checking if tr works... yes
checking if basename works... yes
checking if xargs works... yes
checking for cached host... none
checking for sizeof hsize_t and hssize_t... large
checking for config x86_64-unknown-linux-gnu... no
checking for config x86_64-unknown-linux-gnu... no
checking for config unknown-linux-gnu... no
checking for config unknown-linux-gnu... no
checking for config x86_64-linux-gnu... no
checking for config x86_64-linux-gnu... no
checking for config x86_64-unknown... no
checking for config linux-gnu... found
compiler '/usr/bin/mpicc' is GNU gcc-3.4.320050110
checking for config ./config/site-specific/host-avalancha... no
checking for gcc... /usr/bin/mpicc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

!!! ERROR: sci-libs/hdf5-1.6.4 failed.
!!! Function src_compile, Line 43, Exitcode 77
!!! configure failed
!!! If you need support, post the topmost build error, NOT this status message.
Comment 16 Octavio Ruiz (Ta^3) 2005-05-16 09:14:25 UTC
Created attachment 59023 [details]
/var/tmp/portage/hdf5-1.6.4/work/hdf5-1.6.4/config.log
Comment 17 Donnie Berkholz (RETIRED) gentoo-dev 2005-05-16 11:41:58 UTC
configure:2150: /usr/bin/mpicc -O2 -march=athlon64 -fomit-frame-pointer -pipe -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wpadded -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wmultichar -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch   conftest.c  >&5
conftest.c:13: warning: function declaration isn't a prototype
conftest.c: In function `main':
conftest.c:13: warning: old-style parameter declaration
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Malloc_request'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Get_eof_offset'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Ftable_max'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Reqtable_ptr'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Shfp_fname'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_Init'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_DFLT_ERR_HANDLER'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_Close'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_Init_keyval'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_Set_shared_fp'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Set_lock'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Reqtable'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Free_fn'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Get_position'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Ftable_ptr'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_Open'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Reqtable_max'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Realloc_fn'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Get_byte_offset'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Datatype_iscontig'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_End_call'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_Get_shared_fp'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Ftable'
/usr/lib64/liblammpio.so: undefined reference to `ADIO_ResolveFileType'
/usr/lib64/liblammpio.so: undefined reference to `ADIOI_Malloc_fn'
collect2: ld returned 1 exit status
Comment 18 Danny van Dyk (RETIRED) gentoo-dev 2005-07-06 02:25:06 UTC
Ok, it seems we need ADI libraries also built as shared objects. I'll try to sit
down tonight and add that to the patch. Sorry for all the inconvenience/borkage
:-/
Comment 19 Michael Imhof (RETIRED) gentoo-dev 2005-07-28 15:11:51 UTC
Danny: fixed?
Comment 20 Danny van Dyk (RETIRED) gentoo-dev 2005-08-14 19:36:35 UTC
Created attachment 65985 [details, diff]
Enable build of liblammpio.so with PIC (includes ADIO objects now)

Ok, new patch, new look...

This one works fine for me, but that isn't really significant. Please test and
report back.
Comment 21 Danny van Dyk (RETIRED) gentoo-dev 2005-08-14 20:14:45 UTC
Created attachment 65986 [details, diff]
Enable build of liblammpio.so with PIC (includes ADIO objects now)

Whoops, attached wrong version of the patch which had a small typo :-)
Comment 22 Danny van Dyk (RETIRED) gentoo-dev 2005-08-14 20:31:21 UTC
Fix is in CVS now as sys-cluster/lam-mpi-7.1.1-r3.