[Paraview] Error cross-compiling Catalyst on BG/Q
David E DeMarle
dave.demarle at kitware.com
Thu Feb 12 19:08:18 EST 2015
These come from the way our build scripts ask cmake to runs _more_ helper
executables at build time in order to introspect the machine that the code
is going to run on (is it big or little endian, how big is a double on this
CPU?, does the MPI there support feature X and stuff like that).
In a host only build these aren't a problem, just build, run and take the
output of the helper and continue.
In a cross compile build it isn't so easy. The answers on the host and
compute may be different (ex on a BGL or P), worse cmake can build it, but
it does't know anything about how to submit a job to run the executable and
then get results back from it.
If you look at:
/collab/usr/global/tools/Kitware/Catalyst/bgqos_0/
catalyst_backend_crossbuild/TryRunResults.cmake
It says things to the effect of:
run this executable on the compute node, and paste its output back into
this variable. You can do that, or copy someone else's answers for the test
on a BGQ (see the PVSB/cmake/crosscompile/bgq_gnu/*TryRunResults.cmake), or
fill in the details from what you know about the compute node architecture.
However you do it, once you fill in that form just make again in the build
tree, cmake will see that you've given it the details it needs, and finish.
David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909
On Thu, Feb 12, 2015 at 6:32 PM, Cook, Rich <cook47 at llnl.gov> wrote:
> OK, thanks, that gets me a bit farther. I pointed it at a successful
> build of Catalyst. But now when I run cmake.sh, I get this error (and more
> later)
>
> -- Performing Test Support for 64 bit file systems
> CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the
> following cache variables appropriately:
> CMAKE_REQUIRE_LARGE_FILE_SUPPORT (advanced)
> CMAKE_REQUIRE_LARGE_FILE_SUPPORT__TRYRUN_OUTPUT (advanced)
> …
> CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the
> following cache variables appropriately:
> VTK_TYPE_CHAR_IS_SIGNED (advanced)
> For details see
> /collab/usr/global/tools/Kitware/Catalyst/bgqos_0/catalyst_backend_crossbuild/TryRunResults.cmake
>
> What am I to make of these cryptic errors?
> Thanks
> — Rich
>
> On Feb 12, 2015, at 2:57 PM, David E DeMarle <dave.demarle at kitware.com>
> wrote:
>
> ParaView/Catalyst/VTK build and run some helper executables during the
> build process of themselves. An example is vtkWrapPython, who's job during
> the compile process is to parse the C++ header files and spit out
> additional header and cxx files that make the originals callable from
> python. All of those c++ files are later compiled for the target
> environment.
>
> In cross compilation the helper executables have to be compiled to run
> in the host environment.
> The source code that the helpers produce has to be compiled to run in the
> compute environment.
>
> So build paraview (or better yet just the CompileTools target to save
> time) once for the host.
> Then in a different directory build paraview again, using the toolchain
> you are now using to tell it what compilers and libraries to use for the
> compute nodes, and in this build tell cmake where the host tools can be
> found.
>
> See the ParaViewSuperbuild project's CMake/crosscompile/bgq_gnu
> directory for how I set this up on mira.
>
>
> David E DeMarle
> Kitware, Inc.
> R&D Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4909
>
> On Thu, Feb 12, 2015 at 5:33 PM, Cook, Rich <cook47 at llnl.gov> wrote:
>
>> Hello,
>> I have made a CMAKE_TOOLCHAIN_FILE which contains the following:
>>
>> rcook at rzuseqlac2 (catalyst_backend_crossbuild ): cat
>> ../backend_toolchain.cmake
>> #=====================================
>> set(CMAKE_SYSTEM_NAME BlueGeneQ-dynamic)
>>
>> set(TOOLCHAIN_LOCATION /bgsys/drivers/ppcfloor/gnu-linux/bin)
>> set(TOOLCHAIN_PREFIX powerpc64-bgq-linux-)
>>
>> set(CMAKE_C_COMPILER ${TOOLCHAIN_LOCATION}/${TOOLCHAIN_PREFIX}gcc)
>> set(CMAKE_CXX_COMPILER ${TOOLCHAIN_LOCATION}/${TOOLCHAIN_PREFIX}g++)
>> set(CMAKE_Fortran_COMPILER
>> ${TOOLCHAIN_LOCATION}/${TOOLCHAIN_PREFIX}gfortran)
>> #=====================================
>>
>> When I try to use it to compile catalyst, I get an error which arises
>> from a file in the Catalyst distribution and which I don’t understand. Can
>> someone ’splain it? Thanks!
>>
>> rcook at rzuseqlac2 (catalyst_backend_crossbuild ):
>> /collab/usr/global/tools/Kitware/Catalyst/bgqos_0/base/cmake.sh
>> -DCMAKE_TOOLCHAIN_FILE=/collab/usr/global/tools/Kitware/Catalyst/bgqos_0/backend_toolchain.cmake
>> /collab/usr/global/tools/Kitware/Catalyst/bgqos_0/base
>> Not searching for unused variables given on the command line.
>> -- The C compiler identification is GNU 4.4.7
>> -- The CXX compiler identification is GNU 4.4.7
>> -- Check for working C compiler:
>> /bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc64-bgq-linux-gcc
>> -- Check for working C compiler:
>> /bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc64-bgq-linux-gcc -- works
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Detecting C compile features
>> -- Detecting C compile features - done
>> -- Check for working CXX compiler:
>> /bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc64-bgq-linux-g++
>> -- Check for working CXX compiler:
>> /bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc64-bgq-linux-g++ -- works
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Found Git: /usr/bin/git (found version "1.7.1")
>> -- Determined Source Version : 4.3.1
>> CMake Error at CMakeLists.txt:94 (find_package):
>> By not providing "FindParaViewCompileTools.cmake" in CMAKE_MODULE_PATH
>> this
>> project has asked CMake to find a package configuration file provided by
>> "ParaViewCompileTools", but CMake did not find one.
>>
>> Could not find a package configuration file provided by
>> "ParaViewCompileTools" with any of the following names:
>>
>> ParaViewCompileToolsConfig.cmake
>> paraviewcompiletools-config.cmake
>>
>> Add the installation prefix of "ParaViewCompileTools" to
>> CMAKE_PREFIX_PATH
>> or set "ParaViewCompileTools_DIR" to a directory containing one of the
>> above files. If "ParaViewCompileTools" provides a separate development
>> package or SDK, be sure it has been installed.
>>
>>
>> -- Configuring incomplete, errors occurred!
>> See also
>> "/collab/usr/global/tools/Kitware/Catalyst/bgqos_0/catalyst_backend_crossbuild/CMakeFiles/CMakeOutput.log”.
>>
>> This is odd because if I do not use the toolchain file, Catalyst
>> compiles fine
>> -----------------------------------------------------------------------
>> I’m attaching the log referenced, I don’t see anything in it that tips me
>> off.
>>
>>
>>
>> --
>> ✐Richard Cook
>> ✇ Lawrence Livermore National Laboratory
>> Bldg-453 Rm-4024, Mail Stop L-557
>> 7000 East Avenue, Livermore, CA, 94550, USA
>> ☎ (office) (925) 423-9605
>> ☎ (fax) (925) 423-6961
>> ---
>> Information Management & Graphics Grp., Services & Development Div.,
>> Integrated Computing & Communications Dept.
>> (opinions expressed herein are mine and not those of LLNL)
>>
>>
>>
>>
>> _______________________________________________
>> 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
>>
>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/paraview
>>
>>
>
> --
> ✐Richard Cook
> ✇ Lawrence Livermore National Laboratory
> Bldg-453 Rm-4024, Mail Stop L-557
> 7000 East Avenue, Livermore, CA, 94550, USA
> ☎ (office) (925) 423-9605
> ☎ (fax) (925) 423-6961
> ---
> Information Management & Graphics Grp., Services & Development Div.,
> Integrated Computing & Communications Dept.
> (opinions expressed herein are mine and not those of LLNL)
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150212/154891d5/attachment.html>
More information about the ParaView
mailing list