[yocto] undefined reference to `pthread_getspecific' in perl-native_5.12.2.bb task do_compile?

Joshua Lock josh at linux.intel.com
Wed Jun 8 16:55:46 PDT 2011


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




More information about the yocto mailing list