# Building on Pop\_OS

**URL:** https://discourse.kitware.com/t/building-on-pop-os/853
**Category:** Simulation Modeling Toolkit (SMTK)
**Created:** [June 22, 2022, 7:55am UTC](https://discourse.kitware.com/t/building-on-pop-os/853 "2022-06-22T07:55:37Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Pranto](https://discourse.kitware.com/user_avatar/discourse.kitware.com/pranto/32/544_2.png) [@Pranto](https://discourse.kitware.com/u/Pranto)
#### Post date: [June 22, 2022, 7:55am UTC](https://discourse.kitware.com/t/building-on-pop-os/853/1 "2022-06-22T07:55:37Z")

</div>

Hi,

Recently I was trying to build the sequence of `cmb-superbuild`, `smtk`, `cmb` workflow on my Pop\_OS machine. When building `SMTK`, I got the following error message from `make` command

### Error

```bash
[40%] Linking CXX shared library ../lib/libsmtkCore.so
/usr/bin/ld: cannot find /opt/cmb-superbuild/bld/install/lib: file format not recognized
collect2: error: ld returned 1 exit status
make[2]: *** [smtk/CMakeFiles/smtkCore.dir/build.make:6474: lib/libsmtkCore.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:2342: smtk/CMakeFiles/smtkCore.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

```

## Steps used to build CMB-superbuild

### Configure

```cmake
cmake ../ \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DENABLE_qt5:BOOL=ON \
-DQt5_DIR:PATH=/opt/miniconda3/envs/rgg-session/lib/cmake/Qt5 \
-DCMAKE_PREFIX_PATH:STRING=install \
-DDEVELOPER_MODE_cmb:BOOL=ON \
-DDEVELOPER_MODE_smtk:BOOL=ON \
-DUSE_SYSTEM_boost:BOOL=OFF \
-DUSE_SYSTEM_python3:BOOL=ON \
-DUSE_SYSTEM_qt5:BOOL=ON \
-DENABLE_meshkit:BOOL=ON \
-DENABLE_netgen:BOOL=ON \
-DENABLE_occt:BOOL=ON 

```

- Run `make -j 16`
- Status ✅

## Step used to configure SMTK

### Configure

```cmake
cmake ../ \
-C/opt/cmb-superbuild/bld/smtk-developer-config.cmake \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-D_smtk_superbuild_prefix:PATH=/opt/cmb-superbuild/bld/install \
-DSMTK_UNIFIED_INSTALL_TREE:BOOL=ON \
-DCMAKE_PREFIX_PATH:STRING=install \
-DSMTK_USE_SYSTEM_MOAB:BOOL=ON \
-DLibArchive_INCLUDE_DIR=/opt/cmb-superbuild/bld/install/include \
-DLibArchive_LIBRARY=/opt/cmb-superbuild/bld/install/lib \
-Dpybind11_DIR:STRING=/opt/cmb-superbuild/bld/install/share/cmake/pybind11 \
-DSMTK_NO_SYSTEM_BOOST=OFF \
-DSMTK_ENABLE_PYTHON_WRAPPING:BOOL=ON \
-DSMTK_ENABLE_PARAVIEW_SUPPORT:BOOL=ON \
-DQt5_DIR:PATH=/opt/miniconda3/envs/rgg-session/lib/cmake/Qt5

```

- Run `make -j 16`
- Status ❌
- Error as following

```bash
[40%] Linking CXX shared library ../lib/libsmtkCore.so
/usr/bin/ld: cannot find /opt/cmb-superbuild/bld/install/lib: file format not recognized
collect2: error: ld returned 1 exit status
make[2]: *** [smtk/CMakeFiles/smtkCore.dir/build.make:6474: lib/libsmtkCore.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:2342: smtk/CMakeFiles/smtkCore.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

```

> **smtk-developer-config.cmake**
>
> set(CMAKE\_PREFIX\_PATH "/opt/cmb-superbuild/bld/install;install" CACHE PATH "Initial cache" ) set(CMAKE\_BUILD\_TYPE "RelWithDebInfo" CACHE STRING "Initial cache" ) set(SUPERBUILD\_DEVELOPER\_MODE\_ROOT "/opt/cmb-superbuild/bld/install" CACHE PATH "Initial cache" ) set(Boost\_NO\_SYSTEM\_PATHS "ON" CACHE BOOL "Initial cache" ) set(BOOST\_INCLUDEDIR "/usr/include" CACHE PATH "Initial cache" ) set(CMAKE\_CXX\_STANDARD "11" CACHE STRING "Initial cache" ) set(CMAKE\_CXX\_STANDARD\_REQUIRED "TRUE" CACHE STRING "Initial cache" ) set(HDF5\_ROOT "/opt/cmb-superbuild/bld/install" CACHE PATH "Initial cache" ) set(HDF5\_NO\_FIND\_PACKAGE\_CONFIG\_FILE "ON" CACHE BOOL "Initial cache" ) set(LibArchive\_INCLUDE\_DIR "/opt/cmb-superbuild/bld/install/include" CACHE PATH "Initial cache" ) set(LibArchive\_LIBRARY "/opt/cmb-superbuild/bld/install/lib/libarchive.so" CACHE FILEPATH "Initial cache" ) set(MOAB\_DIR "/opt/cmb-superbuild/bld/install/lib/cmake/MOAB" CACHE PATH "Initial cache" ) set(nlohmann\_json\_DIR "/opt/cmb-superbuild/bld/install/lib/cmake/nlohmann\_json" CACHE PATH "Initial cache" ) set(pegtl\_DIR "/opt/cmb-superbuild/bld/install/share/pegtl/cmake" CACHE PATH "Initial cache" ) set(ParaView\_DIR "/opt/cmb-superbuild/bld/install/lib/cmake/paraview-5.10" CACHE PATH "Initial cache" ) set(ParaView\_CLEXECUTABLES\_DIR "/opt/cmb-superbuild/bld/install/bin" CACHE PATH "Initial cache" ) set(VTK\_DIR "/opt/cmb-superbuild/bld/install/lib/cmake/paraview-5.10/vtk" CACHE PATH "Initial cache" ) set(PYTHON\_EXECUTABLE "/usr/bin/python3.9" CACHE FILEPATH "Initial cache" ) set(Python3\_EXECUTABLE "/usr/bin/python3.9" CACHE FILEPATH "Initial cache" ) set(PYTHON\_INCLUDE\_DIR "" CACHE PATH "Initial cache" ) set(PYTHON\_LIBRARY "" CACHE FILEPATH "Initial cache" ) set(Python3\_INCLUDE\_DIR "" CACHE PATH "Initial cache" ) set(Python3\_LIBRARY "" CACHE FILEPATH "Initial cache" ) set(Qt5\_DIR "/opt/miniconda3/envs/rgg-session/lib/cmake/Qt5" CACHE PATH "Initial cache" ) set(Qt5Core\_DIR "/opt/miniconda3/envs/rgg-session/lib/cmake/Qt5/../Qt5Core" CACHE PATH "Initial cache" ) set(Qt5Svg\_DIR "/opt/miniconda3/envs/rgg-session/lib/cmake/Qt5/../Qt5Svg" CACHE PATH "Initial cache" ) set(SMTK\_RELOCATABLE\_INSTALL "OFF" CACHE BOOL "Initial cache" ) set(\_smtk\_superbuild\_prefix "/opt/cmb-superbuild/bld/install" CACHE PATH "Initial cache" ) set(SMTK\_UNIFIED\_INSTALL\_TREE "ON" CACHE BOOL "Initial cache" ) set(SMTK\_DLL\_PATHS "" CACHE STRING "Initial cache" ) set(CMAKE\_INSTALL\_RPATH\_USE\_LINK\_PATH "FALSE" CACHE BOOL "Initial cache" ) set(BUILD\_SHARED\_LIBS "ON" CACHE BOOL "Initial cache" ) set(CMAKE\_INSTALL\_LIBDIR "lib" CACHE STRING "Initial cache" ) set(SMTK\_RELOCATABLE\_INSTALL "OFF" CACHE BOOL "Initial cache" ) set(BUILD\_TESTING "" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_TESTING "" CACHE BOOL "Initial cache" ) set(SMTK\_BUILD\_DOCUMENTATION "always" CACHE STRING "Initial cache" ) set(SMTK\_ENABLE\_GDAL\_SUPPORT "FALSE" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_OPENCASCADE\_SESSION "TRUE" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_QT\_SUPPORT "TRUE" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_VTK\_SUPPORT "ON" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_PARAVIEW\_SUPPORT "TRUE" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_EXODUS\_SESSION "TRUE" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_PYTHON\_WRAPPING "ON" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_MATPLOTLIB "" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_PROJECT\_UI "ON" CACHE BOOL "Initial cache" ) set(SMTK\_USE\_PYBIND11 "TRUE" CACHE BOOL "Initial cache" ) set(SMTK\_USE\_SYSTEM\_MOAB "ON" CACHE BOOL "Initial cache" ) set(PYBIND11\_INSTALL "TRUE" CACHE BOOL "Initial cache" ) set(SMTK\_QT\_VERSION "5" CACHE STRING "Initial cache" ) set(SMTK\_PYTHON\_VERSION "3" CACHE STRING "Initial cache" ) set(SMTK\_ENABLE\_MOAB\_DISCRETE\_READER "OFF" CACHE BOOL "Initial cache" ) set(SMTK\_ENABLE\_CUMULUS\_SUPPORT "" CACHE BOOL "Initial cache" ) set(CMAKE\_INSTALL\_LIBDIR "lib" CACHE STRING "Initial cache" )

Did I miss something here? And How to fix this issue?

Thanks in advance!

---

<div class="post-metadata">

### Author: ![aron.helser](https://discourse.kitware.com/user_avatar/discourse.kitware.com/aron.helser/32/149_2.png) [@aron.helser](https://discourse.kitware.com/u/aron.helser)
#### Post date: [June 22, 2022, 11:42am UTC](https://discourse.kitware.com/t/building-on-pop-os/853/2 "2022-06-22T11:42:12Z")

</div>

> [@Pranto](#):
>
> `-DLibArchive_LIBRARY=/opt/cmb-superbuild/bld/install/lib`

Yes, this line is the problem, it is expecting a library file, like a `.so`, and you are supplying a directory.  
When using the superbuild ‘developer config’, usually you should just use the config file produced by the superbuild, like your first line:

`cmake -C/opt/cmb-superbuild/bld/smtk-developer-config.cmake ../`

Have you tried this?

---

<div class="post-metadata">

### Author: ![Pranto](https://discourse.kitware.com/user_avatar/discourse.kitware.com/pranto/32/544_2.png) [@Pranto](https://discourse.kitware.com/u/Pranto)
#### Post date: [June 22, 2022, 12:35pm UTC](https://discourse.kitware.com/t/building-on-pop-os/853/3 "2022-06-22T12:35:58Z")

</div>

> [@aron.helser](#):
>
> cmake -C/opt/cmb-superbuild/bld/smtk-developer-config.cmake …/

Just tried this and got the next error message

```bash
Consolidate compiler generated dependencies of target TemplateEditor
[99%] Linking CXX executable ../../bin/TemplateEditor
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::get_mem_block()'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::raise_runtime_error(std::runtime_error const&)'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::verify_options(unsigned int, boost::regex_constants::_match_flags)'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::match_results< __gnu_cxx::__ normal_iterator<char const*, std:: __cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__ gnu_cxx:: __normal_iterator<char const*, std::__ cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results< __gnu_cxx::__ normal_iterator<char const*, std:: __cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__ gnu_cxx:: __normal_iterator<char const*, std::__ cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::perl_matcher< __gnu_cxx::__ normal_iterator<char const*, std:: __cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__ gnu_cxx:: __normal_iterator<char const*, std::__ cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::get_default_error_string(boost::regex_constants::error_type)'
/usr/bin/ld: ../../lib/libsmtkCore.so: undefined reference to `boost::re_detail_107400::put_mem_block(void*)'
collect2: error: ld returned 1 exit status
make[2]: *** [applications/TemplateEditor/CMakeFiles/TemplateEditor.dir/build.make:348: bin/TemplateEditor] Error 1
make[1]: *** [CMakeFiles/Makefile2:6538: applications/TemplateEditor/CMakeFiles/TemplateEditor.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

```

The error remains the same when system install boost library was used.

---

<div class="post-metadata">

### Author: ![aron.helser](https://discourse.kitware.com/user_avatar/discourse.kitware.com/aron.helser/32/149_2.png) [@aron.helser](https://discourse.kitware.com/u/aron.helser)
#### Post date: [June 22, 2022, 2:58pm UTC](https://discourse.kitware.com/t/building-on-pop-os/853/4 "2022-06-22T14:58:54Z")

</div>

This looks like two different versions of the boost library are in conflict. When you tried  
`cmake -C/opt/cmb-superbuild/bld/smtk-developer-config.cmake …/`  
was it a clean build - i.e. did you remove everything in the build directory?
