scr icon indicating copy to clipboard operation
scr copied to clipboard

Static build fails with BBAPI enabled

Open CamStan opened this issue 4 years ago • 1 comments

First encountered this when testing the Spack builds. Was able to replicate it with bootstrap.sh.

How to Reproduce

Using bootstrap.sh from PR #452, open that file and edit the AXL cmake options to enable IBM BBAPI during a static build; e.g., -DENABLE_IBM_BBAPI=ON. Then run bootstrap.sh and then configure scr with -DENABLE_IBM_BBAPI=ON and -DBUILD_SHARED_LIBS=OFF and build:

$ ./boostrap.sh --debug --dev --static
$ mkdir -p build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/scr/install -DSCR_RESOURCE_MANAGER=LSF -DENABLE_IBM_BBAPI=ON -DBUILD_SHARED_LIBS=OFF ..
$ make VERBOSE=1

Resulting Error(s)

make -f src/CMakeFiles/scr_flush_file.dir/build.make src/CMakeFiles/scr_flush_file.dir/build
make[2]: Entering directory '/usr/WS1/stanavig/trash/scr/build'
[ 26%] Building C object src/CMakeFiles/scr_flush_file.dir/scr_flush_file.c.o
cd /usr/workspace/stanavig/trash/scr/build/src && /usr/tcetmp/bin/cc  -I/usr/workspace/stanavig/trash/scr/install/include -I/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-2020.08.19/include -I/usr/workspace/stanavig/trash/scr/src -I/usr/workspace/stanavig/trash/scr/build  -Wall  -fPIE   -o CMakeFiles/scr_flush_file.dir/scr_flush_file.c.o   -c /usr/workspace/stanavig/trash/scr/src/scr_flush_file.c
[ 27%] Linking C executable scr_flush_file
cd /usr/workspace/stanavig/trash/scr/build/src && /usr/tce/packages/cmake/cmake-3.14.5/bin/cmake -E cmake_link_script CMakeFiles/scr_flush_file.dir/link.txt --verbose=1
/usr/tcetmp/bin/cc -Wall   -rdynamic CMakeFiles/scr_flush_file.dir/scr_flush_file.c.o  -o scr_flush_file libscr_base.a ../../install/lib64/libaxl.a ../../install/lib64/libredset_base.a ../../install/lib64/libspath_base.a ../../install/lib64/libkvtree_base.a -lz -lpthread
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `getLastErrorDetails':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:127: undefined reference to `BB_GetLastErrorDetails'
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:130: undefined reference to `BB_GetLastErrorDetails'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `axl_async_init_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:219: undefined reference to `BB_InitLibrary'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `axl_async_finalize_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:236: undefined reference to `BB_TerminateLibrary'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `axl_async_create_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:294: undefined reference to `BB_CreateTransferDef'
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:305: undefined reference to `BB_GetTransferHandle'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `axl_async_add_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:355: undefined reference to `BB_AddFiles'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `__axl_async_start_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:421: undefined reference to `BB_StartTransfer'
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:444: undefined reference to `BB_FreeTransferDef'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `transfer_is_complete_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:518: undefined reference to `BB_GetTransferInfo'
../../install/lib64/libaxl.a(axl_async_bbapi.c.o): In function `axl_async_cancel_bbapi':
/usr/workspace/stanavig/trash/scr/deps/AXL/src/axl_async_bbapi.c:653: undefined reference to `BB_CancelTransfer'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/scr_flush_file.dir/build.make:90: src/scr_flush_file] Error 1
make[2]: Leaving directory '/usr/WS1/stanavig/trash/scr/build'
make[1]: *** [CMakeFiles/Makefile2:1168: src/CMakeFiles/scr_flush_file.dir/all] Error 2
make[1]: Leaving directory '/usr/WS1/stanavig/trash/scr/build'
make: *** [Makefile:141: all] Error 2

CamStan avatar Oct 28 '21 02:10 CamStan

Related to #318

CamStan avatar Nov 02 '21 19:11 CamStan