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:[email protected]] 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 <[email protected]<mailto:[email protected]>> 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 <[email protected]<mailto:[email protected]>> wrote: Can you post your CMakeCache.txt file? On Fri, May 30, 2014 at 2:40 AM, Victor <[email protected]<mailto:[email protected]>> 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 > <[email protected]<mailto:[email protected]>> 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 >> <[email protected]<mailto:[email protected]>> 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 >> > > >
_______________________________________________ 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://public.kitware.com/mailman/listinfo/paraview
