FoldingAtHome / fah-client-bastet

Folding@home client, code named Bastet
GNU General Public License v3.0
72 stars 12 forks source link

Unable to build on ubuntu 23.10 #229

Closed Voronsky closed 5 months ago

Voronsky commented 7 months ago

Currently trying to build this fah-client on Ubuntu 23.10.

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=23.10
DISTRIB_CODENAME=mantic
DISTRIB_DESCRIPTION="Ubuntu 23.10"

And it seems I run into the following error while doing this build step scons -C fah-client-bastet

scons: Reading SConscript files ...
   Compiler: gcc (gnu)
   Platform: posix
       Mode: gnu
       Arch: None
GCC Version: 13
       Jobs: 24
Checking for C library pthread... (cached) yes
Checking for C header file zlib.h... (cached) yes
Checking for C library z... (cached) yes
Checking for C header file bzlib.h... (cached) yes
Checking for C library bz2... (cached) yes
Checking for C header file expat.h... (cached) yes
Checking for C library expat... (cached) yes
Checking for C header file pthread.h... (cached) yes
Checking for C library pthread... (cached) yes
Checking for C library dl... (cached) yes
Checking for C library sqlite3... (cached) yes
Checking for C header file sqlite3.h... yes
Checking for C function sqlite3_backup_init()... (cached) yes
Checking for C header file yaml.h... (cached) yes
Checking for C library yaml... (cached) yes
Checking for C library snappy... no
Need library snappy(cached) error: no result
Checking for C header file mysql/mysql.h... (cached) yes
Checking for C library mariadbclient... no
Checking for C library mysqlclient... (cached) yes
Checking for C function mysql_real_connect_start()... no
Checking for C library lz4... (cached) yes
Checking for C function clock_gettime()... (cached) yes
Checking for C header file event2/event.h... (cached) yes
Checking for C library event... (cached) yes
Checking for C++ header file re2/re2.h... (cached) yes
Checking for C library re2... (cached) yes
Checking for C function epoll_create1()... (cached) yes
Checking for C library dl... (cached) yes
Checking for C header file openssl/ssl.h... (cached) yes
Checking for C library crypto... (cached) yes
Checking for C library ssl... (cached) yes
Checking for openssl version >= 1.1.0...(cached) yes
Checking for C++ header file v8.h... (cached) yes
Checking for C++ header file libplatform/libplatform.h... (cached) yes
Checking for C library v8_monolith... no
Checking for C library v8... (cached) yes
Checking for C library v8_libplatform... (cached) yes
Checking for C header file pthread.h... (cached) yes
Checking for C library pthread... (cached) yes
Checking for C header file systemd/sd-bus.h... (cached) yes
Checking for C library systemd... (cached) yes
Checking for C header file valgrind/valgrind.h... no
Checking for C library cbang-boost... (cached) yes
Checking for C library cbang... yes
Checking for C++ header file cbang/Exception.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/client.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/client.cpp
g++ -o build/fah/client/Account.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Account.cpp
g++ -o build/fah/client/App.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/App.cpp
g++ -o build/fah/client/Config.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Config.cpp
g++ -o build/fah/client/Core.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Core.cpp
g++ -o build/fah/client/CoreState.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/CoreState.cpp
g++ -o build/fah/client/Cores.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Cores.cpp
g++ -o build/fah/client/ExitCode.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/ExitCode.cpp
g++ -o build/fah/client/GPUResource.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/GPUResource.cpp
g++ -o build/fah/client/GPUResources.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/GPUResources.cpp
g++ -o build/fah/client/Group.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Group.cpp
g++ -o build/fah/client/Groups.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Groups.cpp
g++ -o build/fah/client/NodeRemote.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/NodeRemote.cpp
g++ -o build/fah/client/OS.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/OS.cpp
g++ -o build/fah/client/PasskeyConstraint.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/PasskeyConstraint.cpp
g++ -o build/fah/client/Remote.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Remote.cpp
g++ -o build/fah/client/RunResult.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/RunResult.cpp
g++ -o build/fah/client/Server.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Server.cpp
g++ -o build/fah/client/Unit.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Unit.cpp
g++ -o build/fah/client/UnitState.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/UnitState.cpp
g++ -o build/fah/client/Units.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/Units.cpp
g++ -o build/fah/client/WebsocketRemote.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/WebsocketRemote.cpp
gcc -o build/fah/client/glibc.o -c -std=c99 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/glibc.c
resources_build(["build/resources.cpp", "build/resources.data/data1.cpp", "build/resources.data/data2.cpp", "build/resources.data/data3.cpp"], ["src/resources"])
Writing resource: src/resources/global.json to build/resources.data/data1.cpp
Writing resource: src/resources/group.json to build/resources.data/data2.cpp
Writing resource: src/resources/ca.pem to build/resources.data/data3.cpp
g++ -o build/resources.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc build/resources.cpp
g++ -o build/resources.data/data1.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc build/resources.data/data1.cpp
g++ -o build/resources.data/data2.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc build/resources.data/data2.cpp
g++ -o build/resources.data/data3.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc build/resources.data/data3.cpp
g++ -o build/fah/client/lin/LinOSImpl.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc src/fah/client/lin/LinOSImpl.cpp
build_function(["build/build_info.cpp"], [])
g++ -o build/build_info.o -c -faligned-new -std=c++14 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -I/home/ivan/programming/github/fah-client-v8/cbang/src -I/home/ivan/programming/github/fah-client-v8/cbang/include -I/home/ivan/programming/github/fah-client-v8/cbang/src/boost -I/usr/include/v8 -Isrc build/build_info.cpp
ar rc build/libfahclient-resources.a build/resources.o build/resources.data/data1.o build/resources.data/data2.o build/resources.data/data3.o
ranlib build/libfahclient-resources.a
g++ -o fah-client -Wl,--as-needed -Wl,-s -Wl,-x -Wl,--gc-sections -no-pie -pthread -static-libstdc++ -static-libgcc -Wl,--wrap=glob -Wl,--wrap=logf -Wl,--wrap=log -Wl,--wrap=expf -Wl,--wrap=exp -Wl,--wrap=powf -Wl,--wrap=pow -Wl,--wrap=fcntl64 build/client.o build/fah/client/Account.o build/fah/client/App.o build/fah/client/Config.o build/fah/client/Core.o build/fah/client/CoreState.o build/fah/client/Cores.o build/fah/client/ExitCode.o build/fah/client/GPUResource.o build/fah/client/GPUResources.o build/fah/client/Group.o build/fah/client/Groups.o build/fah/client/NodeRemote.o build/fah/client/OS.o build/fah/client/PasskeyConstraint.o build/fah/client/Remote.o build/fah/client/RunResult.o build/fah/client/Server.o build/fah/client/Unit.o build/fah/client/UnitState.o build/fah/client/Units.o build/fah/client/WebsocketRemote.o build/fah/client/glibc.o build/libfahclient-resources.a build/fah/client/lin/LinOSImpl.o build/build_info.o -L/home/ivan/programming/github/fah-client-v8/cbang/lib -Wl,--start-group /home/ivan/programming/github/fah-client-v8/cbang/lib/libcbang.a /home/ivan/programming/github/fah-client-v8/cbang/lib/libcbang-boost.a /usr/lib/x86_64-linux-gnu/libsystemd.a -lpthread -lv8_libplatform -lv8 /usr/lib/x86_64-linux-gnu/libssl.a /usr/lib/x86_64-linux-gnu/libcrypto.a -ldl /home/ivan/programming/github/fah-client-v8/cbang/lib/libre2.a /home/ivan/programming/github/fah-client-v8/cbang/lib/libevent.a /home/ivan/programming/github/fah-client-v8/cbang/lib/liblz4.a /usr/lib/x86_64-linux-gnu/libmysqlclient.a /home/ivan/programming/github/fah-client-v8/cbang/lib/libyaml.a /usr/lib/x86_64-linux-gnu/libsqlite3.a -ldl -lpthread /usr/lib/x86_64-linux-gnu/libexpat.a -lbz2 -lz -lpthread -Wl,--end-group
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libsystemd.a(src_basic_capability-util.c.o): in function `have_effective_cap':
(.text.have_effective_cap+0x25): undefined reference to `cap_get_proc'
/usr/bin/ld: (.text.have_effective_cap+0x3e): undefined reference to `cap_get_flag'
/usr/bin/ld: (.text.have_effective_cap+0x55): undefined reference to `cap_free'
collect2: error: ld returned 1 exit status
scons: *** [fah-client] Error 1
scons: building terminated because of errors.

What I did

jcoffland commented 7 months ago

The problem is that your system has a static version of libsystemd that requires libcap but that library is not being linked. Try running this to finish the build:

g++ -o fah-client -Wl,--as-needed -Wl,-s -Wl,-x -Wl,--gc-sections -no-pie -pthread -static-libstdc++ -static-libgcc -Wl,--wrap=glob -Wl,--wrap=logf -Wl,--wrap=log -Wl,--wrap=expf -Wl,--wrap=exp -Wl,--wrap=powf -Wl,--wrap=pow -Wl,--wrap=fcntl64 build/client.o build/fah/client/Account.o build/fah/client/App.o build/fah/client/Config.o build/fah/client/Core.o build/fah/client/CoreState.o build/fah/client/Cores.o build/fah/client/ExitCode.o build/fah/client/GPUResource.o build/fah/client/GPUResources.o build/fah/client/Group.o build/fah/client/Groups.o build/fah/client/NodeRemote.o build/fah/client/OS.o build/fah/client/PasskeyConstraint.o build/fah/client/Remote.o build/fah/client/RunResult.o build/fah/client/Server.o build/fah/client/Unit.o build/fah/client/UnitState.o build/fah/client/Units.o build/fah/client/WebsocketRemote.o build/fah/client/glibc.o build/libfahclient-resources.a build/fah/client/lin/LinOSImpl.o build/build_info.o -L/home/ivan/programming/github/fah-client-v8/cbang/lib -Wl,--start-group /home/ivan/programming/github/fah-client-v8/cbang/lib/libcbang.a /home/ivan/programming/github/fah-client-v8/cbang/lib/libcbang-boost.a /usr/lib/x86_64-linux-gnu/libsystemd.a -lpthread -lv8_libplatform -lv8 /usr/lib/x86_64-linux-gnu/libssl.a /usr/lib/x86_64-linux-gnu/libcrypto.a -ldl /home/ivan/programming/github/fah-client-v8/cbang/lib/libre2.a /home/ivan/programming/github/fah-client-v8/cbang/lib/libevent.a /home/ivan/programming/github/fah-client-v8/cbang/lib/liblz4.a /usr/lib/x86_64-linux-gnu/libmysqlclient.a /home/ivan/programming/github/fah-client-v8/cbang/lib/libyaml.a /usr/lib/x86_64-linux-gnu/libsqlite3.a -ldl -lpthread /usr/lib/x86_64-linux-gnu/libexpat.a -lbz2 -lz -lpthread -Wl,--end-group -lcap
jcoffland commented 7 months ago

I've committed a change to cbang to look for libcap when libsystemd is linked. You might want to try that.

marcosfrm commented 7 months ago

Ubuntu 23.10+ now ships a static libsystemd.a in libsystemd-dev. Upstream does not encourage its usage:

https://github.com/systemd/systemd/blob/v255/README#L311-L321

We should prefer the shared one.

jcoffland commented 7 months ago

You can build with: scons prefer_dynamic=systemd

Voronsky commented 7 months ago

You can build with: scons prefer_dynamic=systemd

This solved it! I assume this will also be an issue for users who will be using Ubuntu 24.04 LTS ? I believe that is set to go into beta later this Month

marcosfrm commented 6 months ago

You can build with: scons prefer_dynamic=systemd

Can we add systemd to PREFER_DYNAMIC by default? It is a core library and both DEB and RPM packages automatically add proper versioned dependency.

jcoffland commented 6 months ago

I did recently change the defaults such that the option mostly_static is no longer defaulted true. That makes prefer_dynamic unnecessary.

The whole reason for mostly_static builds is that the binaries tend to run on more Linux systems If you're building the package for a specific version of a Linux distro then static linking is not necessary. Even though there are risks to static linking it usually lets you cover more OS releases with one package.

Ideally, now that the client is Open-Source, we'd get someone to add native packages to major Linux distributions. The only possible hang up is that the client downloads the cores which are not 100% Open-Source. I believe this is forbidden by distros such as Debian.

marcosfrm commented 6 months ago

Right... https://github.com/FoldingAtHome/fah-client-bastet/commit/2ca272ee0e3a586d58e3fee684f26639aebad072.

https://github.com/FoldingAtHome/fah-client-bastet/blob/a14225b5c9ca891b5ad79916d0468de1ad7d4bf1/SConstruct#L54

Is this still useful now?

jcoffland commented 6 months ago

Yes, it's useful when we do a mostly_static build.