Dealii: Linking for debug library fails on power8 arch

Created on 11 Feb 2020  Â·  31Comments  Â·  Source: dealii/dealii

When I attempt to build deal.II with gcc 7.2 on a power8 ppc64le architecture, every class that includes vectorization.h gives the following warning:

/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/base/vectorization.h: In member function ‘dealii::VectorizedArray<double, 2>& dealii::VectorizedArray<double, 2>::operator=(double)’:
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/base/vectorization.h:3324:26: warning: parameter ‘x’ set but not used [-Wunused-but-set-parameter]
   operator=(const double x)
                          ^
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/base/vectorization.h: In member function ‘dealii::VectorizedArray<float, 4>& dealii::VectorizedArray<float, 4>::operator=(float)’:
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/base/vectorization.h:3558:25: warning: parameter ‘x’ set but not used [-Wunused-but-set-parameter]
   operator=(const float x)
                         ^
...

Then once it starts linking lib/libdeal_II.g.so.9.2.0-pre, the linker fails and yields many messages similar to the following:

/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:101:(.text._ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE27prepare_for_pure_refinementEv[_ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE27prepare_for_pure_refinementEv]+0x1dc): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `std::allocator<std::vector<unsigned int, std::allocator<unsigned int> > >::allocator()' defined in .text._ZNSaISt6vectorIjSaIjEEEC2Ev[_ZNSaISt6vectorIjSaIjEEEC5Ev] section in source/numerics/CMakeFiles/obj_numerics_debug.dir/data_out.cc.o
source/numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::prepare_for_coarsening_and_refinement(std::vector<dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, std::allocator<dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> > > > const&)':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:319:(.text._ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE37prepare_for_coarsening_and_refinementERKSt6vectorIS6_SaIS6_EE[_ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE37prepare_for_coarsening_and_refinementERKSt6vectorIS6_SaIS6_EE]+0x748): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `std::allocator<std::vector<unsigned int, std::allocator<unsigned int> > >::allocator()' defined in .text._ZNSaISt6vectorIjSaIjEEEC2Ev[_ZNSaISt6vectorIjSaIjEEEC5Ev] section in source/numerics/CMakeFiles/obj_numerics_debug.dir/data_out.cc.o
source/numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::ExcAlreadyPrepForRef::ExcAlreadyPrepForRef(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/numerics/solution_transfer.h:460:(.text._ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE20ExcAlreadyPrepForRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE20ExcAlreadyPrepForRefC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x30): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `dealii::ExceptionBase::ExceptionBase()' defined in .text section in source/base/CMakeFiles/obj_base_debug.dir/exceptions.cc.o
source/numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::ExcNotPrepared::ExcNotPrepared(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/numerics/solution_transfer.h:450:(.text._ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE14ExcNotPreparedC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE14ExcNotPreparedC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x30): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `dealii::ExceptionBase::ExceptionBase()' defined in .text section in source/base/CMakeFiles/obj_base_debug.dir/exceptions.cc.o
source/numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::ExcAlreadyPrepForCoarseAndRef::ExcAlreadyPrepForCoarseAndRef(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/numerics/solution_transfer.h:470:(.text._ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE29ExcAlreadyPrepForCoarseAndRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE29ExcAlreadyPrepForCoarseAndRefC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x30): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `dealii::ExceptionBase::ExceptionBase()' defined in .text section in source/base/CMakeFiles/obj_base_debug.dir/exceptions.cc.o
...

I can post my configuration if needed, but it's a minimal configuration. This is the third time it's crashed on building, but this time I removed all packages except the bundled Boost, MuParser, and Threads just to make sure this wasn't related to an external library.

Does anybody have an idea what's going on here? I assume it might be related to the architecture-specific macros in vectorization.h, but I'm not positive.

edit: The warnings have been resolved and were unrelated

Most helpful comment

On 2/11/20 11:27 AM, Graham Harper wrote:

@bangerth https://github.com/bangerth it looks like that void fixes
the warnings. The build hasn't reached the linking phase yet, but most
stackoverflow answers seem to point toward the library being too large
to link with the amount of memory I have available.

Make that into a separate PR if you don't mind.

All 31 comments

The first warning is clearly wrong because vec_splats doesn't change its argument: https://www.ibm.com/support/knowledgecenter/en/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/compiler_ref/vec_splats.html
Could you try what happens if you change the function in question to the following?

  VectorizedArray &
  operator=(const float x)
  {
    data = vec_splats(x);

    // Some compilers believe that vec_splats sets 'x', but that's not true. They then warn
    // about setting a variable and not using it. Suppress the warning by "using" the variable:
    (void)x;
    return *this;
  }

I don't know about the other problem. What does the internet say?

@bangerth it looks like that void fixes the warnings. The build hasn't reached the linking phase yet, but most stackoverflow answers seem to point toward the library being too large to link with the amount of memory I have available.

One solution suggests something about using a command like

  g++ -mcmodel=medium ...

Would this be a CXX flag I need to add in my configure script?

@GrahamBenHarper I vaguely remember having trouble with the debug version of deal.II on power 9 but everything was working fine in release. If I remember correctly I was using xlc.

Thanks @Rombur. I believe I have an xlc module available, so I may also give that a shot if I can't get the release library to build.

On 2/11/20 11:27 AM, Graham Harper wrote:

@bangerth https://github.com/bangerth it looks like that void fixes
the warnings. The build hasn't reached the linking phase yet, but most
stackoverflow answers seem to point toward the library being too large
to link with the amount of memory I have available.

Make that into a separate PR if you don't mind.

On 2/11/20 11:27 AM, Graham Harper wrote:

|g++ -mcmodel=medium ... |

Would this be a CXX flag I need to add in my configure script?

You'd have to do something like
CXXFLAGS="-mcmodel=medium" cmake ...usual arguments...
or
export CXXFLAGS="..."
cmake ...usual arguments...
in a clean build directory.

I usually modify DEAL_II_CXX_FLAGS instead.

I'm still having the same issue with "relocation truncated to fit" when it reaches numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o. Here's the config command I'm using in a clean build directory (I turned off zlib because it kept autodetecting and I wanted to verify it wasn't causing the issue).

Does this look right to you for a minimal configuration?

cmake \
-D CMAKE_INSTALL_PREFIX=${DEAL_II_INSTALL} \
-D DEAL_II_WITH_ZLIB:BOOL=${USE_ZLIB} \
-D DEAL_II_CXX_FLAGS="-mcmodel=medium" \
${DEAL_II_HOME}

The build hasn't reached the linking phase yet, but most stackoverflow answers seem to point toward the library being too large to link with the amount of memory I have available.

So how much memory do you have? How many core are you using to compile?

So how much memory do you have? How many core are you using to compile?

I have 8GB of L3 and I was originally using ninja, but I also tried make with 8 cores. Does the number of cores affect this issue?

It can. Try make with 2 cores (I know it will be slow...).

I just tried 1 core with make install but the debug library still fails for linking.

[ 85%] Linking CXX shared library ../lib/libdeal_II.g.so
numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::interpolate(std::vector<dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, std::allocator<dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> > > > const&, std::vector<dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, std::allocator<dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> > > >&) const':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:433:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_]+0x1098): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:435:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_]+0x10c4): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:437:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_]+0x10f0): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:440:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_]+0x1114): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:444:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_]+0x1168): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:448:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKSt6vectorIS6_SaIS6_EERSD_]+0x1334): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::interpolate(dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> > const&, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >&) const':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:562:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_]+0x398): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:563:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_]+0x3bc): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:563:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_]+0x3e0): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/source/numerics/solution_transfer.cc:566:(.text._ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_[_ZNK6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE11interpolateERKS6_RS6_]+0x434): relocation truncated to fit: R_PPC64_REL24 (stub) against symbol `_Unwind_Resume@@GCC_3.0' defined in .text section in /home/projects/ppc64le/gcc/7.2.0/lib64/../lib64/libgcc_s.so.1
numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o: In function `dealii::SolutionTransfer<2, dealii::LinearAlgebra::distributed::BlockVector<std::complex<float> >, dealii::hp::DoFHandler<2, 2> >::ExcAlreadyPrepForRef::ExcAlreadyPrepForRef(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/ascldap/users/gbharpe/programming/Deal.II/dealii-source/include/deal.II/numerics/solution_transfer.h:460:(.text._ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE20ExcAlreadyPrepForRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN6dealii16SolutionTransferILi2ENS_13LinearAlgebra11distributed11BlockVectorISt7complexIfEEENS_2hp10DoFHandlerILi2ELi2EEEE20ExcAlreadyPrepForRefC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x80): additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libdeal_II.g.so.9.2.0-pre] Error 1
make[1]: *** [source/CMakeFiles/deal_II.g.dir/all] Error 2
make: *** [all] Error 2

However, the release library builds fine, so I may need to only use a release build.

However, the release library builds fine, so I may need to only use a release build.

Yeah, I have had trouble with the debug library too but since it's usually on systems I don't use to develop, I don't really care.

That's fair. Is there a trick to install only the release library? make deal_II will make release only but won't install it, but make install will try to build debug and release before installing, which crashes.

Configure with -DCMAKE_BUILD_TYPE=Release. Hopefully, it won't recompile everything...

Hopefully, it won't recompile everything...

It didn't thankfully. Thanks so much @Rombur the release build works great! :)

The problem isn't the amount of memory you have when compiling or linking. The problem is that when the compiler emits a jump to another function, it has to decide whether it wants to use an instruction that uses a X-bit offset for the function's address, or the full 32- or 64-bit address of the target. The former requires less space in the executable, but is predicated on the assumption that the library's overall size does not exceed what can be addressed with X bit offsets relative to the current location.

The default the compiler chooses is perfectly adequate for all executables and libraries of "reasonable size", for example using a 32-bit instruction for which the top two bits encode that it's a jump and the remaining 30 bits an offset of plus or minus 500 MB (one sign bit plus 29 bits of offset). But if you happen to have too large a library -- as we do -- then you may up with jump instructions (calls to another function) that require more than 30-bit offsets. The problem is that the compiler has only reserved 4 bytes in the executable, and so the linker can't put the correct jump in there. That's what the linker complains about, not that during linking there is not enough space.

The solution is to tell the compiler to always assume that jumps might require more than 30-bit offsets, and that's what the -mcmodel flag does.

@bangerth I see.

I'm confused why this would happen on an HPC machine but not when I build on my personal machine. Is the compiler here defaulting to 32-bit but my personal machine defaults to 64-bit?

Linux on PPC64 makes different choices than Linux on x86-64. On x86-64, it seems like every jump instruction the compiler chooses always has enough bits. Maybe because the x86 processors don't even offer one with only 30-bit offsets -- who knows. Different machine, different setups.

I should have said "different architecture, different choices".

That's fair. It sounds like people know that this happens on certain architectures, so I'm okay with just closing this. I don't know if anything could be changed in deal.II to prevent that from happening to others in the future.

We might set -mcmodel=medium by default on that platform. That might have solved your problem.

@bangerth I did try adding -mcmodel=medium (script: https://github.com/dealii/dealii/issues/9513#issuecomment-585278987 results: https://github.com/dealii/dealii/issues/9513#issuecomment-585304997), but the debug build still provided the same error actually.

Did you try the large model? I don't know what is the default on that machine.

I have not tried large, but I could try it tonight and report back with results.

Make sure you compile with 'make VERBOSE=1' and double check that the flag you
want is actually present in both the compile command line and the linker
command line.

@bangerth good catch. It looks like it might not be present in the linker command.

cd /ascldap/users/gbharpe/programming/Deal.II/dealii-build-debugrelease-minimal/source && /ascldap/users/projects/ppc64le/cmake/3.12.3/bin/cmake -E cmake_link_script CMakeFiles/deal_II.g.dir/link.txt --verbose=1
/ascldap/users/projects/ppc64le/gcc/7.2.0/bin/g++ -fPIC  -Wl,--as-needed -rdynamic -pthread -ggdb -shared -Wl,-soname,libdeal_II.g.so.9.2.0-pre -o ../lib/libdeal_II.g.so.9.2.0-pre CMakeFiles/deal_II.g.dir/dummy.cc.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/archive_exception.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_archive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_iarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_iserializer.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_oarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_oserializer.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_pointer_iserializer.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_pointer_oserializer.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_serializer_map.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_text_iprimitive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_text_oprimitive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_text_wiprimitive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_text_woprimitive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/basic_xml_archive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/binary_iarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/binary_oarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/binary_wiarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/binary_woarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/codecvt_null.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/extended_type_info.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/extended_type_info_no_rtti.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/extended_type_info_typeid.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/polymorphic_iarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/polymorphic_oarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/stl_port.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/text_iarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/text_oarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/text_wiarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/text_woarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/utf8_codecvt_facet.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/void_cast.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_archive_exception.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_grammar.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_iarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_oarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_wgrammar.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_wiarchive.cpp.o ../bundled/boost-1.70.0/libs/serialization/src/CMakeFiles/obj_boost_serialization_debug.dir/xml_woarchive.cpp.o ../bundled/boost-1.70.0/libs/system/src/CMakeFiles/obj_boost_system_debug.dir/error_code.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/rml/client/rml_tbb.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/arena.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/cache_aligned_allocator.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/concurrent_hash_map.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/concurrent_monitor.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/concurrent_queue.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/concurrent_vector.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/condition_variable.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/critical_section.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/dynamic_link.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/governor.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/itt_notify.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/market.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/mutex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/observer_proxy.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/pipeline.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/private_server.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/queuing_mutex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/queuing_rw_mutex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/reader_writer_lock.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/recursive_mutex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/scheduler.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/semaphore.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/spin_mutex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/spin_rw_mutex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/task.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/task_group_context.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/tbb_main.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/tbb_misc.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/tbb_misc_ex.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/tbb_statistics.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/tbb_thread.cpp.o ../bundled/tbb-2018_U2/src/CMakeFiles/obj_tbb_debug.dir/tbb/x86_rtm_rw_mutex.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserBase.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserBytecode.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserCallback.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParser.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserError.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserInt.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserTest.cpp.o ../bundled/muparser_v2_2_4/CMakeFiles/obj_muparser_debug.dir/src/muParserTokenReader.cpp.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out_faces.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out_stack.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out_rotation.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_postprocessor.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/dof_output_operator.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/histogram.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/kdtree.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/matrix_tools_once.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/matrix_tools.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/time_dependent.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_boundary.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_constraints.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_mean_value.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_point_gradient.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_rhs.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/cell_data_transfer.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out_dof_data.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out_dof_data_inst2.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/data_out_dof_data_codim.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/derivative_approximation.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/error_estimator_1d.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/error_estimator.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/error_estimator_inst2.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/fe_field_function.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/matrix_creator.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/matrix_creator_inst2.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/matrix_creator_inst3.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/point_value_history.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst2.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst3.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/solution_transfer_inst4.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_integrate_difference.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_interpolate.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_point_value.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_inst2.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_inst3.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_hp.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_codim.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_qp.cc.o numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_qpmf.cc.o fe/CMakeFiles/obj_fe_debug.dir/block_mask.cc.o fe/CMakeFiles/obj_fe_debug.dir/component_mask.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_abf.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_bernardi_raugel.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_bdm.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_bernstein.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_data.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_dgp.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_dgp_monomial.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_dgp_nonparametric.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_dgq.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_dg_vector.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_face.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_nedelec.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_nedelec_sz.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_nothing.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_poly.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_poly_tensor.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_p1nc.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_q_base.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_q.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_q_bubbles.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_q_dg0.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_q_hierarchical.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_q_iso_q1.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_rannacher_turek.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_raviart_thomas.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_raviart_thomas_nodal.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_rt_bubbles.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_series.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_series_fourier.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_series_legendre.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_system.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_enriched.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_tools.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_trace.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_c1.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_cartesian.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_q1.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_q.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_q_cache.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_manifold.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values_extractors.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values_inst2.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values_inst3.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values_inst4.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values_inst5.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_values_inst6.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_fe_field.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_fe_field_inst2.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_tools_interpolate.cc.o fe/CMakeFiles/obj_fe_debug.dir/fe_tools_extrapolate.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_q_generic.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_q1_eulerian.cc.o fe/CMakeFiles/obj_fe_debug.dir/mapping_q_eulerian.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/block_info.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_faces.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_handler.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_objects.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/number_cache.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_accessor.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_accessor_get.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_accessor_set.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_handler_policy.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_renumbering.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_tools.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_tools_constraints.cc.o dofs/CMakeFiles/obj_dofs_debug.dir/dof_tools_sparsity.cc.o lac/CMakeFiles/obj_lac_debug.dir/affine_constraints.cc.o lac/CMakeFiles/obj_lac_debug.dir/block_matrix_array.cc.o lac/CMakeFiles/obj_lac_debug.dir/block_sparse_matrix.cc.o lac/CMakeFiles/obj_lac_debug.dir/block_sparse_matrix_ez.cc.o lac/CMakeFiles/obj_lac_debug.dir/block_sparsity_pattern.cc.o lac/CMakeFiles/obj_lac_debug.dir/block_vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/chunk_sparse_matrix.cc.o lac/CMakeFiles/obj_lac_debug.dir/chunk_sparsity_pattern.cc.o lac/CMakeFiles/obj_lac_debug.dir/dynamic_sparsity_pattern.cc.o lac/CMakeFiles/obj_lac_debug.dir/exceptions.cc.o lac/CMakeFiles/obj_lac_debug.dir/scalapack.cc.o lac/CMakeFiles/obj_lac_debug.dir/la_vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/la_parallel_vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/la_parallel_block_vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/matrix_lib.cc.o lac/CMakeFiles/obj_lac_debug.dir/matrix_out.cc.o lac/CMakeFiles/obj_lac_debug.dir/precondition_block.cc.o lac/CMakeFiles/obj_lac_debug.dir/precondition_block_ez.cc.o lac/CMakeFiles/obj_lac_debug.dir/relaxation_block.cc.o lac/CMakeFiles/obj_lac_debug.dir/read_write_vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/solver.cc.o lac/CMakeFiles/obj_lac_debug.dir/solver_bicgstab.cc.o lac/CMakeFiles/obj_lac_debug.dir/solver_control.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_decomposition.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_direct.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_ilu.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_matrix_ez.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_mic.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_vanka.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparsity_pattern.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparsity_tools.cc.o lac/CMakeFiles/obj_lac_debug.dir/swappable_vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/vector.cc.o lac/CMakeFiles/obj_lac_debug.dir/vector_memory.cc.o lac/CMakeFiles/obj_lac_debug.dir/full_matrix.cc.o lac/CMakeFiles/obj_lac_debug.dir/lapack_full_matrix.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_matrix.cc.o lac/CMakeFiles/obj_lac_debug.dir/sparse_matrix_inst2.cc.o lac/CMakeFiles/obj_lac_debug.dir/tridiagonal_matrix.cc.o base/CMakeFiles/obj_base_debug.dir/auto_derivative_function.cc.o base/CMakeFiles/obj_base_debug.dir/bounding_box.cc.o base/CMakeFiles/obj_base_debug.dir/conditional_ostream.cc.o base/CMakeFiles/obj_base_debug.dir/convergence_table.cc.o base/CMakeFiles/obj_base_debug.dir/event.cc.o base/CMakeFiles/obj_base_debug.dir/exceptions.cc.o base/CMakeFiles/obj_base_debug.dir/flow_function.cc.o base/CMakeFiles/obj_base_debug.dir/function.cc.o base/CMakeFiles/obj_base_debug.dir/function_cspline.cc.o base/CMakeFiles/obj_base_debug.dir/function_derivative.cc.o base/CMakeFiles/obj_base_debug.dir/function_lib.cc.o base/CMakeFiles/obj_base_debug.dir/function_lib_cutoff.cc.o base/CMakeFiles/obj_base_debug.dir/function_parser.cc.o base/CMakeFiles/obj_base_debug.dir/function_spherical.cc.o base/CMakeFiles/obj_base_debug.dir/function_time.cc.o base/CMakeFiles/obj_base_debug.dir/geometry_info.cc.o base/CMakeFiles/obj_base_debug.dir/geometric_utilities.cc.o base/CMakeFiles/obj_base_debug.dir/graph_coloring.cc.o base/CMakeFiles/obj_base_debug.dir/incremental_function.cc.o base/CMakeFiles/obj_base_debug.dir/index_set.cc.o base/CMakeFiles/obj_base_debug.dir/job_identifier.cc.o base/CMakeFiles/obj_base_debug.dir/logstream.cc.o base/CMakeFiles/obj_base_debug.dir/hdf5.cc.o base/CMakeFiles/obj_base_debug.dir/mpi.cc.o base/CMakeFiles/obj_base_debug.dir/mu_parser_internal.cc.o base/CMakeFiles/obj_base_debug.dir/multithread_info.cc.o base/CMakeFiles/obj_base_debug.dir/named_selection.cc.o base/CMakeFiles/obj_base_debug.dir/numbers.cc.o base/CMakeFiles/obj_base_debug.dir/parallel.cc.o base/CMakeFiles/obj_base_debug.dir/parameter_handler.cc.o base/CMakeFiles/obj_base_debug.dir/parameter_acceptor.cc.o base/CMakeFiles/obj_base_debug.dir/parsed_convergence_table.cc.o base/CMakeFiles/obj_base_debug.dir/parsed_function.cc.o base/CMakeFiles/obj_base_debug.dir/partitioner.cc.o base/CMakeFiles/obj_base_debug.dir/patterns.cc.o base/CMakeFiles/obj_base_debug.dir/path_search.cc.o base/CMakeFiles/obj_base_debug.dir/polynomial.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_abf.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_adini.cc.o base/CMakeFiles/obj_base_debug.dir/tensor_polynomials_base.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_bernstein.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_bdm.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_bernardi_raugel.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_nedelec.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_integrated_legendre_sz.cc.o base/CMakeFiles/obj_base_debug.dir/polynomial_space.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_p.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_piecewise.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_rannacher_turek.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_raviart_thomas.cc.o base/CMakeFiles/obj_base_debug.dir/polynomials_rt_bubbles.cc.o base/CMakeFiles/obj_base_debug.dir/process_grid.cc.o base/CMakeFiles/obj_base_debug.dir/quadrature.cc.o base/CMakeFiles/obj_base_debug.dir/quadrature_lib.cc.o base/CMakeFiles/obj_base_debug.dir/quadrature_selector.cc.o base/CMakeFiles/obj_base_debug.dir/scalar_polynomials_base.cc.o base/CMakeFiles/obj_base_debug.dir/subscriptor.cc.o base/CMakeFiles/obj_base_debug.dir/symbolic_function.cc.o base/CMakeFiles/obj_base_debug.dir/table_handler.cc.o base/CMakeFiles/obj_base_debug.dir/tensor_function.cc.o base/CMakeFiles/obj_base_debug.dir/tensor_function_parser.cc.o base/CMakeFiles/obj_base_debug.dir/tensor_product_polynomials.cc.o base/CMakeFiles/obj_base_debug.dir/tensor_product_polynomials_bubbles.cc.o base/CMakeFiles/obj_base_debug.dir/tensor_product_polynomials_const.cc.o base/CMakeFiles/obj_base_debug.dir/thread_management.cc.o base/CMakeFiles/obj_base_debug.dir/timer.cc.o base/CMakeFiles/obj_base_debug.dir/time_stepping.cc.o base/CMakeFiles/obj_base_debug.dir/utilities.cc.o base/CMakeFiles/obj_base_debug.dir/vectorization.cc.o base/CMakeFiles/obj_base_debug.dir/data_out_base.cc.o base/CMakeFiles/obj_base_debug.dir/symmetric_tensor.cc.o gmsh/CMakeFiles/obj_gmsh_debug.dir/utilities.cc.o grid/CMakeFiles/obj_grid_debug.dir/cell_id.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_generator.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_generator_from_name.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_in.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_out.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_refinement.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_tools_cache.cc.o grid/CMakeFiles/obj_grid_debug.dir/intergrid_map.cc.o grid/CMakeFiles/obj_grid_debug.dir/manifold.cc.o grid/CMakeFiles/obj_grid_debug.dir/manifold_lib.cc.o grid/CMakeFiles/obj_grid_debug.dir/persistent_tria.cc.o grid/CMakeFiles/obj_grid_debug.dir/tria_accessor.cc.o grid/CMakeFiles/obj_grid_debug.dir/tria_description.cc.o grid/CMakeFiles/obj_grid_debug.dir/tria_faces.cc.o grid/CMakeFiles/obj_grid_debug.dir/tria_levels.cc.o grid/CMakeFiles/obj_grid_debug.dir/tria_objects.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_reordering.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_tools.cc.o grid/CMakeFiles/obj_grid_debug.dir/grid_tools_dof_handlers.cc.o grid/CMakeFiles/obj_grid_debug.dir/tria.cc.o hp/CMakeFiles/obj_hp_debug.dir/dof_faces.cc.o hp/CMakeFiles/obj_hp_debug.dir/dof_level.cc.o hp/CMakeFiles/obj_hp_debug.dir/fe_collection.cc.o hp/CMakeFiles/obj_hp_debug.dir/fe_values.cc.o hp/CMakeFiles/obj_hp_debug.dir/mapping_collection.cc.o hp/CMakeFiles/obj_hp_debug.dir/refinement.cc.o hp/CMakeFiles/obj_hp_debug.dir/dof_handler.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_base.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_level_global_transfer.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_transfer_block.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_transfer_component.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_transfer_internal.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_transfer_prebuilt.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/multigrid.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_tools.cc.o multigrid/CMakeFiles/obj_multigrid_debug.dir/mg_transfer_matrix_free.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/grid_refinement.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/cell_weights.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/cell_data_transfer.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/fully_distributed_tria.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/solution_transfer.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/tria.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/tria_base.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/shared_tria.cc.o distributed/CMakeFiles/obj_distributed_debug.dir/p4est_wrappers.cc.o algorithms/CMakeFiles/obj_algorithms_debug.dir/general_data_storage.cc.o algorithms/CMakeFiles/obj_algorithms_debug.dir/operator.cc.o algorithms/CMakeFiles/obj_algorithms_debug.dir/timestep_control.cc.o matrix_free/CMakeFiles/obj_matrix_free_debug.dir/evaluation_selector.cc.o matrix_free/CMakeFiles/obj_matrix_free_debug.dir/mapping_info.cc.o matrix_free/CMakeFiles/obj_matrix_free_debug.dir/matrix_free.cc.o matrix_free/CMakeFiles/obj_matrix_free_debug.dir/task_info.cc.o meshworker/CMakeFiles/obj_meshworker_debug.dir/mesh_worker.cc.o meshworker/CMakeFiles/obj_meshworker_debug.dir/mesh_worker_info.cc.o meshworker/CMakeFiles/obj_meshworker_debug.dir/mesh_worker_vector_selector.cc.o meshworker/CMakeFiles/obj_meshworker_debug.dir/scratch_data.cc.o opencascade/CMakeFiles/obj_opencascade_debug.dir/utilities.cc.o opencascade/CMakeFiles/obj_opencascade_debug.dir/boundary_lib.cc.o opencascade/CMakeFiles/obj_opencascade_debug.dir/manifold_lib.cc.o particles/CMakeFiles/obj_particle_debug.dir/particle.cc.o particles/CMakeFiles/obj_particle_debug.dir/particle_accessor.cc.o particles/CMakeFiles/obj_particle_debug.dir/particle_iterator.cc.o particles/CMakeFiles/obj_particle_debug.dir/particle_handler.cc.o particles/CMakeFiles/obj_particle_debug.dir/generators.cc.o particles/CMakeFiles/obj_particle_debug.dir/property_pool.cc.o particles/CMakeFiles/obj_particle_debug.dir/data_out.cc.o differentiation/ad/CMakeFiles/obj_differentiation_ad_debug.dir/ad_drivers.cc.o differentiation/ad/CMakeFiles/obj_differentiation_ad_debug.dir/ad_helpers.cc.o differentiation/ad/CMakeFiles/obj_differentiation_ad_debug.dir/adolc_number_types.cc.o differentiation/ad/CMakeFiles/obj_differentiation_ad_debug.dir/sacado_number_types.cc.o differentiation/sd/CMakeFiles/obj_differentiation_sd_debug.dir/symengine_math.cc.o differentiation/sd/CMakeFiles/obj_differentiation_sd_debug.dir/symengine_number_types.cc.o differentiation/sd/CMakeFiles/obj_differentiation_sd_debug.dir/symengine_scalar_operations.cc.o differentiation/sd/CMakeFiles/obj_differentiation_sd_debug.dir/symengine_tensor_operations.cc.o differentiation/sd/CMakeFiles/obj_differentiation_sd_debug.dir/symengine_types.cc.o differentiation/sd/CMakeFiles/obj_differentiation_sd_debug.dir/symengine_utilities.cc.o physics/elasticity/CMakeFiles/obj_physics_elasticity_debug.dir/kinematics.cc.o physics/elasticity/CMakeFiles/obj_physics_elasticity_debug.dir/standard_tensors.cc.o physics/CMakeFiles/obj_physics_debug.dir/transformations.cc.o non_matching/CMakeFiles/obj_non_matching_debug.dir/coupling.cc.o non_matching/CMakeFiles/obj_non_matching_debug.dir/immersed_surface_quadrature.cc.o sundials/CMakeFiles/obj_sundials_debug.dir/arkode.cc.o sundials/CMakeFiles/obj_sundials_debug.dir/ida.cc.o sundials/CMakeFiles/obj_sundials_debug.dir/copy.cc.o sundials/CMakeFiles/obj_sundials_debug.dir/kinsol.cc.o -ldl -lrt 

How would I make sure the linker includes the command?

If you just want to try it out by hand, copy the line above onto the command line and add the flag. That's probably the fastest way to just try whether that works.

Other than that, I think that you can set the environment variable LD_FLAGS before calling cmake. But then you'd have to recompile everything.

How would I make sure the linker includes the command?

I normally use DEAL_II_LINKER_FLAGS.

I tried a ninja deal_II.g with CXX flags and linker flags set for -mcmodel=large in a clean build directory. I can visually verify the flags are there during linking now because ninja crashes still, oddly enough. I could potentially try configuring to use make instead of ninja but I'm not sure if that would change anything.

I'm out of suggestions then. What does the internet suggest for this error?

Was this page helpful?
0 / 5 - 0 ratings