Bug #7258
closedBCE fails while building Linux kernel v. 4.5
0%
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.
Updated by Evgeny Novikov almost 8 years ago
- 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.
Updated by Pavel Andrianov almost 8 years ago
As I wrote "The lib openssl is installed and ordinary 'make' in kernel directory successfully finishes".
Updated by Evgeny Novikov almost 8 years ago
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.
Updated by Pavel Andrianov almost 8 years ago
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.
Updated by Evgeny Novikov almost 8 years ago
- 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/.
Updated by Alexey Khoroshilov almost 8 years ago
- 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.
Updated by Evgeny Novikov over 7 years ago
- Priority changed from Normal to Immediate
Updated by Evgeny Novikov over 7 years ago
- Priority changed from Immediate to High
We have much more important issues at the moment.
Updated by Alexey Khoroshilov about 7 years ago
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.
Updated by Evgeny Novikov about 4 years ago
- Status changed from Open to Rejected
This issue is not relevant anymore since builds are performed outside Klever with Clade.