Cannot link openmw (Archlinux x86_64)

Support for running, installing or compiling OpenMW
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

Cannot link openmw (Archlinux x86_64)

Post by lgromanowski »

ezzetabi wrote: I got several object files which cannot link in openmw with this errors:

undefined reference to `boost::system::get_system_category()'
undefined reference to `boost::system::get_generic_category()'
undefined reference to `boost::system::get_generic_category()'
undefined reference to `boost::system::get_generic_category()'
undefined reference to `boost::system::get_system_category()'

I checked the file openmw-0.08/apps/openmw/CMakeFiles/openmw.dir/link.txt and it seems fine as it links both boost_system-mt and boost_filesystem-mt.

So I brutally tried:
$ $ find /usr/lib -type f -exec nm -A "{}" 2>/dev/null \; | grep get_system_category
but it seems the boost::system::get_system_category symbol is nowhere!

I know it is a long shot, but do anyone had a similar problem? What can I try?
Zini wrote: http://www.boost.org/doc/libs/1_45_0/li ... error_code

Scroll down to the "Deprecated names" section. Does this apply to your situation?
ap0 wrote: Yay, an Archlinux's user !

Try using the [testing] version of boost ?
ezzetabi wrote: @Zini
Most probably I have a messed up boost installation. In fact many boost programs cannot link.

@ap0
There is no boost in Testing at the moment; what version do you have installed?
See here: ftp://ftp.archlinux.org/testing/os/x86_64/

Now I try to recompile boost using the default package.

Edit:
it turns out openmw was using an ancient boost library I put in /usr/local lots of time ago for testing boost mpi (thanks g++ for the -E option)! I erased /usr/local and now it links fine. Too bad that starting openmw brings an Ogre error about a missing /usr/local/lib/OGRE/RenderSystem_GL.so while of course I have /usr/lib/OGRE/RenderSystem_GL.so... sigh.


But it is expected that cmake looks for libs in /usr/local before looking in /usr ?
fallenwizard wrote: About your plugin problem: edit plugins.cfg and change /usr/local/lib/OGRE to /usr/lib/OGRE and it will work fine.

Be sure that you edit the cfg after every recompile.
Zini wrote: Right. Currently OpenMW assumes plugins in a location typical for a self-compiled OGRE. I think we have to look into automating adjusting the cfg file during the build process.
pvdk wrote:
Zini wrote:I think we have to look into automating adjusting the cfg file during the build process.
Please do, I'm in the process of making a package for the Arch User Repository (AUR). There's currently a package there but it's no longer maintained and really old.
ezzetabi wrote: I remember when I kindly asked what was the policy of archlinux about silently abandoned packages... no meaningful answers.
Really, what is the problem of marking as Orphan a package that has been flagged out-of-date for more than 2-3 months and no feedback has been received from the maintainer?

Btw, all solved now. Thanks everyone...
Locked