Bug#704785: OGRE's FTBFS #713640 affects other packages

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Sat Sep 7 12:57:57 UTC 2013


2013/9/5 Paul Wise <pabs at debian.org>:
> On Thu, 2013-09-05 at 00:32 +0100, Manuel A. Fernandez Montecelo wrote:
>
>> As you probably know, if you add -lboost_system (maybe needs also
>> other boost components after that) to LDFLAGS it will go away.  Of
>> course there should be a better solution for this and I'll try to find
>> it, but I don't know how yet and it may take a while.
>
> Right. I guess adding -lboost_system to the right pkgconfig files (OGRE
> or boost) is probably the correct solution here.

The thing is that if this is indeed the problem, I think that OGRE
itself should add -lboost_thread, since libOgreMain depends on thread
and system.  It doesn't emit these flags for any of the .pc files that
it ships.

Do you already have to add this -lboost_thread manually?

Whith this test program:
=======================
#include <OGRE/Ogre.h>

int main()
{
        return 0;
}
=======================

Compiling using -lboost_thread fails, but with -lboost_system
succeeds, which I don't really understand.
=======================
$ g++ -lOgreMain -lboost_thread test.c
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libOgreMain.so:
undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/libboost_system.so.1.54.0: error adding symbols: DSO missing
from command line
collect2: error: ld returned 1 exit status
$ g++ -lOgreMain -lboost_system test.c
$
=======================


>> It seems that the thread component pulls system since 1.53, and OGRE
>> 1.8.1 was released well before that and people have problems with
>> this.  I don't know if this will be addressed upstream with a new .2
>> release, doesn't look like it will happen.
>
> Oh, so this is a boost bug? Or do you mean the OGRE thread component?

OGRE only uses boost::thread (the dependency on boost::system comes
from boost::thread, is the only thing that OGRE uses).  Since 1.53 it
seems that thread requires system, something that didn't happen before
but it's likely to stay in the future.

OGRE can also be built against POCO or TBB for its threading support.

So I think that either OGRE upstream should emit the correct flags, or
there's something wrong with Boost itself, but can't tell confidently
enough yet for knowing what should be done.


Cheers.
-- 
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>



More information about the Pkg-games-devel mailing list