can't develope any programs using ssl in the root
I wonder what I am doing wrong, I have enabled openssl and included the header in the root, but in the root environment, I can't develope any program which requires openssl, configure will fail with this error ( the example below is tcpdump ) :-
configure:12791: checking for SSLeay
configure:12833: result: /usr
configure:12845: checking for DES_cbc_encrypt in -lcrypto configure:12875: gcc -o conftest -DINET6 -g -O2 -L/usr/lib conftest.c -lcrypto ./../libpcap-0.9.5/libpcap.a >&5
configure:12881: $? = 0
configure:12885: test -z
|| test ! -s conftest.err
configure:12888: $? = 0
configure:12891: test -s conftest
configure:12894: $? = 0
configure:12907: result: yes
configure:12934: checking openssl/evp.h usability configure:12946: gcc -c -DINET6 -g -O2 -I./../libpcap-0.9.5 -I/usr/include conftest.c >&5
In file included from /usr/include/openssl/asn1.h:68,
from /usr/include/openssl/rsa.h:63,
from /usr/include/openssl/evp.h:150,
from conftest.c:102:/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:301: error:
expected specifier-qualifier-list before 'BIGNUM' /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:314: error:
expected specifier-qualifier-list before 'BIGNUM' /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:331: error:
expected declaration specifiers or '...' before 'BN_GENCB' /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:335: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:393: error:
expected '=', ',', ';', 'asm' or '__attribute__' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:395: error:
expected '=', ',', ';', 'asm' or '__attribute__' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:397: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:399: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:400: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:401: error:
expected '=', ',', ';', 'asm' or '__attribute__' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:402: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:403: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:404: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:405: error:
expected ')' before '*' token /usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:406: error:
expected ')' before '*' token
Anyone has a clue ?
--------------------------------------------
Important Warning!
***************************
This electronic communication (including any attached files) may contain confidential and/or legally privileged information and is only intended for the use of the person to whom it is addressed. If you are not the intended recipient, you do not have permission to read, use, disseminate, distribute, copy or retain any part of this communication or its attachments in any form. If this e-mail was sent to you by mistake, please take the time to notify the sender so that they can identify the problem and avoid any more mistakes in sending e-mail to you. The unauthorised use of information contained in this communication or its attachments may result in legal action against any person who uses it.
I have found a workaround for it, I delete the entire
/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/
Looks to me like a bug. Since I can proceed now, I am staying with this for a while.
BTW, the sstrip thingie looks to me also a bug. It happens to not just SSL shared library. The uClibc libraries could also be sstripped. This will be quite disasterous.
----- Original Message -----
From: "Ming-Ching Tiew" <[email protected]>
To: <[email protected]>
Sent: Thursday, January 24, 2008 11:15 AM
Subject: [Merak Spam 5.26] [Buildroot] can't develope any programs using ssl in the root
Quoted 60 lines
I wonder what I am doing wrong, I have enabled openssl and included the header in the root, but in the root environment, I can't develope any program which requires openssl, configure will fail with this error ( the example below is tcpdump ) :-
configure:12791: checking for SSLeay
configure:12833: result: /usr
configure:12845: checking forDES_cbc_encryptin -lcrypto configure:12875: gcc -o conftest -DINET6 -g -O2 -L/usr/libconftest.c-lcrypto ./../libpcap-0.9.5/libpcap.a >&5
configure:12881: $? = 0
configure:12885: test -z|| test ! -s conftest.errconfigure:12888: $? = 0
configure:12891: test -s conftest
configure:12894: $? = 0
configure:12907: result: yes
configure:12934: checkingopenssl/evp.husability configure:12946: gcc -c -DINET6 -g -O2 -I./../libpcap-0.9.5 -I/usr/includeconftest.c>&5
In file included from/usr/include/openssl/asn1.h:68,from /usr/include/openssl/rsa.h:63, from /usr/include/openssl/evp.h:150, from conftest.c:102:
/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:301: error:
expected specifier-qualifier-list before 'BIGNUM'/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:314: error:
expected specifier-qualifier-list before 'BIGNUM'/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:331: error:
expected declaration specifiers or '...' before 'BN_GENCB'/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:335: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:393: error:
expected '=', ',', ';', 'asm' or '__attribute__' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:395: error:
expected '=', ',', ';', 'asm' or '__attribute__' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:397: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:399: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:400: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:401: error:
expected '=', ',', ';', 'asm' or '__attribute__' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:402: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:403: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:404: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:405: error:
expected ')' before '*' token/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/bn.h:406: error:
expected ')' before '*' tokenAnyone has a clue ?
Quoted 6 lines
--------------------------------------------
Important Warning!***************************
This electronic communication (including any attached files) may contain
confidential and/or legally privileged information and is only intended for the use of the person to whom it is addressed. If you are not the intended recipient, you do not have permission to read, use, disseminate, distribute, copy or retain any part of this communication or its attachments in any form. If this e-mail was sent to you by mistake, please take the time to notify the sender so that they can identify the problem and avoid any more mistakes in sending e-mail to you. The unauthorised use of information contained in this communication or its attachments may result in legal action against any person who uses it.
Quoted 5 lines
_______________________________________________
buildroot mailing list
buildroot at uclibc.org
http://busybox.net/mailman/listinfo/buildroot
Quoted 7 lines · Ming-Ching Tiew
I have found a workaround for it, I delete the entire
/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/Looks to me like a bug. Since I can proceed now, I am staying with this for a while.
weird but not sure why.
Quoted 3 lines
BTW, the sstrip thingie looks to me also a bug. It happens to not just SSL shared library. The uClibc libraries could also be sstripped. This will be quite disasterous.
Not unless you want to build within the buildroot. I do sstrip on all libraries on the resulting rootfs (floppyfw and others) but you are probably right about sstripping when you have CONFIG_BR2_PACKAGE_GCC_TARGET set.
When building the floppyfw devkit I also set CONFIG_BR2_STRIP_none.
I would consider it a but if any of the packages .mk files does strip anything even when CONFIG_BR2_STRIP_none is set.
Bbut stripping the libraries when the target is a normal rootfs seems correct to me.
Thomas.
[Buildroot] sstrip and segmentation violation ( was: can't develope any programs using ssl in the root )
From: "Thomas Lundquist" <[email protected]>
Quoted 10 lines
Quoted 4 lines
BTW, the sstrip thingie looks to me also a bug. It happens to not just SSL shared library. The uClibc libraries could also be sstripped. This will be quite disasterous.
Not unless you want to build within the buildroot. I do sstrip on all libraries on the resulting rootfs (floppyfw and others) but you are probably right about sstripping when you have
CONFIG_BR2_PACKAGE_GCC_TARGETset.
Quoted 8 lines
When building the floppyfw devkit I also set
CONFIG_BR2_STRIP_none.I would consider it a but if any of the packages .mk files does strip anything even when
CONFIG_BR2_STRIP_noneis set.Bbut stripping the libraries when the target is a normal rootfs seems correct to me.
Oh I see. This buildroot thingie is rather new to me, so I am gaining experience on it.
So it not quite a bug then, it is an not-so-obvious feature which one can tumble on it. :-)
Last but not least, I seem to only get all the wrong things with me now. I managed to compile the rootfs.i686.ext2, using a few different combinations of gcc ( 3.4.6, 4.1.0, 4.2.0 ), uclibc version ( 0.9.28.3 and 0.9.29 ). But consistantly I get random segmentation violation error when I compile stuff inside the rootfs. Looks like stack corruption or something. Now perhaps I need to change my host OS compiler instead ( I am using 4.1.2 20061028 ).
Anyone knows if the host compiler version will have an impact on the quality of the rootfs ?
Regards.
Quoted 10 lines · Ming-Ching Tiew
Quoted 10 lines
I wonder what I am doing wrong, I have enabled openssl and included the header in the root, but in the root environment, I can't develope any program which requires openssl, configure will fail with this error ( the example below is tcpdump ) :-
configure:12791: checking for SSLeay
configure:12833: result: /usr
configure:12845: checking forDES_cbc_encryptin -lcrypto configure:12875: gcc -o conftest -DINET6 -g -O2 -L/usr/libconftest.c-lcrypto ./../libpcap-0.9.5/libpcap.a >&5
[...]
Quoted 7 lines
I have found a workaround for it, I delete the entire
/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/Looks to me like a bug. Since I can proceed now, I am staying with this for a while.
From: "Hamish Moffatt" <[email protected]>
Quoted 12 lines
Quoted 6 lines
Quoted 6 lines
configure:12791: checking for SSLeay
configure:12833: result: /usr
configure:12845: checking forDES_cbc_encryptin -lcrypto configure:12875: gcc -o conftest -DINET6 -g -O2 -L/usr/libconftest.c-lcrypto ./../libpcap-0.9.5/libpcap.a >&5[...]
Quoted 5 lines
I have found a workaround for it, I delete the entire
/usr/lib/gcc/i686-linux-uclibc/4.2.0/include/openssl/
Quoted 8 lines
Quoted 2 lines
Looks to me like a bug. Since I can proceed now, I am staying with this for a while.
From your config.log snippet it appears that configure is using your native gcc (not the cross-compiler), which is using headers from /usr. That looks like a bug, either in the configure script or in the relevant .mk files for programs that use OpenSSL.
No, not quite. The config.log is obtained from the chroot to the rootfs, and the so-called native gcc, is the gcc compiled from the cross compiler, there is no cross compilers involved.
Regards.