[Paraview] Error cross-compiling Catalyst on BG/Q

Cook, Rich cook47 at llnl.gov
Thu Feb 12 19:15:11 EST 2015


Hmm, it does not say to run any executables.  I really don’t understand what it’s asking me for so I don’t know what to just stick in the variables.
Here is an example from that file:

# CMAKE_REQUIRE_LARGE_FILE_SUPPORT
#    indicates whether the executable would have been able to run on its
#    target platform. If so, set CMAKE_REQUIRE_LARGE_FILE_SUPPORT to
#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
# CMAKE_REQUIRE_LARGE_FILE_SUPPORT__TRYRUN_OUTPUT
#    contains the text the executable would have printed on stdout and stderr.
#    If the executable would not have been able to run, set CMAKE_REQUIRE_LARGE_FILE_SUPPORT__TRYRUN_OUTPUT empty.
#    Otherwise check if the output is evaluated by the calling CMake code. If so,
#    check what the source file would have printed when called with the given arguments.
# The HAVE_CMAKE_REQUIRE_LARGE_FILE_SUPPORT variable holds the build result for this TRY_RUN().
#
# Source file   : /collab/usr/global/tools/Kitware/Catalyst/bgqos_0/catalyst_backend_crossbuild/CMakeFiles/CMakeTmp/src.cxx
# Executable    : /collab/usr/global/tools/Kitware/Catalyst/bgqos_0/catalyst_backend_crossbuild/CMakeFiles/cmTryCompileExec2363604927-CMAKE_REQUIRE_LARGE_FILE_SUPPORT
# Run arguments :
#    Called from: [1] /collab/usr/global/tools/Kitware/Catalyst/bgqos_0/base/VTK/CMakeLists.txt

set( CMAKE_REQUIRE_LARGE_FILE_SUPPORT
     "PLEASE_FILL_OUT-FAILED_TO_RUN"
     CACHE STRING "Result from TRY_RUN" FORCE)

set( CMAKE_REQUIRE_LARGE_FILE_SUPPORT__TRYRUN_OUTPUT
     "PLEASE_FILL_OUT-NOTFOUND"
     CACHE STRING "Output from TRY_RUN" FORCE)

On Feb 12, 2015, at 4:08 PM, David E DeMarle <dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>> wrote:

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<mailto: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<mailto: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<tel:518-881-4909>

On Thu, Feb 12, 2015 at 5:33 PM, Cook, Rich <cook47 at llnl.gov<mailto: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<tel:%28925%29%20423-9605>
☎ (fax) (925) 423-6961<tel:%28925%29%20423-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<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

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<tel:%28925%29%20423-9605>
☎ (fax) (925) 423-6961<tel:%28925%29%20423-6961>
---
Information Management & Graphics Grp., Services & Development Div., Integrated Computing & Communications Dept.
(opinions expressed herein are mine and not those of LLNL)





--
✐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/20150213/81068d02/attachment.html>


More information about the ParaView mailing list