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

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Wed Jun 18 08:02:05 EDT 2014


Maybe try building a shared version of MPI using flag
"--disable-static --enable-shared". If there the *.so files are
already there (since openmpi by default builds shared too,I think),
fix MPI_C_LIBRARIES, MPI_CXX_LIBRARIES and MPI_Fortran_LIBRARIES cmake
variables to point to the *.so variants on the MPI libraries instead
of the *.a versions.

On Wed, Jun 18, 2014 at 12:47 AM, Victor <victor.major at gmail.com> wrote:
> 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
> /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> 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> wrote:
>>>
>>> Can you post your CMakeCache.txt file?
>>>
>>> On Fri, May 30, 2014 at 2:40 AM, Victor <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
>>> > /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>
>>> > 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>
>>> >> 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
>>> >> >
>>> >> > 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
>>> >> >
>>> >
>>> >
>>
>>
>


More information about the ParaView mailing list