Hi Matthias,
    I followed the steps you suggested so that expand_instantiations gave 
the output :
Usage:
expand_instantiations class_list_files < in_file > out_file 

after which I changed to the regular build directory for building(all 
performed on an interactive compute node ) as 

cmake -DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment -DCMAKE_C_COMPILER=cc 
-DCMAKE_CXX_COMPILER=CC -DCMAKE_Fortran_COMPILER=ftn -DDEAL_II_WITH_MPI=ON 
-DDEAL_II_WITH_PETSC=ON -DDEAL_II_WITH_P4EST=ON -DDEAL_II_WITH_LAPACK=ON 
-DCMAKE_INSTALL_PREFIX=/global/project/projectdirs/m2360/packagesCPFE/dealii_trial
 
../dealii

which ran fine, after which the installation process

make -j 8 install 

resulted in the following error :

[100%] Built target obj_fe_debug
[100%] Linking CXX shared library ../lib/libdeal_II.g.so
/usr/bin/ld: cannot find -lAtpSigHandler
/usr/bin/ld: cannot find -lAtpSigHCommData
make[2]: *** [source/CMakeFiles/deal_II.dir/build.make:1283: 
lib/libdeal_II.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:2978: source/CMakeFiles/deal_II.dir/all] 
Error 2
make[1]: *** Waiting for unfinished jobs....

I am not sure what the above means. I contacted support at NERSC for help 
and he responded as follows :
-----------------------------------------------------------------------------------------------------
The problem is that somewhere in the cmake files it's missing:
```
find_library(ATP_SIGHANDLER_LIBRARY NAMES AtpSigHandler)
```
and then you need to add
```
target_link_libraries(<Target> ${ATP_SIGHANDLER_LIBRARY})
```
to the file that specifies the link step for `libdeal_II.g.so`

I had a look at the cmake files, but it's a pretty complex setup. I think 
it might be best to reach out to the developers again, and get them to 
incorporate those changes for cray systems. 
-----------------------------------------------------------------------------------------------------

Thank you for your help.

Best,
Aaditya

 

On Sunday, August 23, 2020 at 3:06:31 PM UTC-4 Matthias Maier wrote:

> Hi,
>
> CMake's cross compilation features are unfortunately a bit limited. To
> work around this you have to create an executable
> "expand_instantiations" separately by doing for example the following in
> the source directory:
>
> $ mkdir build-executable
> $ cd build-executable
> $ cmake ..
> $ make expand_instantiations_exe
>
> After that export the executable to your path:
>
> $ export PATH="$PWD/bin:$PATH"
>
> when you now run "expand_instantiations" in your command prompt you
> should get a help message:
>
> $ expand_instantiations
> Usage:
> expand_instantiations class_list_files < in_file > out_file
>
> If all that works out switch to the actual build directory (in the same
> terminal) and compile.
>
> This should take care of the following error:
>
> > /bin/sh: expand_instantiations: command not found
> > make[2]: *** 
>
> Best,
> Matthias
>
>
>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/2797be57-af84-4037-badd-1a875b130fb6n%40googlegroups.com.

Reply via email to