[oe] openssl-native_1.0.0b.bb do_compile failed

Jan Paesmans jan.paesmans at gmail.com
Mon Dec 20 18:45:33 UTC 2010


Hi,

I have a problem with building the openssl-native package. Seems like
there is something wrong when liking one of the openssl engines and that
the file openssl.ld is needed.

I'm building the release-2010.12 branch for the ion platform. My host is
a ubuntu 10.10

| make[3]: Entering directory
`/home/janp/hudson/openembedded/tmp/work/x86_64-linux/openssl-native-1.0.0b-r13.1/openssl-1.0.0b/engines/ccgost'
| /usr/bin/ld: error: cannot open openssl.ld: No such file or directory
| /usr/bin/ld: fatal error: unable to parse version script file openssl.ld
| collect2: ld returned 1 exit status
| make[3]: *** [link_o.gnu] Error 1
| make[3]: Leaving directory
`/home/janp/hudson/openembedded/tmp/work/x86_64-linux/openssl-native-1.0.0b-r13.1/openssl-1.0.0b/engines/ccgost'
| make[2]: *** [lib] Error 2
| make[2]: Leaving directory
`/home/janp/hudson/openembedded/tmp/work/x86_64-linux/openssl-native-1.0.0b-r13.1/openssl-1.0.0b/engines/ccgost'
| make[1]: *** [subdirs] Error 1
| make[1]: Leaving directory
`/home/janp/hudson/openembedded/tmp/work/x86_64-linux/openssl-native-1.0.0b-r13.1/openssl-1.0.0b/engines'
| make: *** [build_engines] Error 1
| FATAL: oe_runmake failed
| ERROR: Function do_compile failed
NOTE: package openssl-native-1.0.0b-r13.1: task do_compile: Failed
ERROR: TaskFailed event exception, aborting
ERROR: Build of
/home/janp/hudson/openembedded/recipes/openssl/openssl-native_1.0.0b.bb
do_compile failed
ERROR: Task 13
(/home/janp/hudson/openembedded/recipes/openssl/openssl-native_1.0.0b.bb, do_compile)
failed with 256
ERROR:
'/home/janp/hudson/openembedded/recipes/openssl/openssl-native_1.0.0b.bb' failed
ERROR:
'/home/janp/hudson/openembedded/recipes/openssl/openssl-native_1.0.0b.bb' failed


I traced the culprit down to the following command using strace:
execve("/usr/bin/ld", ["/usr/bin/ld", "--build-id", "--eh-frame-hdr",
"-m", "elf_x86_64", "--hash-style=gnu", "-shared", "-o", "libgost.so",
"-z", "relro",
"/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crti.o",
"/usr/lib/gcc/x86_64-linux-gnu/4.4.5/crtbeginS.o", "-L../..",
"-L/usr/lib/gcc/x86_64-linux-gnu/4.4.5",
"-L/usr/lib/gcc/x86_64-linux-gnu/4.4.5",
"-L/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib",
"-L/lib/../lib", "-L/usr/lib/../lib",
"-L/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../..",
"-L/usr/lib/x86_64-linux-gnu", "-lcrypto",
"--version-script=openssl.ld", "-Bsymbolic", "-soname=libgost.so",
"--whole-archive", "e_gost_err.o", "gost2001_keyx.o", "gost2001.o",
"gost89.o", "gost94_keyx.o", "gost_ameth.o", "gost_asn1.o",
"gost_crypt.o", "gost_ctl.o", "gost_eng.o", "gosthash.o",
"gost_keywrap.o", "gost_md.o", "gost_params.o", "gost_pmeth.o",
"gost_sign.o", "--no-whole-archive", "-lgcc", "--as-needed", "-lgcc_s",
"--no-as-needed", "-lc", "-lgcc", "--as-needed", "-lgcc_s",
"--no-as-needed", "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/crtendS.o",
"/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crtn.o"], [/* 102
vars */]) = 0

Seems like this file openssl.ld is needed for the --version-script.
I did a simple test that involved removing the offending linker flag
from the makefile and that did the trick. However it seems to me that
this is a very hackish solution.

Any further ideas?





More information about the Openembedded-devel mailing list