Topic: Problem with animation when entering Joringsbridge

Mike on June 15, 2014, 08:08:36 AM
Reply #30

Mike

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Hello folks! Let me join your discussion. I am following the same way to compile SumWars 0.5.8 for Fedora 20. I had the same troubles as Roterstern described: animation started when entering Joringsbridge and never ends. That's why i had to search Forum for solution. Now I have another problem on the way to compile: CMake now needs /depedencies folder from a source (in order to find Ogg modules), but cannot locate it there. A source I have downloaded does not contain such sub-folder. Searching source folder for "*ogg" or "*depend" entries gives no result. Is this me doing something wrong or it's just a corrupted file sumwars-0.5.8-src.tar.bz2?

*** CEGUI_VERSION is: 0.8.0
Found CEGUI include dir: /usr/local/include/cegui-0/CEGUI/RendererModules/Ogre
Searching OGG_SEARCH_PATH: /home/mike/sumwars-code/dependencies/libogg;/home/mike/sumwars-code/../dependencies/libogg
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Ogg (missing: OGG_LIBRARY_OPTIMIZED OGG_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  CMakeModules/FindOgg.cmake:92 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:193 (FIND_PACKAGE)
Logged

Akien on June 15, 2014, 05:40:39 PM
Reply #31

Akien

  • Newbie
  • *
  • Posts: 23
  • Karma: +2/-0
    • View Profile
Hello folks! Let me join your discussion. I am following the same way to compile SumWars 0.5.8 for Fedora 20. I had the same troubles as Roterstern described: animation started when entering Joringsbridge and never ends. That's why i had to search Forum for solution. Now I have another problem on the way to compile: CMake now needs /depedencies folder from a source (in order to find Ogg modules), but cannot locate it there. A source I have downloaded does not contain such sub-folder. Searching source folder for "*ogg" or "*depend" entries gives no result. Is this me doing something wrong or it's just a corrupted file sumwars-0.5.8-src.tar.bz2?

*** CEGUI_VERSION is: 0.8.0
Found CEGUI include dir: /usr/local/include/cegui-0/CEGUI/RendererModules/Ogre
Searching OGG_SEARCH_PATH: /home/mike/sumwars-code/dependencies/libogg;/home/mike/sumwars-code/../dependencies/libogg
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Ogg (missing: OGG_LIBRARY_OPTIMIZED OGG_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  CMakeModules/FindOgg.cmake:92 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:193 (FIND_PACKAGE)

Hi Mike, I'm not sure about the "Searching OGG_SEARCH_PATH: /home/mike/sumwars-code/dependencies/libogg;/home/mike/sumwars-code/../dependencies/libogg" line that cmake prints, but actually you just need to install the development package for OGG. In Fedora it would be called lib64ogg-devel (or libogg-devel if you installation is in 32bit).
Logged

Mike on June 16, 2014, 05:17:35 AM
Reply #32

Mike

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Thank you Akien. It was "libogg-devel" missing! And "libvorbis-devel" was missing as well. Now configuration comes to another phase. An error is:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
PHYSFS_INCLUDE_DIR
   used as include directory in directory /home/mike/sumwars-code
PHYSFS_LIBRARY
    linked by target "sumwars" in directory /home/mike/sumwars-code
X11_Xrandr_INCLUDE_PATH (ADVANCED)
   used as include directory in directory /home/mike/sumwars-code
X11_Xrandr_LIB (ADVANCED)
    linked by target "sumwars" in directory /home/mike/sumwars-code


Configuring incomplete, errors occurred!

Any guess what does it mean? I have no idea how to set them or make sure they are tested correctly.
Logged

Akien on June 16, 2014, 07:14:35 AM
Reply #33

Akien

  • Newbie
  • *
  • Posts: 23
  • Karma: +2/-0
    • View Profile
Thank you Akien. It was "libogg-devel" missing! And "libvorbis-devel" was missing as well. Now configuration comes to another phase. An error is:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
PHYSFS_INCLUDE_DIR
   used as include directory in directory /home/mike/sumwars-code
PHYSFS_LIBRARY
    linked by target "sumwars" in directory /home/mike/sumwars-code
X11_Xrandr_INCLUDE_PATH (ADVANCED)
   used as include directory in directory /home/mike/sumwars-code
X11_Xrandr_LIB (ADVANCED)
    linked by target "sumwars" in directory /home/mike/sumwars-code


Configuring incomplete, errors occurred!

Any guess what does it mean? I have no idea how to set them or make sure they are tested correctly.

You should install libXrandr-devel and physfs-devel.

The purpose of cmake is to actually check that the needed development packages are installed on your system; each time it can't find a package, it will complain about it in one way or another. In this case it can't find the INLUDE_DIR and LIB for PhysFS and X11_Xrandr, so that gives us a hint that the development version of those packages are missing. Basically the content of a -devel library is just development headers (".h" files in /usr/include) and development libraries (".so" files in /usr/lib). That's where cmake looks for your libraries, and that's where Fedora will put them too (sometimes in subfolders, but cmake should have clues to find them nonetheless).
Logged

roterstern on June 16, 2014, 10:54:45 AM
Reply #34

roterstern

  • Newbie
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
Sorry, I mean how you compile Sumwars? Also using Eclipse?

lol no.
i use cmake-gui...

@Mike: you need all the *-devel packes for the recomended packeges
Logged

Mike on June 16, 2014, 05:08:46 PM
Reply #35

Mike

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Thank you folks! I have progressed a little further with your help. But it's not finished yet. So, please, be patient to me a little bit more. The goal is so close now :)

@Akien: Yes, these two packages were missing. Now configuring done completely. Then generating done as well. If I understand correctly the next step is "make install" from "/build" subfolder. It has started, printed lots of green strings as progress, but after "Linking CXX executable sumwars" there were tons of strings containing something like "undefined reference to `CEGUI::Window::isVisible() const'" and in the very end it has printed the following (sorry for possible inaccuracy in translation, these error messages were in other language originally):
CMakeFiles/sumwars.dir/src/gui/tradewindow.cpp.o:tradewindow.cpp:(.text+0x26af): more undefined references to `CEGUI::Window::isVisible() const' follow
collect2: error: executing ld finished with return code 1
make[2]: *** [sumwars] Error 1
make[1]: *** [CMakeFiles/sumwars.dir/all] Error 2
make: *** [all] Error 2


Any guess what am I doing wrong now?

@Roterstern: Yes, that's what I actually performed when a name of devel-package was similar to name of missing component in CMake console. But I'm not so advanced in building to know about e.g. "libogg-devel" as a required package for Ogg.
Logged

fusion44 on June 17, 2014, 06:01:58 PM
Reply #36

fusion44

  • Administrator
  • Sr. Member
  • *****
  • Posts: 459
  • Karma: +10/-0
    • View Profile
He can't link to CEGUI for some reason. Can you post the complete log beginning from "Linking CXX executable sumwars"?
Logged

Akien on June 17, 2014, 06:14:10 PM
Reply #37

Akien

  • Newbie
  • *
  • Posts: 23
  • Karma: +2/-0
    • View Profile
@Akien: Yes, these two packages were missing. Now configuring done completely. Then generating done as well. If I understand correctly the next step is "make install" from "/build" subfolder. It has started, printed lots of green strings as progress, but after "Linking CXX executable sumwars" there were tons of strings containing something like "undefined reference to `CEGUI::Window::isVisible() const'" and in the very end it has printed the following (sorry for possible inaccuracy in translation, these error messages were in other language originally):
CMakeFiles/sumwars.dir/src/gui/tradewindow.cpp.o:tradewindow.cpp:(.text+0x26af): more undefined references to `CEGUI::Window::isVisible() const' follow
collect2: error: executing ld finished with return code 1
make[2]: *** [sumwars] Error 1
make[1]: *** [CMakeFiles/sumwars.dir/all] Error 2
make: *** [all] Error 2

This means that you managed to compile everything successfully, but there was an issue when trying to link the CEGUI library with the sumars executable ("Linking CXX executable sumwars" and issues related to missing CEGUI references).

This might be because your CEGUI library is installed in /usr/local/lib (which is fine, but it might be that "ld" can't find it there for now).
Could you tell me how the CEGUI library is named in /usr/local/lib? (give e.g. the output of "ls -l /usr/local/lib | grep CEGUI")

Here are some things you could try:

1) Maybe ld just needs to refresh its database to locate CEGUI, particularly if you installed CEGUI manually
As root, run "ldconfig", and then as normal user, try again to run "make" in Sumwars' build/ directory.

2) If this doesn't work, you could try to edit this line in the CMakeLists.txt file in Sumwars directory:
Code: [Select]
TARGET_LINK_LIBRARIES(sumwars ${LINK_LIBS})Change it to:
Code: [Select]
TARGET_LINK_LIBRARIES(sumwars ${LINK_LIBS} /usr/local/lib/libCEGUIBase-0.soIf your main CEGUI library is not named libCEGUIBase-0.so, then use whichever name it has.

The rerun cmake and make, and see if it works.

If it still fails, we might have to further investigate.
Logged

Akien on June 17, 2014, 06:14:48 PM
Reply #38

Akien

  • Newbie
  • *
  • Posts: 23
  • Karma: +2/-0
    • View Profile
He can't link to CEGUI for some reason. Can you post the complete log beginning from "Linking CXX executable sumwars"?
@Mike: To get the log in English, you can run LC_ALL=C make.
Logged

Mike on June 17, 2014, 07:36:06 PM
Reply #39

Mike

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
@Fusion44: The complete output of "make" is huge, so, posting it at Pastebin: http://pastebin.com/ueGmS4yQ

@Akien: My /usr/local/lib is empty. Does it mean I must copy something there?

The result of "ls -l /usr/local/lib | grep CEGUI" is empty list. But a file named "libCEGUIBase-0.so" was found in another directory:
[mike@localhost build]$ LC_ALL=C ls -l /usr/local/lib64 | grep CEGUI
lrwxrwxrwx. 1 root root      19 Jun 14 18:26 libCEGUIBase-0.so -> libCEGUIBase-0.so.3
lrwxrwxrwx. 1 root root      23 Jun 14 18:26 libCEGUIBase-0.so.3 -> libCEGUIBase-0.so.3.0.0
-rwxr-xr-x. 1 root root 5520497 Jun 14 18:25 libCEGUIBase-0.so.3.0.0
lrwxrwxrwx. 1 root root      28 Jun 14 18:26 libCEGUICommonDialogs-0.so -> libCEGUICommonDialogs-0.so.3
lrwxrwxrwx. 1 root root      32 Jun 14 18:26 libCEGUICommonDialogs-0.so.3 -> libCEGUICommonDialogs-0.so.3.0.0
-rwxr-xr-x. 1 root root  198515 Jun 14 18:25 libCEGUICommonDialogs-0.so.3.0.0
lrwxrwxrwx. 1 root root      27 Jun 14 18:26 libCEGUINullRenderer-0.so -> libCEGUINullRenderer-0.so.3
lrwxrwxrwx. 1 root root      31 Jun 14 18:26 libCEGUINullRenderer-0.so.3 -> libCEGUINullRenderer-0.so.3.0.0
-rwxr-xr-x. 1 root root   94255 Jun 14 18:25 libCEGUINullRenderer-0.so.3.0.0
lrwxrwxrwx. 1 root root      27 Jun 14 18:26 libCEGUIOgreRenderer-0.so -> libCEGUIOgreRenderer-0.so.3
lrwxrwxrwx. 1 root root      31 Jun 14 18:26 libCEGUIOgreRenderer-0.so.3 -> libCEGUIOgreRenderer-0.so.3.0.0
-rwxr-xr-x. 1 root root  325917 Jun 14 18:25 libCEGUIOgreRenderer-0.so.3.0.0
[mike@localhost build]$


After running "ldconfig" as root I have tried "make" (as user) and obtained same set of errors.

I have tried to edit a string in /home/mike/sumwars-code/CMakeLists.txt (backuped it first) into "TARGET_LINK_LIBRARIES(sumwars ${LINK_LIBS}) "/usr/local/lib64/libCEGUIBase-0.so"", tried to use quotes around file name and without quotes as well. Now the error looks the following way:
[mike@localhost build]$ LC_ALL=C make
CMake Error: Error in cmake code at
/home/mike/sumwars-code/CMakeLists.txt:632:
Parse error.  Expected a command name, got quoted argument with text "/usr/local/lib64/libCEGUIBase-0.so".
-- Configuring incomplete, errors occurred!
See also "/home/mike/sumwars-code/build/CMakeFiles/CMakeOutput.log".
See also "/home/mike/sumwars-code/build/CMakeFiles/CMakeError.log".
make: *** [cmake_check_build_system] Error 1


It says it was expecting a "command name", not file name. Maybe that is the reason?

I have another guess what can be wrong. Maybe that's because I'm not advanced builder and did not install CEGUI after building (yes, I was building CEGUI from source, and not sure I have done everything correctly) into location where CMake is expecting? Can you give a hint what I had to do after compiling CEGUI?
Logged

Akien on June 18, 2014, 07:19:23 AM
Reply #40

Akien

  • Newbie
  • *
  • Posts: 23
  • Karma: +2/-0
    • View Profile
@Akien: My /usr/local/lib is empty. Does it mean I must copy something there?
No it's alright, I just thought you were on a 32-bit system. It will be /usr/local/lib64 then.

Quote
I have tried to edit a string in /home/mike/sumwars-code/CMakeLists.txt (backuped it first) into "TARGET_LINK_LIBRARIES(sumwars ${LINK_LIBS}) "/usr/local/lib64/libCEGUIBase-0.so"", tried to use quotes around file name and without quotes as well.
The path should come before the closing bracket, i.e.:
Code: [Select]
TARGET_LINK_LIBRARIES(sumwars ${LINK_LIBS} /usr/local/lib64/libCEGUIBase-0.so )I'm not sure it would work though, but it's worth trying, maybe Fusion44 will have more clues.

Quote
I have another guess what can be wrong. Maybe that's because I'm not advanced builder and did not install CEGUI after building (yes, I was building CEGUI from source, and not sure I have done everything correctly) into location where CMake is expecting? Can you give a hint what I had to do after compiling CEGUI?
It seems to me that you build CEGUI correctly and installed it afterwards with "make install", isn't it? That's totally fine and should be supported out of the box by Sumwars. If it's not the case, it's something we should look into :-)
Logged

Mike on June 18, 2014, 04:27:46 PM
Reply #41

Mike

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
@Akien: I have edited CMakeList.txt as you have advised, but errors still persist. Here is my output after editing file, "ldconfig", "make clean", "make":
http://pastebin.com/wMJtKEyv

There are some "#pragma messages" in output which contain some directions. Do they look helpful?

And yes, I have run "make install" after compiling CEGUI without editing any configuration files after compiling. As is it generated after compilation.
« Last Edit: June 18, 2014, 05:07:48 PM by Mike »
Logged

dezGusty on June 18, 2014, 08:00:52 PM
Reply #42

dezGusty

  • Artists
  • Full Member
  • *
  • Posts: 245
  • Karma: +8/-0
    • View Profile
Hi Mike,

the messages are meant to be just a friendly reminder of for the necessary link libs.
They look fine in my opinion :-)
Logged

Mike on June 18, 2014, 08:55:29 PM
Reply #43

Mike

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Hello dezGusty!
Thank you for participation. Now I'm less nervous :) . Any clues about the rest of error messages?
Logged

dezGusty on June 18, 2014, 09:55:20 PM
Reply #44

dezGusty

  • Artists
  • Full Member
  • *
  • Posts: 245
  • Karma: +8/-0
    • View Profile
Hmm... Based on the logs you posted, I would say that the cmakelists and/or cache could be corrupted.
Could you try clearing the cache and then trying again?
Logged