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

Gary Thomas gary at mlbassoc.com
Wed Jun 8 04:17:06 PDT 2011


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 Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the yocto mailing list