[Trilinos-Users] Error building trilinos on MacOS
Jonathan Hu
jhu at sandia.gov
Fri Jun 10 18:27:16 EDT 2016
Hi Rick,
You could try keeping Boost enabled but disabe STKClassic:
-D Trilinos_ENABLE_STKClassic:BOOL=OFF
Jonathan
Muller, Richard wrote on 06/10/2016 03:21 PM:
> Thanks to some help from Andrew, I’ve progressed, but I’m still not
> able to compile everything.
>
> Here’s what I’ve learned:
>
> 1. Building and installing the boost library works better (in terms of
> being recognized by the CMAKE configurator) than either just unpacking
> the directory or using the boost that’s available in macports.
>
> 2. The syntax that seems to work is to send the boost directory prefix
> without the trailing “/include” to the configurator, i.e.
> BOOSTDIR=/usr/local
> and then passing
>
> -D Boost_INCLUDE_DIRS:FILEPATH="$BOOSTDIR" \
> -D TPL_ENABLE_BoostLib=ON \
> -D BoostLib_INCLUDE_DIRS:FILEPATH="$BOOSTDIR" \
> -D BoostLib_LIBRARY_DIRS:FILEPATH="$BOOSTDIR/lib" \
>
> to CMAKE (rather than, for example, $BOOTDIR/include). Don’t know why
> this would work better, maybe there’s something in the root directory
> that CMAKE needs. Recall there being some comment to that effect after
> I built boost.
>
> However, I’m still not able to build under macos. When I turn on
> BoostLib (-D TPL_ENABLE_BoostLib=ON), I get the error:
>
> [ 63%] Linking CXX shared library libstkclassic_util_diag.dylib
> clang: warning: argument unused during compilation: '-ansi'
> Undefined symbols for architecture x86_64:
> "stk_classic::parallel_machine_rank(int)", referenced from:
> stk_classic::diag::printTimersTable(std::__1::basic_ostream<char,
> std::__1::char_traits<char> >&, stk_classic::diag::Timer, unsigned
> long, bool, int) in PrintTimer.cpp.o
> "stk_classic::parallel_machine_size(int)", referenced from:
> stk_classic::diag::printTimersTable(std::__1::basic_ostream<char,
> std::__1::char_traits<char> >&, stk_classic::diag::Timer, unsigned
> long, bool, int) in PrintTimer.cpp.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to
> see invocation)
> make[2]: ***
> [packages/stk/stk_classic/stk_util/stk_util/diag/libstkclassic_util_diag.12.7.dylib]
> Error 1
> make[1]: ***
> [packages/stk/stk_classic/stk_util/stk_util/diag/CMakeFiles/stkclassic_util_diag.dir/all]
> Error 2
> make: *** [all] Error 2
>
>
> When I turn off BoostLib (-D TPL_ENABLE_BoostLib=OFF), I get the error:
>
> [ 69%] Linking CXX shared library libstk_util_env.dylib
> clang: warning: argument unused during compilation: '-ansi'
> Undefined symbols for architecture x86_64:
> "null_streambuf::null_streambuf()", referenced from:
> stk::EnvData::EnvData() in EnvData.cpp.o
> "null_streambuf::~null_streambuf()", referenced from:
> stk::EnvData::EnvData() in EnvData.cpp.o
> stk::EnvData::~EnvData() in EnvData.cpp.o
> "stk::get_heap_used()", referenced from:
> stk::diag::Trace::Trace(stk::diag::Writer&, char const*,
> int, bool) in Trace.cpp.o
> stk::diag::Trace::~Trace() in Trace.cpp.o
> "stk::all_write_string(int, std::__1::basic_ostream<char,
> std::__1::char_traits<char> >&, std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
> referenced from:
>
> (continues at some length).
>
> Any suggestions on other things to try?
>
> Rick
>
> On 6/10/16, 1:46 PM, "Bradley, Andrew Michael" <ambradl at sandia.gov
> <mailto:ambradl at sandia.gov>> wrote:
>
> STK does in general use libs, but maybe not in this case. You can
> try running w/o the LIBRARY line; I have no idea what will happen.
>
>
> In case you didn't remember this, there's a config script that we
> worked out back in March on skybridge:
>
> /ascldap/users/ambradl/Trilinos/build-static
>
> TPLs are here:
>
> /ascldap/users/ambradl/tpl
> Doesn't help you for your local mac build, but it might serve as a
> guide.
>
>
> ------------------------------------------------------------------------
> *From:* Muller, Richard
> *Sent:* Friday, June 10, 2016 1:43 PM
> *To:* Bradley, Andrew Michael
> *Subject:* Re: [EXTERNAL] [Trilinos-Users] Error building trilinos
> on MacOS
> The boostlib stuff isn’t configuring. Do I need to have built and
> installed the libraries first? (Dumb question?)
>
> On 6/10/16, 1:39 PM, "Bradley, Andrew Michael" <ambradl at sandia.gov
> <mailto:ambradl at sandia.gov>> wrote:
>
> Just to be clear, I mean like this:
>
>
> -D TPL_ENABLE_BoostLib=ON \
> -D BoostLib_INCLUDE_DIRS:PATH=[stuff] \
> -D BoostLib_LIBRARY_DIRS:PATH=[stuff if using libs and not
> just headers] \
>
>
> ------------------------------------------------------------------------
> *From:* Bradley, Andrew Michael
> *Sent:* Friday, June 10, 2016 1:38 PM
> *To:* Muller, Richard
> *Subject:* Re: [EXTERNAL] [Trilinos-Users] Error building
> trilinos on MacOS
>
> Right, ok. Go back to the original line (I was wrong about
> adding "include") and try the BoostLib idea.
>
>
> ------------------------------------------------------------------------
> *From:* Muller, Richard
> *Sent:* Friday, June 10, 2016 1:37 PM
> *To:* Bradley, Andrew Michael
> *Subject:* Re: [EXTERNAL] [Trilinos-Users] Error building
> trilinos on MacOS
> Here’s the output configuring using:
>
> -D
> Boost_INCLUDE_DIRS:FILEPATH="/Users/rmuller/Programs/boost/boost_1_61_0/include"
> \
> -D Trilinos_VERBOSE_CONFIGURE:BOOL=ON \
>
>
> Processing enabled TPL: Boost (enabled explicitly, disable
> with -DTPL_ENABLE_Boost=OFF)
> -- Searching for headers in
> Boost_INCLUDE_DIRS='/Users/rmuller/Programs/boost/boost_1_61_0/include'
> -- Searching for a header file in the set "boost/version.hpp":
> -- Searching for header 'boost/version.hpp' ...
> -- ERROR: Could not find a header file in the set
> "boost/version.hpp"
> -- Searching for a header file in the set "boost/mpl/at.hpp":
> -- Searching for header 'boost/mpl/at.hpp' ...
> -- ERROR: Could not find a header file in the set
> "boost/mpl/at.hpp"
> -- ERROR: Could not find the include directories for TPL
> 'Boost'!
> -- TIP: If the TPL 'Boost' is on your system then you can set:
> -DBoost_INCLUDE_DIRS='<dir0>;<dir1>;...'
> to point to directories where these header files may be
> found.
> Or, just set:
> -DTPL_Boost_INCLUDE_DIRS='<dir0>;<dir1>;...'
> to point to the include directories which will bypass
> any search for
> header files and these include directories will be used
> without
> question in the build. (But this will result in a
> build-time error
> obviously if the necessary header files are not found
> in these
> include directories.)
> -- ERROR: Failed finding all of the parts of TPL 'Boost'
> (see above), Aborting!
>
> -- NOTE: The find module file for this failed TPL 'Boost' is:
> /Users/rmuller/Programs/trilinos/TrilinosGit/cmake/tribits/common_tpls/FindTPLBoost.cmake
> which is pointed to in the file:
> /Users/rmuller/Programs/trilinos/TrilinosGit/TPLsList.cmake
>
> TIP: Even though the TPL 'Boost' was explicitly enabled in
> input,
> it can be disabled with:
> -DTPL_ENABLE_Boost=OFF
> which will disable it and will recursively disable all of the
> downstream packages that have required dependencies on it.
> When you reconfigure, just grep the cmake stdout for 'Boost'
> and then follow the disables that occur as a result to see
> what impact
> this TPL disable has on the configuration of Trilinos.
>
> CMake Error at
> cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake:127
> (MESSAGE):
> ERROR: TPL_Boost_NOT_FOUND=TRUE, aborting!
> Call Stack (most recent call first):
> cmake/tribits/core/package_arch/TribitsGlobalMacros.cmake:1561
> (TRIBITS_PROCESS_ENABLED_TPL)
> cmake/tribits/core/package_arch/TribitsProjectImpl.cmake:209
> (TRIBITS_PROCESS_ENABLED_TPLS)
> cmake/tribits/core/package_arch/TribitsProject.cmake:93
> (TRIBITS_PROJECT_IMPL)
> CMakeLists.txt:93 (TRIBITS_PROJECT)
>
>
> On 6/10/16, 1:33 PM, "Bradley, Andrew Michael"
> <ambradl at sandia.gov <mailto:ambradl at sandia.gov>> wrote:
>
> Right, so that's where sending the output from
>
> -D Trilinos_VERBOSE_CONFIGURE:BOOL=ON
> would help.
>
>
> ------------------------------------------------------------------------
> *From:* Muller, Richard
> *Sent:* Friday, June 10, 2016 1:32 PM
> *To:* Bradley, Andrew Michael
> *Subject:* Re: [EXTERNAL] [Trilinos-Users] Error building
> trilinos on MacOS
> Okay, it *doesn’t* configure if I add the “/include" to
> the end of the path.
>
> On 6/10/16, 1:28 PM, "Bradley, Andrew Michael"
> <ambradl at sandia.gov <mailto:ambradl at sandia.gov>> wrote:
>
> Hi Rich,
>
>
> Add
> -D Trilinos_VERBOSE_CONFIGURE:BOOL=ON
> to your Trilinos config and send the output. I'd like
> to see what it thinks boost is.
>
>
> In addition, you might try
>
> -D
> Boost_INCLUDE_DIRS:FILEPATH="/Users/rmuller/Programs/boost/boost_1_61_0/include"
> if that is indeed the include directory; the original
> line might just be off by that.
>
> Cheers,
> Andrew
>
> ------------------------------------------------------------------------
> *From:* Trilinos-Users
> <trilinos-users-bounces at trilinos.org
> <mailto:trilinos-users-bounces at trilinos.org>> on
> behalf of Muller, Richard <rmuller at sandia.gov
> <mailto:rmuller at sandia.gov>>
> *Sent:* Friday, June 10, 2016 1:25 PM
> *To:* trilinos-users at trilinos.org
> <mailto:trilinos-users at trilinos.org>
> *Subject:* [EXTERNAL] [Trilinos-Users] Error building
> trilinos on MacOS
> I’m trying to build trilinos on MacOS 10.11.5 (El
> Capitan). Building from the github archive. Got the error:
>
> [ 68%] Building CXX object
> packages/stk/stk_util/stk_util/util/CMakeFiles/stk_util_util.dir/PageAlignedAllocator.cpp.o
> In file included from
> /Users/rmuller/Programs/trilinos/TrilinosGit/packages/stk/stk_util/stk_util/util/PageAlignedAllocator.cpp:35:
> /Users/rmuller/Programs/trilinos/TrilinosGit/packages/stk/stk_util/stk_util/util/PageAlignedAllocator.hpp:37:10:
> fatal error:
> 'boost/type_traits/is_same.hpp' file not found
> #include <boost/type_traits/is_same.hpp> // for is_same
> ^
> 1 error generated.
> make[2]: ***
> [packages/stk/stk_util/stk_util/util/CMakeFiles/stk_util_util.dir/PageAlignedAllocator.cpp.o]
> Error 1
> make[1]: ***
> [packages/stk/stk_util/stk_util/util/CMakeFiles/stk_util_util.dir/all]
> Error 2
> make: *** [all] Error 2
>
> I’m using boost 1.61 (also tried with v1.59). The
> file /Users/rmuller/Programs/boost/boost_1_61_0/boost/type_traits/is_same.hpp
> exists on my computer, and in my CMAKE configuration
> file I have:
> -D
> Boost_INCLUDE_DIRS:FILEPATH="/Users/rmuller/Programs/boost/boost_1_61_0"
>
> defined.
>
> $ gcc --version
> Configured with:
> --prefix=/Applications/Xcode.app/Contents/Developer/usr
> --with-gxx-include-dir=/usr/include/c++/4.2.1
> Apple LLVM version 7.3.0 (clang-703.0.31)
> Target: x86_64-apple-darwin15.5.0
> Thread model: posix
> InstalledDir:
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
>
>
> Any suggestions for how to get around this?
>
>
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at trilinos.org
> https://trilinos.org/mailman/listinfo/trilinos-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20160610/38bb52ce/attachment.html>
More information about the Trilinos-Users
mailing list