Christer Solskogen
2006-Sep-29 00:58 UTC
buildworld fails after patch (FreeBSD-SA-06:23.openssl)
FreeBSD 6.1-RELEASE-p3 amd64 /usr/bin/gcc -O1 -pipe -march=nocona -DTERMIOS -DANSI_SOURCE -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto -I/files3/build/obj/usr/src/secure/lib/libcrypto -DOPENSSL_THREADS -DOPENSSL_NO_IDEA -DNO_IDEA -c /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: error: `DH_R_MODULUS_TOO_LARGE' undeclared here (not in a function) /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: error: initializer element is not constant /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: error: (near initialization for `DH_str_reasons[1].error') /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: error: initializer element is not constant /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: error: (near initialization for `DH_str_reasons[1]') /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:82: error: initializer element is not constant /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:82: error: (near initialization for `DH_str_reasons[2]') /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:83: error: initializer element is not constant /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:83: error: (near initialization for `DH_str_reasons[3]') *** Error code 1 Stop in /usr/src/secure/lib/libcrypto. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. The patch was applied using cvsup. -- cso
Colin Percival
2006-Sep-29 01:09 UTC
buildworld fails after patch (FreeBSD-SA-06:23.openssl)
Christer Solskogen wrote:> /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: > error: `DH_R_MODULUS_TOO_LARGE' undeclared here (not in a function)Looks like you don't have an updated dh.h yet. Try running cvsup again, maybe from a different mirror. Colin Percival
Christer Solskogen wrote:> FreeBSD 6.1-RELEASE-p3 amd64 > > /usr/bin/gcc -O1 -pipe -march=nocona -DTERMIOS -DANSI_SOURCE > -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl > -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto > -I/files3/build/obj/usr/src/secure/lib/libcrypto -DOPENSSL_THREADS > -DOPENSSL_NO_IDEA -DNO_IDEA -c > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: > error: `DH_R_MODULUS_TOO_LARGE' undeclared here (not in a function) > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: > error: initializer element is not constant > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: > error: (near initialization for `DH_str_reasons[1].error') > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: > error: initializer element is not constant > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:81: > error: (near initialization for `DH_str_reasons[1]') > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:82: > error: initializer element is not constant > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:82: > error: (near initialization for `DH_str_reasons[2]') > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:83: > error: initializer element is not constant > /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/dh/dh_err.c:83: > error: (near initialization for `DH_str_reasons[3]') > *** Error code 1 > > Stop in /usr/src/secure/lib/libcrypto. > *** Error code 1 > > Stop in /usr/src. > *** Error code 1 > > Stop in /usr/src. > *** Error code 1 > > Stop in /usr/src. > *** Error code 1 > > Stop in /usr/src. > > The patch was applied using cvsup.The same happened on my workstation, which runs 4.11. The cause of this problem is that the openssl sources under '/usr/src' apparently use some include files installed under '/usr/include/openssl' instead of those in the '/usr/src' tree. The fix for me was to copy the '*.h' files that changed into '/usr/include/openssl' by hand. Afterwards things worked as expected. This is of course just a workaround. The proper fix would be to modify the respective makefiles to add all the directories where there are header files to the list of include directories given to 'cc' with '-I' options. This apparently hasn't been done so far. At least not completely. Regards, Uwe -- Uwe Doering | EscapeBox - Managed On-Demand UNIX Servers gemini@geminix.org | http://www.escapebox.net