Page 1 of 1

Building from source fails

Posted: 15 Apr 2017, 15:55
by mrkkrp
I can't build from source anymore, I attach the log. Looks like there is some sort of issue with
header files of OSG, they seem to lack something OpenMW expects. I tried with your custom
fork and with vanilla OSG -- result is the same.

Any idea what's going on and how to fix it?

Re: Building from source fails

Posted: 15 Apr 2017, 19:12
by akortunov
Why you have headers in /usr/local/include? Package managers usually place files in /usr/include.
Can you post an output of command:

Code: Select all

find /usr -name "Quat*"
Also can you build an older code or no? If yes, can you do bisect?

Re: Building from source fails

Posted: 15 Apr 2017, 21:17
by mrkkrp
That command finds some relevant files. I think when you build manually everything is installed in
/usr/local/, at least OpenMW certainly installs itself there with sudo make install. On the other hand,
when I install OpenMW via package manager, it goes into /usr/.

Previously I installed OpenMW with package manager and then built it myself, so perhaps that how
it was able to find header files it needed. I'll try the same now.

I build according to the instructions for developers:

<pre>
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install
</pre>

Re: Building from source fails

Posted: 15 Apr 2017, 21:35
by mrkkrp
OK, I think OpenMW build script got confused because I built and installed scawl's custom forked OSG, and it went into
/usr/local, just like OpenMW itself. I think it's not possible to use that fork for me. To fix things, I uninstalled that fork:

Code: Select all

osg $ sudo make uninstall
Then I installed the proper OSG from my package manager and did make clean. It succeeded. I think it should be noted
that OpenMW does not build properly with that custom fork as it misses the necessary headers.

Re: Building from source fails

Posted: 15 Apr 2017, 23:58
by psi29a
It builds just fine with the custom OSG. Have you tried configuring with the proper prefix instead of using the default that goes to /usr/local ?

http://trac.openscenegraph.org/projects ... uides/Make

The OSG from your package manager are more than likely the ones made by me and yes I had to set the proper prefix location.

Regardless, Scrawl's OSG fork is on the PPA anyway. I built it so you don't have to. ;)

Re: Building from source fails

Posted: 16 Apr 2017, 01:15
by mrkkrp
Thanks for the clarification! I'll try to get it working once again.

Re: Building from source fails

Posted: 16 Apr 2017, 05:47
by akortunov
Just a note - you should avoid to use "make install" (it is a very bad practice - it lead to problems when you want to remove/update package). You should make a package for your package manager instead (checkinstall for Debian/Ubuntu, rpmbuild for SUSE, write a ebuild for Gentoo etc.), or launch from build folder at least.

Re: Building from source fails

Posted: 17 Apr 2017, 20:50
by magamo
make install for OSG installs headers into /usr/local/include, and libraries in /usr/local/lib64 on 64 bit systems. However, it installs pkg_config files marked to look in /usr/local/lib, my usual workaround is to symlink /usr/local/lib64 to /usr/local/lib. That'll make certain that the libraries go into the expected location.