Re: undefined reference to `pthread_getspecific' in perl-native_5.12.2.bb task do_compile?


Joshua Lock <josh@...>
 

On Wed, 2011-06-08 at 05:17 -0600, Gary Thomas wrote:
On 06/07/2011 10:38 PM, Joshua Lock wrote:
On Tue, 2011-06-07 at 19:41 -0700, Daryl Spitzer wrote:
The good news is that following the instructions in
https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy
seems to have solved my proxy problems. But unfortunately I'm getting
errors after running `bitbake -k poky-image-sato`, following the
"Building an Image" instructions in the Yocto Project Quick Start. (I
didn't make any changes to the conf/local.conf file generated by
`source poky-bernard-5.0/poky-init-build-env poky-5.0-build`, except
to add the CVS setup lines as directed in the
Working_Behind_a_Network_Proxy wiki page.) When I repeat `bitbake -k
poky-image-sato` I believe I get the same results.

Here's the output, up to and including the first error:


Loading cache...done.
Loaded 980 entries from dependency cache.
Parsing recipes...done.
Parsing of 783 .bb files complete (772 cached, 11 parsed). 991
targets, 11 skipped, 0 masked, 0 errors.

OE Build Configuration:
BB_VERSION = "1.11.0"
METADATA_BRANCH = "<unknown>"
METADATA_REVISION = "<unknown>"
TARGET_ARCH = "i586"
TARGET_OS = "linux"
MACHINE = "qemux86"
DISTRO = "poky"
DISTRO_VERSION = "1.0"
TARGET_FPU = ""

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 632 of 4961 (ID: 387,
/home/daryls/yocto/poky-bernard-5.0/meta/recipes-devtools/perl/perl-native_5.12.2.bb,
do_compile)
NOTE: package perl-native-5.12.2-r7: task do_compile: Started
ERROR: Function 'do_compile' failed (see
/home/daryls/yocto/poky-5.0-build/tmp/work/x86_64-linux/perl-native-5.12.2-r7/temp/log.do_compile.27994
for further information)
...

----------

And here's the head of log.do_compile.27994:


OTE: make -e MAKEFLAGS=
gcc -L/home/daryls/yocto/poky-5.0-build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath-link,/home/daryls/yocto/poky-5.0-build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath,/home/daryls/yocto/poky-5.0-build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-O1 -fstack-protector -L/usr/local/lib -o miniperl \
gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o
mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o
doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o
perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o
\
miniperlmain.o opmini.o perlmini.o
util.o: In function `Perl_safesysmalloc':
util.c:(.text+0x558): undefined reference to `pthread_getspecific'
util.o: In function `Perl_safesysrealloc':
util.c:(.text+0x5f0): undefined reference to `pthread_getspecific'
util.o: In function `Perl_croak_nocontext':
util.c:(.text+0x19b6): undefined reference to `pthread_getspecific'

----------

Does this look familiar? Why would I be getting these errors when
following the Yocto Project Quick Start instructions, without changes?
Did I miss something?
It does not. However this is when trying to build perl-native, i.e. Poky
is trying to build its own version of Perl but linked against your
system libraries etc and is unable to find some pthread functions to
link to.

Can you tell us which distribution/version combination you are using?

Could be that we need to patch perl-native to -lpthread ?
Is your host Ubuntu 11.04 on x86 (not x86_64)? There was a patch for this
that I'm not sure got back ported into Bernard.
Gary, you are spot on. Looks like the patch *did* make it into the
Bernard point release (5.0.1) too!

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=bernard&id=841d0845552ae5855955f88ce446d8ac675660a5

Regards,
Joshua
--
Joshua Lock
Yocto Build System Monkey
Intel Open Source Technology Centre

Join yocto@lists.yoctoproject.org to automatically receive all group messages.