[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 11:19:58 PDT 2011


This email (on the gumstix mailing list) describes the problem:
http://sourceforge.net/mailarchive/message.php?msg_id=27373548.  libc
has moved in Ubuntu 11.04.

Later in that thread is a link to this OE patch:
http://patches.openembedded.org/patch/1659/.  Since I'm a Yocto and OE
newbie, it's not clear to me if this patch can be applied to Yocto
Project 1.0.1, and if so, how.

I might be better off installing 10.10 on my machine.  (It's new, so I
don't need to worry about backing up and restoring any files.)  But
then I may be missing out on a learning opportunity and a chance to
help out the community.

Would someone be able to walk me through applying or adapting this
patch to Yocto?

--
Daryl


On Wed, Jun 8, 2011 at 6:48 AM, Daryl Spitzer <daryl.spitzer at gmail.com> wrote:
>>>> 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