Describe the Bug
/usr/bin/ld: /usr/local/fluka/lib/libfluka.a(pw.o): undefined reference to symbol 'uncompress'
/usr/bin/ld: /sw/moab/5.5.1/lib/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/fluka/app/CMakeFiles/mainfludag.dir/build.make:104: src/fluka/app/mainfludag] Error 1
make[1]: *** [CMakeFiles/Makefile2:1506: src/fluka/app/CMakeFiles/mainfludag.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
fluka 4-4.0
To Reproduce
git clone https://github.com/makeclean/DAGMC
cd DAGMC/
git checkout fluka-cern
git submodule update --init
mkdir build
cd build
cmake .. -DMOAB_DIR=/sw/conda_envs/moab/dev-20250320 -DBUILD_TALLY=ON -DBUILD_FLUKA=ON -DFLUKA_LIBRARIES=/usr/local/fluka/lib -DFLUKA_DIR=/usr/local/fluka -DCMAKE_INSTALL_PREFIX=/sw/dagmc/fluka-20250324 -DCMAKE_BUILD_TYPE=Debug
make -j
Fix
I fixed this way:
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--copy-dt-needed-entries")
cat ../src/fluka/CMakeLists.txt
message("")
find_package(Fluka REQUIRED)
set(SRC_FILES fluka_funcs.cpp)
set(PUB_HEADERS fluka_funcs.h)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--copy-dt-needed-entries")
set(LINK_LIBS ${FLUKA_LIBRARIES} dagmc pyne_dagmc uwuw)
set(LINK_LIBS_EXTERN_NAMES)
include_directories(${CMAKE_SOURCE_DIR}/src/pyne)
include_directories(${CMAKE_SOURCE_DIR}/src/dagmc)
include_directories(${CMAKE_BINARY_DIR}/src/dagmc)
include_directories(${CMAKE_SOURCE_DIR}/src/uwuw)
dagmc_install_library(fludag)
add_subdirectory(app)
if (BUILD_TESTS)
add_subdirectory(tests)
endif ()
Describe the Bug
/usr/bin/ld: /usr/local/fluka/lib/libfluka.a(pw.o): undefined reference to symbol 'uncompress'
/usr/bin/ld: /sw/moab/5.5.1/lib/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/fluka/app/CMakeFiles/mainfludag.dir/build.make:104: src/fluka/app/mainfludag] Error 1
make[1]: *** [CMakeFiles/Makefile2:1506: src/fluka/app/CMakeFiles/mainfludag.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
fluka 4-4.0
To Reproduce
git clone https://github.com/makeclean/DAGMC
cd DAGMC/
git checkout fluka-cern
git submodule update --init
mkdir build
cd build
cmake .. -DMOAB_DIR=/sw/conda_envs/moab/dev-20250320 -DBUILD_TALLY=ON -DBUILD_FLUKA=ON -DFLUKA_LIBRARIES=/usr/local/fluka/lib -DFLUKA_DIR=/usr/local/fluka -DCMAKE_INSTALL_PREFIX=/sw/dagmc/fluka-20250324 -DCMAKE_BUILD_TYPE=Debug
make -j
Fix
I fixed this way:
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--copy-dt-needed-entries")
cat ../src/fluka/CMakeLists.txt
message("")
find_package(Fluka REQUIRED)
set(SRC_FILES fluka_funcs.cpp)
set(PUB_HEADERS fluka_funcs.h)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--copy-dt-needed-entries")
set(LINK_LIBS ${FLUKA_LIBRARIES} dagmc pyne_dagmc uwuw)
set(LINK_LIBS_EXTERN_NAMES)
include_directories(${CMAKE_SOURCE_DIR}/src/pyne)
include_directories(${CMAKE_SOURCE_DIR}/src/dagmc)
include_directories(${CMAKE_BINARY_DIR}/src/dagmc)
include_directories(${CMAKE_SOURCE_DIR}/src/uwuw)
dagmc_install_library(fludag)
add_subdirectory(app)
if (BUILD_TESTS)
add_subdirectory(tests)
endif ()