|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Using PovRay sources version 3.7.0 on:
Ubuntu 14.04 LTS, kernel 3.13.0-24-generic
Other package info:
Package: libboost-dev
Version: 1.54.0.1ubuntu1
Package: zlib1g-dev
Version: 1:1.2.8.dfsg-1ubuntu1
Package: libpng12-dev
Version: 1.2.50-1ubuntu2
Package: libjpeg8-dev
Version: 8c-2ubuntu8
Package: libtiff5-dev
Version: 4.0.3-7ubuntu0.1
Package: libopenexr-dev
Version: 1.6.1-7ubuntu1
After starting 'make test', the following was displayed:
undefined reference to `typeinfo for boost::detail::thread_data_base'
.../source/libpovray.a(tokenize.o): In function `pov::Parser::Get_Token()':
tokenize.cpp:(.text+0x2471): undefined reference to
`boost::this_thread::yield()'
.../source/libpovray.a(photonestimationtask.o): In function
`pov::Task::Cooperate()':
photonestimationtask.cpp:(.text._ZN3pov4Task9CooperateEv[_ZN3pov4Task9CooperateEv]+0x19):
undefined reference to `boost::this_thread::yield()'
collect2: error: ld returned 1 exit status
make[2]: *** [povray] Error 1
make[2]: Leaving directory
Haven't tried any older versions of source. Is that the only solution?
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: build error, undefined reference to `boost::this_thread::yield()
Date: 23 May 2014 15:13:24
Message: <537f9dd4$1@news.povray.org>
|
|
|
| |
| |
|
|
Le 23/05/2014 19:41, skippy nous fit lire :
> Using PovRay sources version 3.7.0 on:
> Ubuntu 14.04 LTS, kernel 3.13.0-24-generic
>
> Other package info:
> Package: libboost-dev
> Version: 1.54.0.1ubuntu1
>
> Package: zlib1g-dev
> Version: 1:1.2.8.dfsg-1ubuntu1
>
> Package: libpng12-dev
> Version: 1.2.50-1ubuntu2
>
> Package: libjpeg8-dev
> Version: 8c-2ubuntu8
>
> Package: libtiff5-dev
> Version: 4.0.3-7ubuntu0.1
>
> Package: libopenexr-dev
> Version: 1.6.1-7ubuntu1
>
> After starting 'make test', the following was displayed:
>
> undefined reference to `typeinfo for boost::detail::thread_data_base'
> .../source/libpovray.a(tokenize.o): In function `pov::Parser::Get_Token()':
> tokenize.cpp:(.text+0x2471): undefined reference to
> `boost::this_thread::yield()'
> .../source/libpovray.a(photonestimationtask.o): In function
> `pov::Task::Cooperate()':
>
photonestimationtask.cpp:(.text._ZN3pov4Task9CooperateEv[_ZN3pov4Task9CooperateEv]+0x19):
> undefined reference to `boost::this_thread::yield()'
> collect2: error: ld returned 1 exit status
> make[2]: *** [povray] Error 1
> make[2]: Leaving directory
>
> Haven't tried any older versions of source. Is that the only solution?
>
>
Ubuntu 14.04 needs :
$ ./configure .... LIBS="-lboost_system"
Good luck... I'm even surprised you passed the compilation.
(and yield should be in libboost_thread ... )
result of "ldd povray" (on my system)
linux-vdso.so.1 => (0x00007fffbc3fe000)
libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
(0x00007ff07b739000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6
(0x00007ff07b531000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6
(0x00007ff07b314000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
(0x00007ff07afdf000)
libIlmImf.so.6 => /usr/lib/x86_64-linux-gnu/libIlmImf.so.6
(0x00007ff07ad30000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff07ab16000)
libImath.so.6 => /usr/lib/x86_64-linux-gnu/libImath.so.6
(0x00007ff07a910000)
libHalf.so.6 => /usr/lib/x86_64-linux-gnu/libHalf.so.6
(0x00007ff07a6cd000)
libIex.so.6 => /usr/lib/x86_64-linux-gnu/libIex.so.6
(0x00007ff07a4ae000)
libIlmThread.so.6 => /usr/lib/x86_64-linux-gnu/libIlmThread.so.6
(0x00007ff07a2a8000)
libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5
(0x00007ff07a036000)
libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8
(0x00007ff079de0000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0
(0x00007ff079bba000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff0799b2000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff0796ab000)
libboost_system.so.1.54.0 =>
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0 (0x00007ff0794a7000)
libboost_thread.so.1.54.0 =>
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0 (0x00007ff079291000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007ff078f8c000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007ff078d76000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007ff078b58000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff078791000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff07858d000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2
(0x00007ff07829d000)
libpulse-simple.so.0 =>
/usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007ff078098000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0
(0x00007ff077e4f000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
(0x00007ff077c3d000)
libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0
(0x00007ff07796f000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1
(0x00007ff07776a000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
(0x00007ff07754b000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
(0x00007ff077328000)
libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0
(0x00007ff07711a000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff07ba0a000)
libpulsecommon-4.0.so =>
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so
(0x00007ff076eb2000)
libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2
(0x00007ff076ca8000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3
(0x00007ff076a62000)
libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2
(0x00007ff0766d2000)
libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5
(0x00007ff07649e000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
(0x00007ff076274000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
(0x00007ff076070000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
(0x00007ff075e6a000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0
(0x00007ff075c5f000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1
(0x00007ff0759f7000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0
(0x00007ff0757f1000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1
(0x00007ff0755d6000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8
(0x00007ff0753a5000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
(0x00007ff074ed5000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0
(0x00007ff074ca8000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0
(0x00007ff074a9f000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2
(0x00007ff074883000)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le_Forgeron <jgr### [at] freefr> wrote:
> Le 23/05/2014 19:41, skippy nous fit lire :
> > Using PovRay sources version 3.7.0 on:
> > Ubuntu 14.04 LTS, kernel 3.13.0-24-generic
> >
> > Other package info:
> > Package: libboost-dev
> > Version: 1.54.0.1ubuntu1
> >
> > Package: zlib1g-dev
> > Version: 1:1.2.8.dfsg-1ubuntu1
> >
> > Package: libpng12-dev
> > Version: 1.2.50-1ubuntu2
> >
> > Package: libjpeg8-dev
> > Version: 8c-2ubuntu8
> >
> > Package: libtiff5-dev
> > Version: 4.0.3-7ubuntu0.1
> >
> > Package: libopenexr-dev
> > Version: 1.6.1-7ubuntu1
> >
> > After starting 'make test', the following was displayed:
> >
> > undefined reference to `typeinfo for boost::detail::thread_data_base'
> > .../source/libpovray.a(tokenize.o): In function `pov::Parser::Get_Token()':
> > tokenize.cpp:(.text+0x2471): undefined reference to
> > `boost::this_thread::yield()'
> > .../source/libpovray.a(photonestimationtask.o): In function
> > `pov::Task::Cooperate()':
> >
photonestimationtask.cpp:(.text._ZN3pov4Task9CooperateEv[_ZN3pov4Task9CooperateEv]+0x19):
> > undefined reference to `boost::this_thread::yield()'
> > collect2: error: ld returned 1 exit status
> > make[2]: *** [povray] Error 1
> > make[2]: Leaving directory
> >
> > Haven't tried any older versions of source. Is that the only solution?
> >
> >
>
> Ubuntu 14.04 needs :
> $ ./configure .... LIBS="-lboost_system"
>
> Good luck... I'm even surprised you passed the compilation.
>
> (and yield should be in libboost_thread ... )
>
> result of "ldd povray" (on my system)
>
>
> linux-vdso.so.1 => (0x00007fffbc3fe000)
> libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
> (0x00007ff07b739000)
> libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6
> (0x00007ff07b531000)
> libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6
> (0x00007ff07b314000)
> libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
> (0x00007ff07afdf000)
> libIlmImf.so.6 => /usr/lib/x86_64-linux-gnu/libIlmImf.so.6
> (0x00007ff07ad30000)
> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff07ab16000)
> libImath.so.6 => /usr/lib/x86_64-linux-gnu/libImath.so.6
> (0x00007ff07a910000)
> libHalf.so.6 => /usr/lib/x86_64-linux-gnu/libHalf.so.6
> (0x00007ff07a6cd000)
> libIex.so.6 => /usr/lib/x86_64-linux-gnu/libIex.so.6
> (0x00007ff07a4ae000)
> libIlmThread.so.6 => /usr/lib/x86_64-linux-gnu/libIlmThread.so.6
> (0x00007ff07a2a8000)
> libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5
> (0x00007ff07a036000)
> libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8
> (0x00007ff079de0000)
> libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0
> (0x00007ff079bba000)
> librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff0799b2000)
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff0796ab000)
> libboost_system.so.1.54.0 =>
> /usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0 (0x00007ff0794a7000)
> libboost_thread.so.1.54.0 =>
> /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0 (0x00007ff079291000)
> libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> (0x00007ff078f8c000)
> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007ff078d76000)
> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007ff078b58000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff078791000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff07858d000)
> libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2
> (0x00007ff07829d000)
> libpulse-simple.so.0 =>
> /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007ff078098000)
> libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0
> (0x00007ff077e4f000)
> libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
> (0x00007ff077c3d000)
> libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0
> (0x00007ff07796f000)
> libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1
> (0x00007ff07776a000)
> libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
> (0x00007ff07754b000)
> liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
> (0x00007ff077328000)
> libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0
> (0x00007ff07711a000)
> /lib64/ld-linux-x86-64.so.2 (0x00007ff07ba0a000)
> libpulsecommon-4.0.so =>
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so
> (0x00007ff076eb2000)
> libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2
> (0x00007ff076ca8000)
> libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3
> (0x00007ff076a62000)
> libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2
> (0x00007ff0766d2000)
> libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5
> (0x00007ff07649e000)
> libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
> (0x00007ff076274000)
> libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
> (0x00007ff076070000)
> libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
> (0x00007ff075e6a000)
> libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0
> (0x00007ff075c5f000)
> libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1
> (0x00007ff0759f7000)
> libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0
> (0x00007ff0757f1000)
> libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1
> (0x00007ff0755d6000)
> libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8
> (0x00007ff0753a5000)
> libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
> (0x00007ff074ed5000)
> libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0
> (0x00007ff074ca8000)
> libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0
> (0x00007ff074a9f000)
> libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2
> (0x00007ff074883000)
I should have searched the output further up - to where the compilation first
erred (Duh!). This is where the problem started:
g++ -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O3
-ffast-math -march=native -pthread -L/usr/lib -L/usr/lib -o povray disp_sdl.o
disp_text.o ../vfe/libvfe.a ../source/libpovray.a -lSM -lICE -lX11 -lIlmImf
-pthread -lIlmImf -lz -lImath -lHalf -lIex -lIlmThread -lIlmThread -ltiff
-ljpeg -lpng -lz -lrt -lm -pthread -lboost_system
.../vfe/libvfe.a(unixconsole.o): In function `boost::detail::thread_data<void
(*)()>::~thread_data()':
unixconsole.cpp:(.text._ZN5boost6detail11thread_dataIPFvvEED2Ev[_ZN5boost6detail11thread_dataIPFvvEED5Ev]+0x8):
undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
"-lboost_system" was already in the command.
Google/StackOverflow to the rescue:
-install libboost-thread-dev and libevent-pthreads-2.0-5
But still had the problem. So then used configure with "LIBS="-lboost_thread"
At this point, 'make check' finally worked!
So you were close! Thanks for the help.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |