Skip to content

Instantly share code, notes, and snippets.

Created October 24, 2010 16:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/991e5c720926687bb620 to your computer and use it in GitHub Desktop.
Save anonymous/991e5c720926687bb620 to your computer and use it in GitHub Desktop.
openssl 1.0.0a src build FAIL on Ubuntu 10 LTS @ multiple mising/redefined header errors
building openssl 1.0.0a from the src tarball, on openSUSE 11.3, absolutely no problems ... an error- & warning-free build.
trying same on Ubuntu
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
uname -a
Linux dev.loc 2.6.32-25-generic #45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 2010 x86_64 GNU/Linux
@,
tar zxf openssl-1.0.0a.tar.gz
cd /usr/local/src/openssl/openssl-1.0.0a
./Configure shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl linux-x86_64 threads zlib enable-idea enable-rc5 enable-mdc2
make SHARED_LDFLAGS=-Wl,-rpath,/usr/local/ssl/lib depend
'make depend' reports countless missing header warnings, e.g.
...
makedepend: warning: o_names.c (reading ../../include/openssl/bio.h, line 67): cannot find include file "stdarg.h"
not in ../stdarg.h
not in ../../stdarg.h
not in ../asn1/stdarg.h
not in ../evp/stdarg.h
not in ../../include/stdarg.h
not in /usr/include/stdarg.h
makedepend: warning: obj_dat.c (reading /usr/include/limits.h, line 125): cannot find include file "limits.h"
makedepend: warning: obj_dat.c (reading /usr/include/unistd.h, line 227): cannot find include file "stddef.h"
not in ../stddef.h
not in ../../stddef.h
not in ../asn1/stddef.h
not in ../evp/stddef.h
not in ../../include/stddef.h
not in /usr/include/stddef.h
...
as well as a bunch of multiple-definition problems,
...
makedepend: warning: /usr/include/time.h includes /usr/include/bits/types.h more than once!
Already have
/usr/include/bits/types.h
makedepend: warning: /usr/include/time.h includes /usr/include/bits/types.h more than once!
Already have
/usr/include/bits/types.h
...
1st linking to provide the missing/not-found headers,
cd /usr/local/src/openssl/openssl-1.0.0a/include
ln -sf /usr/lib/gcc/x86_64-linux-gnu/4.4/include/{stddef.h,stdarg.h} .
ln -sf /usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed/{limits.h,syslimits.h} .
then, as above,
./Configure ...
make ... depend
completes with no "cannot find" errors, but the "more than once" warnings remaining.
then, @ subsequent,
make SHARED_LDFLAGS=-Wl,-rpath,/usr/local/ssl/lib
fails,
making all in crypto...
make[1]: Entering directory `/usr/local/src/openssl/openssl-1.0.0a/crypto'
( echo "#ifndef MK1MF_BUILD"; \
echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
echo ' #define CFLAGS "/usr/bin/gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM"'; \
echo ' #define PLATFORM "linux-x86_64"'; \
echo " #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
echo '#endif' ) >buildinf.h
/usr/bin/gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM -c -o cryptlib.o cryptlib.c
In file included from /usr/include/sys/select.h:46,
from /usr/include/sys/types.h:220,
from /usr/include/stdlib.h:320,
from cryptlib.h:62,
from cryptlib.c:117:
/usr/include/bits/time.h:70: error: redefinition of ‘struct timeval’
cryptlib.c: In function ‘CRYPTO_THREADID_set_numeric’:
cryptlib.c:426: warning: implicit declaration of function ‘memset’
cryptlib.c:426: warning: incompatible implicit declaration of built-in function ‘memset’
cryptlib.c: In function ‘CRYPTO_THREADID_set_pointer’:
cryptlib.c:437: warning: incompatible implicit declaration of built-in function ‘memset’
cryptlib.c: In function ‘CRYPTO_THREADID_current’:
cryptlib.c:503: error: ‘errno’ undeclared (first use in this function)
cryptlib.c:503: error: (Each undeclared identifier is reported only once
cryptlib.c:503: error: for each function it appears in.)
cryptlib.c: In function ‘CRYPTO_THREADID_cmp’:
cryptlib.c:509: warning: implicit declaration of function ‘memcmp’
cryptlib.c: In function ‘CRYPTO_THREADID_cpy’:
cryptlib.c:514: warning: implicit declaration of function ‘memcpy’
cryptlib.c:514: warning: incompatible implicit declaration of built-in function ‘memcpy’
cryptlib.c: In function ‘CRYPTO_thread_id’:
cryptlib.c:548: warning: implicit declaration of function ‘getpid’
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/usr/local/src/openssl/openssl-1.0.0a/crypto'
make: *** [build_crypto] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment