Bug #7258
closed
BCE fails while building Linux kernel v. 4.5
Added by Pavel Andrianov almost 8 years ago.
Updated about 4 years ago.
Category:
* Build commands extracting
Description
BCE fails with message
In file included from /usr/include/openssl/bio.h:62:0, from scripts/sign-file.c:24: /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory compilation terminated.
The lib openssl is installed and ordinary 'make' in kernel directory successfully finishes.
- Status changed from New to Closed
- Assignee set to Evgeny Novikov
- Priority changed from Normal to High
In accordance with the official documentation you need to install the OpenSSL development package to build the Linux kernel >4.3.
As I wrote "The lib openssl is installed and ordinary 'make' in kernel directory successfully finishes".
These both don't mean that you have the OpenSSL development package installed. Here is the output of ls /usr/include/openssl/ on my computer:
aes.h bn.h cms.h dh.h ec.h hmac.h modes.h opensslv.h poly1305.h safestack.h ssl.h ui.h
asn1.h buffer.h comp.h dsa.h engine.h idea.h objects.h ossl_typ.h rand.h sha.h stack.h whrlpool.h
asn1_mac.h camellia.h conf_api.h dso.h e_os2.h krb5_asn.h obj_mac.h pem2.h rc2.h srtp.h tls1.h x509.h
asn1t.h cast.h conf.h dtls1.h err.h lhash.h ocsp.h pem.h rc4.h ssl23.h ts.h x509v3.h
bio.h chacha.h crypto.h ecdh.h evp.h md4.h opensslconf.h pkcs12.h ripemd.h ssl2.h txt_db.h x509_vfy.h
blowfish.h cmac.h des.h ecdsa.h gost.h md5.h opensslfeatures.h pkcs7.h rsa.h ssl3.h ui_compat.h
You can find
opensslconf.h there.
Latest ubuntu libssl-dev moved opensslconf.h from /usr/include/openssl to /usr/include/x86_64-linux-gnu/openssl/. And on my computer the opensslconf.h is located here '/usr/include/i386-linux-gnu/openssl/opensslconf.h' and here '/usr/include/x86_64-linux-gnu/openssl/opensslconf.h'. The 'make' command finds the header at the second path. Likely BCE should also search it in the new directory.
- Status changed from Closed to Open
- Priority changed from High to Low
Likely Ubuntu is a bad player again. In addition to separating headers they likely tuned their system compilers so that they can find appropriate headers.
I am not going to deal with this issue soon, so I advice to tune this ... Ubuntu, e.g. provide symbolic link /usr/include/openssl/.
- Priority changed from Low to Normal
It is not a problem of Ubuntu, but it is Klever problem that our toolchain does not support multiarch spec.
https://wiki.debian.org/Multiarch
Toolchain multiarch paths
This was implemented early in the mulitarch transition for native toolchains. For libraries the search path is /lib/<triplet>/:/lib:/usr/lib/<triplet>/:/usr/lib
For headers it is /usr/include/<triplet>:/usr/include
Our toolchain have to support out of box many good distributions implementing multiarch feature.
- Priority changed from Normal to Immediate
- Priority changed from Immediate to High
We have much more important issues at the moment.
It seems there are two approaches to fix the problem correctly:
- to fix CIF to have /usr/include/$(target-multiarch) in stdinc (configure it with --enable-multiarch ???);
- to avoid use CIF as HOSTCC, leave it just as CC.
- Status changed from Open to Rejected
This issue is not relevant anymore since builds are performed outside Klever with Clade.
Also available in: Atom
PDF