Skip to contentSkip to conversation

can't develope any programs using ssl in the root

Buildroot Ming-Ching Tiew 3 participants 6 messages Jan 24, 2008 – Jan 25, 2008

lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw

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 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 ?

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

#2 lore raw
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.

#3 lore raw

[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_TARGET set.

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_none is 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.

#4 lore raw
In reply to Ming-Ching Tiew
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 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

[...]

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.

#5 lore raw

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 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

[...]

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.