buildworld fails after patch (FreeBSD-SA-06:23.openssl)
Uwe Doering
gemini at geminix.org
Fri Sep 29 08:40:44 PDT 2006
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 at geminix.org | http://www.escapebox.net
More information about the freebsd-stable
mailing list