[Paraview] Cannot compile 4.1 on Ubuntu 12.04 x64 with OpenMPI 1.8.1

Wadud Miah w.miah at qmul.ac.uk
Thu Jun 19 11:41:15 EDT 2014


Hello Victor,

I think you need to link it with the shared MPI library, i.e. libmpi.so, and not the static library. You need to specify the shared object file during cmake.

Regards,
Wadud.

From: ParaView [mailto:paraview-bounces at paraview.org] On Behalf Of Victor
Sent: 18 June 2014 05:47
To: Utkarsh Ayachit
Cc: ParaView
Subject: Re: [Paraview] Cannot compile 4.1 on Ubuntu 12.04 x64 with OpenMPI 1.8.1

I still cannot compile Paraview. I attempted to recompile openmpi-1.8.1 with fPIC but something is causing either the fPIC to be set incorrectly or I am doing something wrong. In any case I am completely stuck so I would really appreciate some help in traversing this error:

Linking CXX shared library ../../../lib/libvtkParallelMPI-pv4.1.so<http://libvtkParallelMPI-pv4.1.so>
/usr/bin/ld: /opt/openmpi-1.8.1/lib/libmpi.a(comm_init.o): relocation R_X86_64_32 against `ompi_comm_f_to_c_table' can not be used when making a shared object; recompile with -fPIC
/opt/openmpi-1.8.1/lib/libmpi.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/libvtkParallelMPI-pv4.1.so.1] Error 1
make[1]: *** [VTK/Parallel/MPI/CMakeFiles/vtkParallelMPI.dir/all] Error 2
make: *** [all] Error 2


The latest openmpi configure command was: ./configure --with-sge --with-mx=/opt/open-mx --with-pic --with-mx-libdir=/opt/open-mx/lib --prefix=/opt/openmpi-1.8.1

I also attempted to manually set -fPIC flag by editing the Makefile and by setting a global CCFLAG. Nothing worked.


On 31 May 2014 07:35, Victor <victor.major at gmail.com<mailto:victor.major at gmail.com>> wrote:
Here it is, I hope. I never attempted to attach anything to a mailing list post so I apologize if it doesn't actually attach.

On 30 May 2014 20:07, Utkarsh Ayachit <utkarsh.ayachit at kitware.com<mailto:utkarsh.ayachit at kitware.com>> wrote:
Can you post your CMakeCache.txt file?

On Fri, May 30, 2014 at 2:40 AM, Victor <victor.major at gmail.com<mailto:victor.major at gmail.com>> wrote:
> Thank you for the fast reply!
>
> I compiled an alternative openmpi-1.8.1 with -fPIC flag (I verified that it
> was placed into the Makefile), removed the original Paraview build
> directory, modified the Paraview build configuration by rerunning ccmake to
> point to the alternative openmpi path, but the error remained.
>
> During Paraview compilation the alternative path for openmpi-1.8.1 is used
> until it comes to the linking step where it attempts to link to the system
> wide openmpi-1.8.1 location and of course fails.
>
> Linking CXX shared library ../../../lib/libvtkParallelMPI-pv4.1.so<http://libvtkParallelMPI-pv4.1.so>
> /usr/bin/ld: /opt/openmpi-1.8.1/lib/libmpi_cxx.a(intercepts.o): relocation
> R_X86_64_32S against `ompi_mpi_cxx_comm_throw_excptn_fctn' can not be used
> when making a shared object; recompile with -fPIC
> /opt/openmpi-1.8.1/lib/libmpi_cxx.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[2]: *** [lib/libvtkParallelMPI-pv4.1.so.1] Error 1
> make[1]: *** [VTK/Parallel/MPI/CMakeFiles/vtkParallelMPI.dir/all] Error 2
> make: *** [all] Error 2
>
>
> I cannot (will not) overwrite the system wide openmpi as I have a parallel
> job running at the moment (CFD simulation) and this node is acting as a head
> node serving openmpi from an NFS shared directory. I am confident that the
> application will not need to call on openmpi now that it is already running,
> but I'd rather not find out that I am wrong.
>
> Thus is there a way to force the Paraview installer to link against an
> alternative build that was compiled with -fPIC?
>
> Thanks,
>
> Victor
>
>
> On 29 May 2014 18:37, Utkarsh Ayachit <utkarsh.ayachit at kitware.com<mailto:utkarsh.ayachit at kitware.com>> wrote:
>>
>> You'll have to recompile openmpi with -fPIC or link against a shared
>> build of the same.
>>
>> On Thu, May 29, 2014 at 5:06 AM, Victor <victor.major at gmail.com<mailto:victor.major at gmail.com>> wrote:
>> > I am trying to compile Paraview 4.1 with MPI support but make exits at
>> > this
>> > point:
>> >
>> > /usr/bin/ld: /opt/openmpi-1.8.1/lib/libmpi.a(comm_init.o): relocation
>> > R_X86_64_32 against `ompi_comm_f_to_c_table' can not be used when making
>> > a
>> > shared object; recompile with -fPIC
>> > /opt/openmpi-1.8.1/lib/libmpi.a: could not read symbols: Bad value
>> > collect2: ld returned 1 exit status
>> > make[2]: *** [lib/libvtkParallelMPI-pv4.1.so.1] Error 1
>> > make[1]: *** [VTK/Parallel/MPI/CMakeFiles/vtkParallelMPI.dir/all] Error
>> > 2
>> > make: *** [all] Error 2
>> >
>> > How can I fix this error?
>> >
>> > Thanks,
>> >
>> > Victor
>> >
>> > _______________________________________________
>> > Powered by www.kitware.com<http://www.kitware.com>
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Please keep messages on-topic and check the ParaView Wiki at:
>> > http://paraview.org/Wiki/ParaView
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://www.paraview.org/mailman/listinfo/paraview
>> >
>
>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20140619/d8b2e5dc/attachment.html>


More information about the ParaView mailing list