[Paraview] Building on Titan using ParaViewSuperbuild

Hong Yi hongyi at renci.org
Wed Sep 11 09:35:39 EDT 2013


Hi Mark,

Yes, I discovered the same thing yesterday. The reason is that CMake picks up /usr/bin/c++ and /usr/bin/cc automatically which are symlinked to g++-4.3 and gcc-4.3 on Titan. I tried to change CMAKE_C++_COMPILER and CMAKE_C_COMPILER manually through ccmake, however, the changes did not get populated down to subdirectories such as Catalyst sub-directory for some reason. After I manually corrected them over all CMakeCache.txt files down in every subdirectories, FortranCInterface can build successfully. I am currently building cross stage also. Hopefully this is it.

Thanks,
Hong

From: Vanmoer, Mark W [mailto:mvanmoer at illinois.edu]
Sent: Tuesday, September 10, 2013 6:43 PM
To: Hong Yi; Vanmoer, Mark W; David E DeMarle
Cc: paraview at paraview.org
Subject: RE: [Paraview] Building on Titan using ParaViewSuperbuild

Hi Hong and David,

I was able to get FortranCInterface to build in the tools directory. Even though we were doing module load gcc, CMake was picking up $CC and $CXX as gcc 4.3.4, instead of gcc 4.7.2 like it should have. The fix is to do as in configcross.sh and export CC and CXX,

So my configtools.sh is now

# from David DeMarle
# system CMake is too old
export PATH=/ccs/home/vanmoer/builds/byhand/CMake/2.8.11.2/bin:$PATH
#switch compiler to compile for front end
module unload PrgEnv-pgi
module load gcc
export CC=/opt/gcc/4.7.2/bin/gcc
export CXX=/opt/gcc/4.7.2/bin/g++
#configure settings to build compile tools only

cmake \
-DCROSS_BUILD_STAGE:STRING=TOOLS -Dcross_target:STRING=xk7_gnu \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DBUILD_TESTING:BOOL=FALSE \
-DParaView_FROM_GIT:BOOL=OFF \
-DENABLE_paraview:BOOL=TRUE \
-DENABLE_boost:BOOL=TRUE \
-DENABLE_python:BOOL=TRUE \
-DENABLE_portfwd:BOOL=FALSE \
../ParaViewSuperbuild

I just started a cross compile based on that and will report back when that finishes.
Mark


From: Hong Yi [mailto:hongyi at renci.org]
Sent: Tuesday, September 10, 2013 4:11 PM
To: Vanmoer, Mark W; David E DeMarle
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: RE: [Paraview] Building on Titan using ParaViewSuperbuild

Thanks, Mark. It is good to know it is not only me having this problem. I found if I remove "-L/usr/lib64/gcc/x86_64-suse-linux/4.3  -L/usr/x86_64-suse-linux/lib" from the build line, I can successfully build FortranCInterface. So the question now becomes how I can remove those two lib paths within CMake so that it can build FortranCInterface and set corresponding flags correctly. Let me know if anybody has some pointers on how to do that within CMake.

Thanks,
Hong

From: Vanmoer, Mark W [mailto:mvanmoer at illinois.edu]
Sent: Tuesday, September 10, 2013 2:47 PM
To: Hong Yi; David E DeMarle; Vanmoer, Mark W
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: RE: [Paraview] Building on Titan using ParaViewSuperbuild

I have the same errors in my CMakeError.log, if I understand what's going on right, those symbols are defined in libgcc_s.so in the same directory, and so that lib isn't being linked?

Mark

From: Hong Yi [mailto:hongyi at renci.org]
Sent: Tuesday, September 10, 2013 1:21 PM
To: David E DeMarle; Vanmoer, Mark W
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: RE: [Paraview] Building on Titan using ParaViewSuperbuild

Hi David,

I found FortranCInterface was not built even in the first TOOLS pass. Here are the errors I am getting from CMakeError.log:

-----------------
/opt/gcc/4.7.2/bin/gfortran      CMakeFiles/FortranCInterface.dir/main.F.o CMakeFiles/FortranCInterface.dir/call_sub.f.o CMakeFiles/FortranCInterface.dir/call_mod.f90.o  -o FortranCInterface  -L/usr/lib64/gcc/x86_64-suse-linux/4.3  -L/usr/x86_64-suse-linux/lib -rdynamic libsymbols.a libmyfort.a
/opt/gcc/4.7.2/snos/lib/gcc/x86_64-suse-linux/4.7.2/../../../../lib64/libgfortran.so: undefined reference to `__gttf2 at GCC_4.3.0'
/opt/gcc/4.7.2/snos/lib/gcc/x86_64-suse-linux/4.7.2/../../../../lib64/libgfortran.so: undefined reference to `__netf2 at GCC_4.3.0'
/opt/gcc/4.7.2/snos/lib/gcc/x86_64-suse-linux/4.7.2/../../../../lib64/libgfortran.so: undefined reference to `__lttf2 at GCC_4.3.0'
/usr/bin/ld: link errors found, deleting executable `FortranCInterface'
-----------------

Could you confirm whether you are getting this error also for your superbuild on Titan? If you are not seeing these errors, could you confirm whether you are using the default gcc version 4.7.2 or some newer version?

Superbuild is able to build other libraries successfully for me on Titan except for this FortranCInterface problems, so I am hoping to confirm with you to see whether this is a specific problem on my part.

Thanks for all your help!

Hong
________________________________
From: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [paraview-bounces at paraview.org] on behalf of David E DeMarle [dave.demarle at kitware.com]
Sent: Thursday, August 29, 2013 1:21 PM
To: Vanmoer, Mark W
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] Building on Titan using ParaViewSuperbuild
Your tools build is pointing to the compiler wrapper that you normally would use to make code for the back end.
The tools build should just use plain old local gcc since we only build things at that point that run on the login node.

Try these setup scripts:
I source configtools.sh to set up my environment before I build the compile tools, and configcross.sh before before I cross compile ParaView.

configtools.sh
#use my own cmake, system one is too old
setenv PATH /autofs/na4_proj/csc035/demarle/pvdev/titan/cmake-build/bin:${PATH}
#switch compiler to compile code for front end
module unload PrgEnv-pgi
module load gcc
#configure settings for to build compile tools only
cmake \
  -DCROSS_BUILD_STAGE:STRING=TOOLS -Dcross_target:STRING=xk7_gnu \
  -DCMAKE_BUILD_TYPE:STRING=Release \
  -DBUILD_TESTING:BOOL=FALSE \
  -DParaView_FROM_GIT:BOOL=OFF \
  -DENABLE_paraview:BOOL=TRUE \
  -DENABLE_boost:BOOL=TRUE \
  -DENABLE_python:BOOL=TRUE \
  -DENABLE_portfwd:BOOL=FALSE \
  ../../ParaViewSuperbuild


then make

configcross.sh
#use my own cmake, system one is too old
setenv PATH /autofs/na4_proj/csc035/demarle/pvdev/titan/cmake-build/bin:${PATH}
#switch compiler to compile code for back end
module unload PrgEnv-pgi
module unload gcc
module load PrgEnv-gnu
#not sure why module load wasn't sufficient, but ended up needing to force
#cmake to choose the right compiler
setenv CC /opt/cray/xt-asyncpe/5.17/bin/cc
setenv CXX /opt/cray/xt-asyncpe/5.17/bin/CC
#configure settings to cross compile python, (mesa - implied), and paraview
cmake \
  -DCROSS_BUILD_STAGE:STRING=CROSS -Dcross_target:STRING=xk7_gnu \
  -DCMAKE_BUILD_TYPE:STRING=Release \
  -DBUILD_TESTING:BOOL=TRUE \
  -DParaView_FROM_GIT:BOOL=OFF \
  -DENABLE_paraview:BOOL=TRUE \
  -DENABLE_python:BOOL=TRUE \
  ../../ParaViewSuperbuild

then make again


David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909

On Tue, Aug 27, 2013 at 4:26 PM, Vanmoer, Mark W <mvanmoer at illinois.edu<mailto:mvanmoer at illinois.edu>> wrote:
Hi, I'm trying to follow the advice on building ParaView on Titan using the ParaViewSuperbuild method from an earlier discussion in June.

When I run make in the "TOOLS" directory I get the following error:

[ 66%] Building CXX object Utilities/ProcessXML/CMakeFiles/kwProcessXML.dir/ProcessXML.cxx.o
Linking CXX executable ../../bin/vtkkwProcessXML-pv4.0
/usr/bin/ld: attempted static link of dynamic object `../../lib/libvtkCommonCore-pv4.0.so.1'
collect2: error: ld returned 1 exit status
make[6]: *** [bin/vtkkwProcessXML-pv4.0] Error 1
make[5]: *** [Utilities/ProcessXML/CMakeFiles/kwProcessXML.dir/all] Error 2
make[4]: *** [CMakeFiles/pvCompileTools.dir/rule] Error 2
make[3]: *** [pvCompileTools] Error 2
CMake Error at /ccs/home/vanmoer/builds/superbuild/tools-build/pv-paraview-build.cmake:26 (message):
  Failed!!!


make[2]: *** [paraview/src/paraview-stamp/paraview-build] Error 1

I don't see a BUILD_SHARED that I can toggle. All of the CMAKE_SHARED_LINKER_FLAGS* vars are empty, if those are related.

Any suggestions?

Thanks,
Mark



_______________________________________________
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://www.paraview.org/pipermail/paraview/attachments/20130911/2e4e0296/attachment-0001.htm>


More information about the ParaView mailing list