firebird
firebird copied to clipboard
5.0.0-RC1 build failure with --without-tomcrypt --enable-client-only
Versions: firebird v5.0.0-RC1 gcc 13.2.1 tomcrypt not installed
To reproduce:
autoreconf -vfi
./configure --without-tomcrypt --enable-client-only
make
....
g++ -I/var/cache/github/firebird/src/include/gen -I/var/cache/github/firebird/src/include -I/var/cache/github/firebird/extern/boost -I/var/cache/github/firebird/extern/libcds -DCDS_BUILD_STATIC_LIB -I/var/cache/github/firebird/extern/re2 -ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 -O3 -fno-omit-frame-pointer -fno-rtti -std=c++17 -Wno-invalid-offsetof -Wno-class-memaccess -c /var/cache/github/firebird/src/common/classes/TomCryptHash.cpp -o /var/cache/github/firebird/temp/Release/common/classes/TomCryptHash.o
/var/cache/github/firebird/src/common/classes/TomCryptHash.cpp:33:10: fatal error: tomcrypt.h: No such file or directory
33 | #include <tomcrypt.h>
| ^~~~~~~~~~~~
compilation terminated.
Full output https://gist.github.com/loqs/517bb977674927829fa1e9f598f28e93 I am working around the issue by deleteing src/common/classes/TomCryptHash.cpp which I believe is included by a wildcard make rule and not used later in the build.
Would it be acceptable to filter out TomCryptHash.o when WITH_TOMCRYPT=N?
diff --git a/builds/posix/make.shared.variables b/builds/posix/make.shared.variables
index 5074e5cf68..a3d537fda8 100644
--- a/builds/posix/make.shared.variables
+++ b/builds/posix/make.shared.variables
@@ -27,6 +27,9 @@ AllObjects=
# Common files
CO1:= $(call dirObjects,common)
CO2:= $(call dirObjects,common/classes)
+ifeq ($(WITH_TOMCRYPT),N)
+CO2:= $(filter-out %TomCryptHash.o,$(CO2))
+endif
CO3:= $(call dirObjects,common/config)
CO4:= $(call dirObjects,common/sha2)
#CO5:= $(call dirObjects,common/exceptions)