First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 126774
Alias:
Product:
Component:
Status: RESOLVED
Resolution: INVALID
Assigned To: AMD64 Project <amd64@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Sebastiaan <s.breedveld@erasmusmc.nl>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
1.2.7_p1-fpic-fix.patch 1.2.7_p1-fpic-fix.patch patch Ahmed Ammar 2006-08-21 16:25 0000 4.30 KB Details | Diff
mpich-1.2.7_p1.ebuild mpich-1.2.7_p1.ebuild (modified) text/plain Ahmed Ammar 2006-08-21 16:26 0000 4.05 KB Details
mpich-1.2.7_p1.ebuild Mpich ebuild that fixed lack of shared libraries text/plain Adam Carheden 2008-04-28 16:43 0000 4.39 KB Details
1.2.7_p1-fix-sharedlib-breakage.patch fixes failure to create libmpich.so.1.0 patch Adam Carheden 2008-04-28 16:46 0000 786 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 126774 depends on: Show dependency tree
Bug 126774 blocks: 130381
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2006-03-19 03:05 0000
Hi,

I have been trying to compile VTK-5 on amd64 (see bug #123178), but the
compilation fails when trying to link with libmpich.a:

Linking CXX shared library ../bin/libvtkParallel.so
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/usr/X11R6/lib64/libmpich.a(isend.o): relocation R_X86_64_32 against `a local
symbol' can not be used when making a shared object; recompile with -fPIC
/usr/X11R6/lib64/libmpich.a: could not read symbols: Bad value
collect2: ld returned 1 exit status

When I build mpich with -fPIC I have no problems. This is only a problem on
amd64, i386 works fine.

Greetz,
Sebastiaan

------- Comment #1 From Ahmed Ammar 2006-08-21 16:25:21 0000 -------
Created an attachment (id=94810) [details]
1.2.7_p1-fpic-fix.patch

Fixed some Makefile.in files to build needed libs with -fPIC.

------- Comment #2 From Ahmed Ammar 2006-08-21 16:26:24 0000 -------
Created an attachment (id=94811) [details]
mpich-1.2.7_p1.ebuild (modified)

------- Comment #3 From Simon Stelling (RETIRED) 2006-09-02 06:00:27 0000 -------
This is not a bug in mpich. vtk tries to link the .a against the shared
library, which is a no-go. vtk should either build static libs too or not link
against mpich I guess. Either way, as vtk is not keyworded ~amd64 at all, this
bug is not an issue for Gentoo, you should take it upstream.

------- Comment #4 From Adam Carheden 2008-04-28 16:39:55 0000 -------
(In reply to comment #3)
> This is not a bug in mpich. vtk tries to link the .a against the shared
> library, which is a no-go. vtk should either build static libs too or not link
> against mpich I guess. Either way, as vtk is not keyworded ~amd64 at all, this
> bug is not an issue for Gentoo, you should take it upstream.
> 

I had the same issue and ended up solving it both by compiling mpich with -fPIC
(both FFLAGS and CFLAGS) and making some symbols static in src/misc2/darray.c.
I won't claim my solutions is the "correct" because the gory details of
position independent code are far too boring to thoroughly understand, but I
did end up with libmpich.so, while the ebuild in portage fails to produce it
(the @#$* mpich makefile fails silently).

An modified ebuild and patch will be attached shortly. 

Also, I added a sharedlib use flag, so if you use my ebuild, don't forget to
compile with that.

Finally, I'm getting (and fixing) the same problem on both x86 and amd64, so I
don't think it's limited to amd64.

------- Comment #5 From Adam Carheden 2008-04-28 16:43:09 0000 -------
Created an attachment (id=151252) [details]
Mpich ebuild that fixed lack of shared libraries

Patches mpich bug on some symbols that should be static, adds -fPIC to CFLAGS
and FFLAGS, and fixes sharedlibdir in /etc/mpich/mpichlib.conf

------- Comment #6 From Adam Carheden 2008-04-28 16:46:34 0000 -------
Created an attachment (id=151254) [details]
fixes failure to create libmpich.so.1.0

Makes MPIOI_Type_block and MPIOI_Type_cyclic static. Without this, mpich files
to make libmpich.so.1.0. Worse yet, the makefile doesn't bother to exit with
error, so make thinks everything is hunky dory. Let this be a lesson to all you
makers out there: always '&&', never ';'

First Last Prev Next    No search results available      Search page      Enter new bug