[poky] perl do_compile issue
Behzat Erte
behzaterte at gmail.com
Sun Jun 19 03:52:27 PDT 2016
Hello all,
I'm trying to compile core-image-minimal for qemuarm machine. However when
poky make do_compile step for perl package I'm getting linker error as
below:
ERROR: Function failed: do_configure (log file is located at
/home/berte/playground/poky/build/tmp/work/x86_64-linux/perl-native/5.14.3-r0/temp/log.do_configure.27295)
ERROR: Logfile of failure stored in:
/home/berte/playground/poky/build/tmp/work/x86_64-linux/perl-native/5.14.3-r0/temp/log.do_configure.27295
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| First let's make sure your kit is complete. Checking...
| Would you like to see the instructions? [n]
| Locating common programs...
| Checking compatibility between /bin/echo and builtin echo (if any)...
| Symbolic links are supported.
| Checking how to test for symbolic links...
| You can test for symbolic links with 'test -h'.
| Good, your tr supports [:lower:] and [:upper:] to convert case.
| Using [:upper:] and [:lower:] to convert case.
| 3b1 dragonfly irix_6_0 opus super-ux
| aix dynix irix_6_1 os2 svr4
| aix_3 dynixptx isc os390 svr5
| aix_4 epix isc_2 os400 ti1500
| altos486 esix4 linux posix-bc titanos
| amigaos fps lynxos powerux ultrix_4
| atheos freebsd midnightbsd qnx umips
| aux_3 genix mips rhapsody unicos
| beos gnu mirbsd riscos unicosmk
| bsdos gnukfreebsd mpc sco unisysdynix
| catamount gnuknetbsd mpeix sco_2_3_0 utekv
| convexos greenhills ncr_tower sco_2_3_1 uts
| cxux haiku netbsd sco_2_3_2 uwin
| cygwin hpux newsos4 sco_2_3_3 vmesa
| darwin i386 next_3 sco_2_3_4 vos
| dcosx interix next_3_0 solaris_2
| dec_osf irix_4 next_4 stellar
| dgux irix_5 nonstopux sunos_4_0
| dos_djgpp irix_6 openbsd sunos_4_1
| Which of these apply, if any? [linux]
|
| You appear to have ELF support. I'll try to use it for dynamic loading.
| If dynamic loading doesn't work, read hints/linux.sh for further
information.
| nm: /usr/lib/libdb.so: no symbols
| nm: /usr/lib64/libdb.so: no symbols
| nm: /usr/lib64/libdb.so: no symbols
| Operating system name? [linux]
| Operating system version? [4.4.6-gentoo]
| Installation prefix to use? (~name ok)
| [/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr]
| AFS does not seem to be running...
| What installation prefix should I use for installing files? (~name ok)
| [/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr]
| Build Perl for SOCKS? [n]
| Use the PerlIO abstraction layer? [y]
| Getting the current patchlevel...
| Build a threading Perl? [y]
| Use which C compiler? [gcc ]
| Checking for GNU cc in disguise and/or its version number...
| Now, how can we feed standard input to your C preprocessor...
| Directories to use for library searches?
| [/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /lib64
/usr/lib64 /usr/local/lib64]
| What is the file extension used for shared libraries? [so]
| Try to use long doubles if available? [n]
| Checking for optional libraries...
| What libraries to use?
| [-lnsl -lnm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
-lgdbm_compat]
| What optimizer/debugger flag should be used? [-O2]
| Any additional cc flags?
| [-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector]
| Let me guess what the preprocessor flags are...
| Any additional ld flags (NOT including libraries)?
| [-L/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-L/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-rpath-link,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath-link,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-rpath,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-O1 -fstack-protector -L/usr/local/lib]
| Checking your choice of C compiler and flags for coherency...
| I've tried to compile and run the following simple program:
|
| #include <stdio.h>
| int main() { printf("Ok\n"); return(0); }
|
| I used the command:
|
| gcc -o try -O2 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector
-L/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-L/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-rpath-link,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath-link,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-rpath,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath,/home/berte/playground/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-O1 -fstack-protector -L/usr/local/lib try.c -lnsl -lnm -lgdbm -ldb
-ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
| ./try
|
| and I got the following output:
|
| /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64/libnm.so:
undefined reference to `g_type_add_instance_private'
| /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64/libnm.so:
undefined reference to `g_type_class_adjust_private_offset'
| collect2: error: ld returned 1 exit status
I know my distro (Gentoo x86_64) not officially supports but when I try
that step with manually I'm getting result is expected like as below:
time gcc -o try -O2 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -Wl,-rpath-link -Wl,-O1 -fstack-protector
-L/usr/local/lib try.c -lnsl -lnm -lgdbm -ldb -ldl -lm -lcrypt -lutil
-lpthread -lc -lgdbm_compat
real 0m0.146s
user 0m0.127s
sys 0m0.026s
time ./try
Ok
real 0m0.007s
user 0m0.002s
sys 0m0.005s
I guess -rpath-link causing some problem with linker but somehow I did not
get exact root cause. If someone has any idea with this problem it would be
more than welcome.
cheers,
-berte.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/poky/attachments/20160619/9d734e6c/attachment.html>
More information about the poky
mailing list