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

Jan Paesmans jan.paesmans at gmail.com
Mon Dec 20 21:51:07 UTC 2010


On 12/20/10 22:29, Khem Raj wrote:
> On (20/12/10 19:45), Jan Paesmans wrote:
>> 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?
> Well removing it may not be a good thing to do. Can you make sure
> that this ld script exist in the build tree
Yes, it exists in 2 places, the root of openssl source dir and in the
engines directory




More information about the Openembedded-devel mailing list