[Beowulf] Compiling mpiJava on Amd64
Kozin, I (Igor)
i.kozin at dl.ac.uk
Wed Jul 19 05:57:02 PDT 2006
-o stands for the object you are creating instead of the default.
You should not have removed -o because
otherwise you are trying to link in ../../lib/libmpijava.so
which is obviously not there. You have to add -fPIC to the compiler
(eg to CFLAGS) and make sure all the objects you are using
(eg in the mpi libraries) are coming from *.so or have been compiled
with -fPIC.
> -----Original Message-----
> From: beowulf-bounces at beowulf.org
> [mailto:beowulf-bounces at beowulf.org]On
> Behalf Of Byrne, Michael J
> Sent: 18 July 2006 20:56
> To: beowulf at beowulf.org
> Subject: [Beowulf] Compiling mpiJava on Amd64
>
>
> The error is coming up when I run Make. After the .class
> files are compiled and the .c files are compiled, it tries to
> make the shared object "libmpijava.so."
>
> The default for mpiJava was creating the shared object using
> the -o flag. I get an error that says:
> relocation R_X86_64_32 can not be used when making a shared
> object; recompile with -fPIC
>
> When I edit the makefile to change the flag from -o to -fPIC
> and try Make again, no error is thrown, but the .so is not
> found. Here is the command and error:
>
> /usr/bin/mpicc -shared -fPIC ../../lib/libmpijava.so \
> -L/usr/lib64/MPICH/p4/gnu <list of .o's>
> gcc: ../../lib/libmpijava.so: No such file or directory
>
>
> It seems like it might be a problem in the mpicc script
> passing to the gcc, but there isn't anything in the mpicc
> script except building the args together.
> Has anyone else had this problem, or is experienced with
> compiling .so's?
>
> Michael
>
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe)
> visit http://www.beowulf.org/mailman/listinfo/beowulf
>
More information about the Beowulf
mailing list