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

Daryl Spitzer daryl.spitzer at gmail.com
Wed Jun 8 06:48:11 PDT 2011


>>> 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.

Oops.  I forgot to provide those details...

My host is Ubuntu 11.04 64 bit:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.04
DISTRIB_CODENAME=natty
DISTRIB_DESCRIPTION="Ubuntu 11.04"
$ uname -m
x86_64

I ran `wget http://www.yoctoproject.org/downloads/poky/poky-bernard-5.0.tar.bz2`
(as directed in the Yocto Project Quick Start).  Does that 5.0
correspond to Yocto Project 1.0.1?

I found http://bit.ly/lzyY5b (an email on the gumstix-users mailing
list, archived on old.nabble.com), which appears to be the same
problem.  I ran:

$ sudo apt-get install pthread*
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libpthread-stubs0' for regex 'pthread*'
Note, selecting 'libpthread-stubs0-dev' for regex 'pthread*'
libpthread-stubs0 is already the newest version.
libpthread-stubs0 set to manually installed.
libpthread-stubs0-dev is already the newest version.
libpthread-stubs0-dev set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

I'll read through the rest of that thread to see if can find a
solution.  But I thought I'd send this information off in case it
triggers someone to suggest a solution specific to the Yocto Project.

--
Daryl


On Wed, Jun 8, 2011 at 4:17 AM, Gary Thomas <gary at mlbassoc.com> 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 Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------
>



More information about the yocto mailing list