Page 1 of 2

[6142] missing file?

Posted: Sun Jun 16, 2013 4:36 am
by AndrewW

Code: Select all

[ 81%] Building CXX object client/human/CMakeFiles/freeorion.dir/chmain.cpp.o
In file included from /home/andrew/freeorion/FreeOrion/client/human/chmain.cpp:6:0:
/home/andrew/freeorion/FreeOrion/GG/GG/Ogre/Plugins/OISInput.h:31:29: fatal error: OIS/OISKeyboard.h: No such file or directory
compilation terminated.
make[2]: *** [client/human/CMakeFiles/freeorion.dir/chmain.cpp.o] Error 1
make[1]: *** [client/human/CMakeFiles/freeorion.dir/all] Error 2
Any ideas where to look?

I should have everything needed, built the GiGi included with FreeOrion.

Building on Gentoo Linux.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 4:39 am
by Geoff the Medio
Not sure about the missing file, but build the latest SVN, not 6157. You might need to relocate to the new repository URL since it recently changed.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 4:48 am
by Dilvish
you might need to clear out some cmakecache files....

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 4:50 am
by AndrewW
Geoff the Medio wrote:Not sure about the missing file, but build the latest SVN, not 6157. You might need to relocate to the new repository URL since it recently changed.
Probably, 6142 is what was pulled in... Will see about getting it to update to a newer one.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 4:50 am
by AndrewW
Dilvish wrote:you might need to clear out some cmakecache files....
Been there, done that...

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 7:20 am
by adrian_broher
AndrewW wrote:Any ideas where to look?
This file should be provided by the system. Do you have the equivalent of a package installed (I don't know the Gentoo terminology for this) that provides the OIS development files and headers?

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 7:41 am
by AndrewW
adrian_broher wrote:
AndrewW wrote:Any ideas where to look?
This file should be provided by the system. Do you have the equivalent of a package installed (I don't know the Gentoo terminology for this) that provides the OIS development files and headers?
Ah ha. Didn't ever have to emerge ois before (might have already been there from something else previously), added that and it looks like it got past that anyways.

Also wiped the FreeOrion stuff away and went with the new repository so compiling 6159 now.

Now I need to update the Gentoo instructions (forum and wiki).

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 7:52 am
by AndrewW
Well, almost... (got it to 99%)

Code: Select all

Linking CXX executable ../../freeorion
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lGiGiOgrePlugin_OIS
collect2: ld returned 1 exit status
make[2]: *** [freeorion] Error 1
make[1]: *** [client/human/CMakeFiles/freeorion.dir/all] Error 2
make: *** [all] Error 2
After that emerging the GiGi in the systems package manager fixed that.

Possibly the GiGi that is included with FreeOrion isn't putting the file there but the systems GiGi is?

So compiled and seems to be working anyways.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 8:01 am
by adrian_broher
AndrewW wrote:Possibly the GiGi that is included with FreeOrion isn't putting the file there but the systems GiGi is?
What does this mean?

If you have two different versions of GiGi ('system' and 'freeorion source') please don't mix those. The 'system GiGi' is most likely outdated and shouldn't be used.

Especially the
Possibly the GiGi that is included with FreeOrion isn't putting the file there
part sounds to me like a bug in the installation target.

Could you describe the complete process on how you compile and install freeorion current?

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 8:52 am
by AndrewW
adrian_broher wrote:
AndrewW wrote:Possibly the GiGi that is included with FreeOrion isn't putting the file there but the systems GiGi is?
What does this mean?

It couldn't find the file (I did compile the GiGi included with FreeOrion), once I installed the GiGi from the system's package manager it found it.
adrian_broher wrote:If you have two different versions of GiGi ('system' and 'freeorion source') please don't mix those. The 'system GiGi' is most likely outdated and shouldn't be used.
I didn't until it didn't compile with that, added in the systems GiGi (had already compiled the one with FreeOrion) and it got past the error and completed compiling.
adrian_broher wrote:
Possibly the GiGi that is included with FreeOrion isn't putting the file there
part sounds to me like a bug in the installation target.

Could you describe the complete process on how you compile and install freeorion current?
Easy enough see:

http://www.freeorion.org/index.php/User ... B64-bit.5D

Just updated that, though one change was adding in gigi (it wasn't in the list of packages needed till it fixed that last problem). If we get this sorted out to not needing the one from the systems package manager I can update again and remove that.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 9:00 am
by Dilvish
The FO version of GG has a number of tweaks to it, relating to right-clicking certain items, ListBox behavior, etc. So while FO may execute with the standard GG, don't be surprised if you encounter some odd bugs from it.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 9:05 am
by AndrewW
Dilvish wrote:The FO version of GG has a number of tweaks to it, relating to right-clicking certain items, ListBox behavior, etc. So while FO may execute with the standard GG, don't be surprised if you encounter some odd bugs from it.
Well, not sure which it is really using since both where installed...

For reference, the system one is: 0.8_pre20130312.

Perhaps the missing file (GiGiOgrePlugin_OIS) exists and the FreeOrion one just doesn't put it in the right place? In which case adding in a link should fix that up.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 9:23 am
by Dilvish
AndrewW wrote:Perhaps the missing file (GiGiOgrePlugin_OIS) exists and the FreeOrion one just doesn't put it in the right place? In which case adding in a link should fix that up.
on my machine that's provided by libGiGiOgrePlugin_OIS.so located in the main FO folder.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 9:24 am
by adrian_broher
Dilvish wrote:The FO version of GG has a number of tweaks to it, relating to right-clicking certain items, ListBox behavior, etc. So while FO may execute with the standard GG, don't be surprised if you encounter some odd bugs from it.
This. Don't emerge GiGi, use the version from the repository or stuff will break.

As I said before: If the GiGi version in the source code doesn't install the so files properly this is a bug in the build system and should be fixed.

Seeing the installation instructions you posted shows me that you still compile GiGi on it's own. This isn't needed and if it is still done it will break stuff.

The build process should work like this now:

Install the depencencies (minus gigi in your list), after that calling

Code: Select all

cmake . && make
from the project root. After that you need to set up the PluginFolder in the ogre_plugins.cfg properly by calling:

Code: Select all

sed -i 's#PluginFolder=\.#PluginFolder=/usr/lib/OGRE/#' ogre_plugins.cfg
substituting the /usr/lib/OGRE/ with the system directory that contains the OGRE plugins.

If after these steps the exectuable located in the build directory doesn't work consider the build system broken and report a bug.

Everything else like creating symlinks isn't necessary, if it is consider the build system broken and report a bug.

Ideally in the future the whole process should be only

Code: Select all

cmake . && make && make install
but we aren't there yet, especially about the `make install` part.

Re: [6142] missing file?

Posted: Sun Jun 16, 2013 3:35 pm
by AndrewW
adrian_broher wrote:Seeing the installation instructions you posted shows me that you still compile GiGi on it's own. This isn't needed and if it is still done it will break stuff.

Again, it wasn't on the list of packages to install. Was only just added early this morning after it didn't work without it...

Install the depencencies (minus gigi in your list), after that calling

Code: Select all

cmake . && make
from the project root. After that you need to set up the PluginFolder in the ogre_plugins.cfg properly by calling:

Code: Select all

sed -i 's#PluginFolder=\.#PluginFolder=/usr/lib/OGRE/#' ogre_plugins.cfg
substituting the /usr/lib/OGRE/ with the system directory that contains the OGRE plugins.

If after these steps the exectuable located in the build directory doesn't work consider the build system broken and report a bug.

Everything else like creating symlinks isn't necessary, if it is consider the build system broken and report a bug.

Ideally in the future the whole process should be only

Code: Select all

cmake . && make && make install
but we aren't there yet, especially about the `make install` part.
Ok, so no need to go into GG and compile GiGi on its own then?

Ogre still needed? Right now that's brought in on its own when I bring in GiGi so it's not separately on the list. Just want to make sure to add that back on the list.

Will give things a try this way and see what happens. I'll update the instructions if it works ok.