From b286eca61bec882fa3db6159f5c9b92e5aa6796f Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Wed, 7 Oct 2020 16:38:36 -0500 Subject: [PATCH 1/9] Add pyne_dagmc and uwuw to tarball --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 23856306a..60712cc9a 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,8 @@ cp -pPv ${HOME}/plugin-build/lib/* . cp -pPv ${HOME}/plugin-build/moab/lib/libMOAB.so* . cp -pPv ${HOME}/plugin-build/DAGMC/lib/libdagmc.so* . cp -pPv ${HOME}/plugin-build/DAGMC/lib/libmakeWatertight.so* . +cp -pPv ${HOME}/plugin-build/DAGMC/lib/libpyne_dagmc.so . +cp -pPv ${HOME}/plugin-build/DAGMC/lib/libuwuw.so . cp -pPv /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100* . chmod 644 * @@ -181,6 +183,8 @@ chmod 644 * patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libMOAB.so patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libdagmc.so patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libmakeWatertight.so +patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libpyne_dagmc.so +patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libuwuw.so # Create the Svalinn plugin tarball cd .. From 1d9ed1a843c3957e8dd1d51dd5e8bc0ea415a86c Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Wed, 7 Oct 2020 16:39:01 -0500 Subject: [PATCH 2/9] Build moab and DAGMC with _GLIBCXX_USE_CXX11_ABI=0 --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 60712cc9a..33abe583d 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,8 @@ cd ../bld --disable-blaslapack \ --with-eigen3=/usr/include/eigen3 \ --with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial \ - --prefix=${HOME}/plugin-build/moab + --prefix=${HOME}/plugin-build/moab \ + CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 make -j`grep -c processor /proc/cpuinfo` make install ``` @@ -107,8 +108,9 @@ mkdir -pv DAGMC/bld cd DAGMC git clone https://github.com/svalinn/DAGMC -b develop cd bld -cmake ../DAGMC -DMOAB_DIR=${HOME}/plugin-build/moab \ - -DBUILD_UWUW=OFF \ +cmake ../DAGMC -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \ + -DMOAB_DIR=${HOME}/plugin-build/moab \ + -DBUILD_UWUW=ON \ -DBUILD_TALLY=OFF \ -DBUILD_BUILD_OBB=OFF \ -DBUILD_MAKE_WATERTIGHT=ON \ From 96adbf0ffa88d31deb73a79f24eafccf172ab8db Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Thu, 8 Oct 2020 11:26:16 -0500 Subject: [PATCH 3/9] Add TRELIS_VERSION cmake variable --- CMakeLists.txt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ed46a5e13..609b2c4fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,15 +24,18 @@ endif () set(CMAKE_CXX_STANDARD 11) # Adjust compiler setting for Linux using gcc version 5.0 and higher -if (CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_COMPILER_IS_GNUCXX) - if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "5.0") - if (NOT CMAKE_CXX_FLAGS MATCHES _GLIBCXX_USE_CXX11_ABI) - set(CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0 ${CMAKE_CXX_FLAGS}") - endif () - endif () -endif () +#if (CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_COMPILER_IS_GNUCXX) +# if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "5.0") +# if (NOT CMAKE_CXX_FLAGS MATCHES _GLIBCXX_USE_CXX11_ABI) +# set(CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0 ${CMAKE_CXX_FLAGS}") +# endif () +# endif () +#endif () # Find Cubit/Trelis +if (NOT CUBIT_ROOT) + set(CUBIT_ROOT "/opt/Trelis-${TRELIS_VERSION}") +endif () list(APPEND CMAKE_PREFIX_PATH ${CUBIT_ROOT}/bin) find_package(Cubit REQUIRED CONFIG) include_directories(${CUBIT_INCLUDE_DIRS}) From 3ee6bde13c0093bab8c49689528e04508c1d56b9 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Thu, 8 Oct 2020 11:45:27 -0500 Subject: [PATCH 4/9] Add ability to build iGeom with Trelis 17 --- iGeom/iGeom.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/iGeom/iGeom.cpp b/iGeom/iGeom.cpp index 81e4fc66e..40138679e 100644 --- a/iGeom/iGeom.cpp +++ b/iGeom/iGeom.cpp @@ -1454,8 +1454,15 @@ CGMTagManager::CGMTagManager() // get the tag number for CATag DLIList tag_types; int max_type = 0; - CubitAttribManager *cam = CGMApp::instance()->attrib_manager(); + +#ifdef CUBIT_17_PLUS + CubitAttribManager cam = CGMApp::instance()->attrib_manager(); + cam.get_registered_types(tag_types); +#else + CubitAttribManager* cam = CGMApp::instance()->attrib_manager(); cam->get_registered_types(tag_types); +#endif + for (int i = 0; i < tag_types.size(); i++) { int this_type = tag_types.get_and_step(); max_type = (max_type < this_type ? this_type : max_type); From 646000d30105650f219c755fdef75f5339021deb Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Thu, 8 Oct 2020 11:53:38 -0500 Subject: [PATCH 5/9] Require users to specify cubit version, add compile definition to pass cubit version to iGeom.cpp --- CMakeLists.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 609b2c4fb..51ee3598d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,11 @@ project(SvalinnCommandPlugin) -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.7) + +# User must specify the version of Cubit being used +if (NOT CUBIT_VERSION) + message(FATAL_ERROR "CUBIT_VERSION not specified") +endif () # Build options option(UPDATE_SUBMODULES "Automatically update git submodules" ON) @@ -34,7 +39,7 @@ set(CMAKE_CXX_STANDARD 11) # Find Cubit/Trelis if (NOT CUBIT_ROOT) - set(CUBIT_ROOT "/opt/Trelis-${TRELIS_VERSION}") + set(CUBIT_ROOT "/opt/Trelis-${CUBIT_VERSION}") endif () list(APPEND CMAKE_PREFIX_PATH ${CUBIT_ROOT}/bin) find_package(Cubit REQUIRED CONFIG) @@ -80,6 +85,9 @@ if (BUILD_IGEOM) include_directories(iGeom) add_library(iGeom SHARED ${IGEOM_SRC_FILES}) target_link_libraries(iGeom ${CUBIT_LIBS}) + if (CUBIT_VERSION VERSION_GREATER_EQUAL 17.0) + target_compile_definitions(iGeom PUBLIC -DCUBIT_17_PLUS) + endif () install(TARGETS iGeom LIBRARY DESTINATION lib) list(APPEND PLUGIN_LINK_LIBS iGeom) endif () From 6dbdc45985879d5baef0668539af1ec0a13486b2 Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Fri, 9 Oct 2020 14:47:50 -0500 Subject: [PATCH 6/9] Uncomment ABI flag --- CMakeLists.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 51ee3598d..c6aa4a5b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,13 +29,13 @@ endif () set(CMAKE_CXX_STANDARD 11) # Adjust compiler setting for Linux using gcc version 5.0 and higher -#if (CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_COMPILER_IS_GNUCXX) -# if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "5.0") -# if (NOT CMAKE_CXX_FLAGS MATCHES _GLIBCXX_USE_CXX11_ABI) -# set(CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0 ${CMAKE_CXX_FLAGS}") -# endif () -# endif () -#endif () +if (CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "5.0") + if (NOT CMAKE_CXX_FLAGS MATCHES _GLIBCXX_USE_CXX11_ABI) + set(CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0 ${CMAKE_CXX_FLAGS}") + endif () + endif () +endif () # Find Cubit/Trelis if (NOT CUBIT_ROOT) From c05c7c02e4e5b3de84e9927324692e8c095e4d38 Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Fri, 9 Oct 2020 15:20:17 -0500 Subject: [PATCH 7/9] Update readme --- README.md | 108 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 33abe583d..d730decbb 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,20 @@ Svalinn plugins and command extensions for Trelis ================================================= -**Beta:** This software is currently under early development. It has been +**Beta:** This software is currently under early development. It has been demonstrated to work on a wide range of problems, but the build system is not -well developed. +finalized. + +The plugin has been tested and is confirmed to work with Trelis versions 16.5 +and 17.1. These build instructions assume that Trelis 17.1 is being used, but +other versions can be used by replacing instances of "17.1" with the version +being used. Prerequisites ============= -In order to build the plugin, you must have access to Trelis-16.5 and the -Trelis-16.5 SDK. Additionally, the following system packages must be present on +In order to build the plugin, you must have access to Trelis and the Trelis SDK. +Additionally, the following system packages must be present on your computer: * EIGEN3 @@ -34,21 +39,32 @@ Trelis can be installed by obtaining the Trelis `.deb` package and installing it with the package manager; i.e. ``` -sudo dpkg -i Trelis-16.5.3-Lin64.deb +sudo dpkg -i Trelis-17.1.0-Lin64.deb ``` -This installs Trelis to `/opt/Trelis-16.5`. +This installs Trelis to `/opt/Trelis-17.1`. -The Trelis SDK can be installed with these commands: +The Trelis 17 SDK can be installed with these commands: + +``` +cd /opt +sudo tar -xzvf /path/to/Trelis-SDK-17.1.0-Lin64.tar.gz +``` + +### Note for Trelis 16 + +The SDK for Trelis 16 should be unpacked from `/opt/Trelis-16.5` instead of +just `/opt`; i.e. ``` cd /opt/Trelis-16.5 -sudo tar -xzvf /path/to/Trelis-SDK-16.5.3-Lin64.tar.gz +sudo tar -xzvf /path/to/Trelis-SDK-16.5.4-Lin64.tar.gz ``` -There is currently a bug (or some other unknown issue) which requires a file in -the Trelis SDK to be modified. The following commands show how to make this -change. +There is also a bug (or some other unknown issue) in Trelis 16 which requires a +file in the Trelis SDK to be modified. The following commands show how to make +this change. This issue is not present in Trelis 17, so these commands do not +need to be run for Trelis 17. ``` cd /opt/Trelis-16.5/bin @@ -72,8 +88,15 @@ remains empty when running Trelis as well. Build MOAB ========== -MOAB must be built with HDF5 enabled. The following commands show how to build -the MOAB dependency using system HDF5. +MOAB must be built with HDF5 enabled. On Ubuntu 18.04, HDF5 is located in the +`/usr/lib/x86_64-linux-gnu/hdf5/serial` directory, but it may be located +somewhere else on other flavors or versions of Linux. MOAB should be built with +the Eigen matrix algebra library instead of LAPACK. The +`_GLIBCXX_USE_CXX11_ABI=0` flag is required for compatibility with Trelis. + +The following commands show how to correctly build the MOAB dependency. If HDF5 +is located somewhere other than `/usr/lib/x86_64-linux-gnu/hdf5/serial`, then +replace the directory with the correct one. ``` cd ${HOME}/plugin-build @@ -83,8 +106,7 @@ git clone https://bitbucket.org/fathomteam/moab -b Version5.1.0 cd moab autoreconf -fi cd ../bld -../moab/configure --disable-blaslapack \ - --enable-shared \ +../moab/configure --enable-shared \ --enable-optimize \ --disable-debug \ --disable-blaslapack \ @@ -99,8 +121,13 @@ make install Build DAGMC =========== -The following commands show how to build the DAGMC dependency. Only the features -that are needed are built using these commands. +The following commands show how to build the DAGMC dependency. The `uwuw` and +`make_watertight` features should be turned on, while other features should be +turned off. The `MOAB_DIR` variable should point to the location of the +previously-built MOAB library. The `_GLIBCXX_USE_CXX11_ABI=0` flag is once again +required. + +The following commands show how to correctly build the DAGMC dependency. ``` cd ${HOME}/plugin-build @@ -122,21 +149,21 @@ make -j`grep -c processor /proc/cpuinfo` make install ``` -This results in the DAGMC library being built against the previously-built MOAB -library. - Build the Plugin ================ -The following commands show how to build the plugin itself. The `CUBIT_ROOT` -variable must point to the location of Trelis, while the `DAGMC_DIR` variable -must point to the location of DAGMC. +The following commands show how to build the plugin itself. The `CUBIT_VERSION` +variable, which specifies the version of Trelis, must be included. Only the +first two numbers in the version should be included; e.g. use "17.1" instead of +"17.1.0". This indicates to the build system that Trelis is located in +`/opt/Trelis-17.1` for Trelis 17.1. The `DAGMC_DIR` variable should point to the +location of the previously-built DAGMC library. ``` cd ${HOME}/plugin-build mkdir -pv bld cd bld -cmake ../Trelis-plugin -DCUBIT_ROOT=/opt/Trelis-16.5 \ +cmake ../Trelis-plugin -CUBIT_VERSION=17.1 \ -DDAGMC_DIR=${HOME}/plugin-build/DAGMC \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=${HOME}/plugin-build @@ -162,8 +189,9 @@ git submodule update --init Create the Tarball ================== -The following commands show how to create the tarall for the plugin. These -commands have only been tested on Ubuntu 18.04. +The following commands show how to create the tarall for the plugin. Once again, +the location of HDF5 might be different than what is presented here depending on +what flavor or version of Linux is being used. ``` # Set up the directory which will contain the libraries @@ -172,34 +200,34 @@ mkdir -p pack/bin/plugins/svalinn cd pack/bin/plugins/svalinn # Copy all needed libraries into current directory -cp -pPv ${HOME}/plugin-build/lib/* . +cp -pPv /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100* . cp -pPv ${HOME}/plugin-build/moab/lib/libMOAB.so* . cp -pPv ${HOME}/plugin-build/DAGMC/lib/libdagmc.so* . cp -pPv ${HOME}/plugin-build/DAGMC/lib/libmakeWatertight.so* . -cp -pPv ${HOME}/plugin-build/DAGMC/lib/libpyne_dagmc.so . -cp -pPv ${HOME}/plugin-build/DAGMC/lib/libuwuw.so . -cp -pPv /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100* . +cp -pPv ${HOME}/plugin-build/DAGMC/lib/libpyne_dagmc.so* . +cp -pPv ${HOME}/plugin-build/DAGMC/lib/libuwuw.so* . +cp -pPv ${HOME}/plugin-build/lib/* . chmod 644 * # Set the RPATH to be the current directory for the DAGMC libraries -patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libMOAB.so -patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libdagmc.so -patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libmakeWatertight.so -patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libpyne_dagmc.so -patchelf --set-rpath /opt/Trelis-16.5/bin/plugins/svalinn libuwuw.so +patchelf --set-rpath /opt/Trelis-17.1/bin/plugins/svalinn libMOAB.so +patchelf --set-rpath /opt/Trelis-17.1/bin/plugins/svalinn libdagmc.so +patchelf --set-rpath /opt/Trelis-17.1/bin/plugins/svalinn libmakeWatertight.so +patchelf --set-rpath /opt/Trelis-17.1/bin/plugins/svalinn libpyne_dagmc.so +patchelf --set-rpath /opt/Trelis-17.1/bin/plugins/svalinn libuwuw.so # Create the Svalinn plugin tarball cd .. ln -sv svalinn/libsvalinn_plugin.so . cd ../.. -tar --sort=name -czvf svalinn-plugin.tgz bin -mv -v svalinn-plugin.tgz .. +tar --sort=name -czvf svalinn-plugin-17.1.tgz bin +mv -v svalinn-plugin-17.1.tgz .. cd .. rm -rf pack ``` The Svalinn plugin tarball should now be located at -`${HOME}/plugin-build/svalinn-plugin.tgz`. +`${HOME}/plugin-build/svalinn-plugin-17.1.tgz`. Install the Plugin ================== @@ -207,8 +235,8 @@ Install the Plugin To install the plugin, simply run ``` -cd /opt/Trelis-16.5 -sudo tar -xzvf ${HOME}/plugin-build/svalinn-plugin.tgz +cd /opt/Trelis-17.1 +sudo tar -xzvf ${HOME}/plugin-build/svalinn-plugin-17.1.tgz ``` Test the Plugin From 5f99de7d7260f550157f330c407a0fec9fea2991 Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Fri, 9 Oct 2020 17:04:02 -0500 Subject: [PATCH 8/9] Use included CUBIT_VERSION_MAJOR from Trelis to get Cubit version instead of requiring users to specify it --- CMakeLists.txt | 12 ++---------- README.md | 11 ++++------- iGeom/iGeom.cpp | 3 ++- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c6aa4a5b1..1fd7d91f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,6 @@ project(SvalinnCommandPlugin) -cmake_minimum_required(VERSION 3.7) - -# User must specify the version of Cubit being used -if (NOT CUBIT_VERSION) - message(FATAL_ERROR "CUBIT_VERSION not specified") -endif () +cmake_minimum_required(VERSION 3.0) # Build options option(UPDATE_SUBMODULES "Automatically update git submodules" ON) @@ -39,7 +34,7 @@ endif () # Find Cubit/Trelis if (NOT CUBIT_ROOT) - set(CUBIT_ROOT "/opt/Trelis-${CUBIT_VERSION}") + message(FATAL_ERROR "CUBIT_ROOT not specified") endif () list(APPEND CMAKE_PREFIX_PATH ${CUBIT_ROOT}/bin) find_package(Cubit REQUIRED CONFIG) @@ -85,9 +80,6 @@ if (BUILD_IGEOM) include_directories(iGeom) add_library(iGeom SHARED ${IGEOM_SRC_FILES}) target_link_libraries(iGeom ${CUBIT_LIBS}) - if (CUBIT_VERSION VERSION_GREATER_EQUAL 17.0) - target_compile_definitions(iGeom PUBLIC -DCUBIT_17_PLUS) - endif () install(TARGETS iGeom LIBRARY DESTINATION lib) list(APPEND PLUGIN_LINK_LIBS iGeom) endif () diff --git a/README.md b/README.md index d730decbb..10e00b44d 100644 --- a/README.md +++ b/README.md @@ -152,18 +152,15 @@ make install Build the Plugin ================ -The following commands show how to build the plugin itself. The `CUBIT_VERSION` -variable, which specifies the version of Trelis, must be included. Only the -first two numbers in the version should be included; e.g. use "17.1" instead of -"17.1.0". This indicates to the build system that Trelis is located in -`/opt/Trelis-17.1` for Trelis 17.1. The `DAGMC_DIR` variable should point to the -location of the previously-built DAGMC library. +The following commands show how to build the plugin itself. The `CUBIT_ROOT` +variable should point to the location of Trelis. The `DAGMC_DIR` variable should +point to the location of the previously-built DAGMC library. ``` cd ${HOME}/plugin-build mkdir -pv bld cd bld -cmake ../Trelis-plugin -CUBIT_VERSION=17.1 \ +cmake ../Trelis-plugin -CUBIT_ROOT=/opt/Trelis-17.1 \ -DDAGMC_DIR=${HOME}/plugin-build/DAGMC \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=${HOME}/plugin-build diff --git a/iGeom/iGeom.cpp b/iGeom/iGeom.cpp index 40138679e..8165d5dce 100644 --- a/iGeom/iGeom.cpp +++ b/iGeom/iGeom.cpp @@ -2,6 +2,7 @@ #include "CATag.hpp" #include "CubitEntity.hpp" #include "CubitInterface.hpp" +#include "CubitVersion.h" #include "GeometryQueryTool.hpp" #include "Body.hpp" #include "RefEntityFactory.hpp" @@ -1455,7 +1456,7 @@ CGMTagManager::CGMTagManager() DLIList tag_types; int max_type = 0; -#ifdef CUBIT_17_PLUS +#if CUBIT_VERSION_MAJOR >= 17 CubitAttribManager cam = CGMApp::instance()->attrib_manager(); cam.get_registered_types(tag_types); #else From 7a355d4653e7f48a8bb28dc368d607f7dba6114c Mon Sep 17 00:00:00 2001 From: Lucas John Jacobson Date: Fri, 9 Oct 2020 17:10:54 -0500 Subject: [PATCH 9/9] Move ABI flag to beginning of moab configure options --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 10e00b44d..659b7ac60 100644 --- a/README.md +++ b/README.md @@ -106,14 +106,14 @@ git clone https://bitbucket.org/fathomteam/moab -b Version5.1.0 cd moab autoreconf -fi cd ../bld -../moab/configure --enable-shared \ +../moab/configure CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \ + --enable-shared \ --enable-optimize \ --disable-debug \ --disable-blaslapack \ --with-eigen3=/usr/include/eigen3 \ --with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial \ - --prefix=${HOME}/plugin-build/moab \ - CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 + --prefix=${HOME}/plugin-build/moab make -j`grep -c processor /proc/cpuinfo` make install ```