project-navigation
Personal tools

Author Topic: FYI: Running UFO:AI on new Kubuntu 9.04 (What does and doesn't seem to work)  (Read 4005 times)

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
FYI to anyone with Ubuntu or Kubuntu Linux who plans to upgrade to the new 9.04 that just came out:

I can't speak for the main Ubuntu branch, as I use Kubuntu instead, but I've just done a fresh, clean install of Kubuntu 9.04, 32-bit, and went through the standard steps on the wiki for grabbing an SVN copy and compiling, here is what I've found:

While the previous v8.10 gave me no headaches more recently (except the game itself which had the usual, known development bugs present also in Windows), I found that the initial command "configure" quits early with errors about missing packages when trying to prepare compiling uforadiant.  For now, you can work around this and compile the game, languages, and maps successfully by disabling uforadiant, using this instead:

Code: [Select]
./configure --disable-uforadiant
After this step, the "make" and "make lang" and "make maps" work fine, at least on my system.

I did some research on the three packages configure wanted, and I'm not a Linux expert, but if I'm reading the package lists right in the repositories it looks like those libraries are installed but have different names (under this new version of Kubuntu) so that configure can't find them.  Not having any experience programming on Linux, or editing configure/make code I wouldn't know how to correct this issue.

The compiled game, BTW, starts up and runs OK, at least on this test machine.

If others could verify any of this on Ubuntu, as well as 64-bit Kubuntu or Ubuntu that could be useful for the developers.

Edit: This is what the standard "configure" gave me, which again did not happen with 8.10:

Code: [Select]
checking for RADIANT... configure: error: Package requirements (gtk+-2.0 gtkglext-1.0 glib-2.0) were not met:

No package 'gtk+-2.0' found
No package 'gtkglext-1.0' found
No package 'glib-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables RADIANT_CFLAGS
and RADIANT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
« Last Edit: April 24, 2009, 01:49:46 pm by Destructavator »

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Update: Ha! Did it - sort of...   After updating from SVN again and playing around with packages I managed to get the standard "./configure" to work fine, radiant enabled, and get the game to run.  Radiant itself doesn't actually compile, the "make radiant" quickly bombs out with errors, but the maps, languages, and game work OK.

Unfortunately - and this I admit is my fault - I didn't keep track of or document all of the things I did, something I'm now kicking myself for.  Sorry...

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
Radiant itself doesn't actually compile, the "make radiant" quickly bombs out with errors, ....

which error exactly?

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
OK, here's the full text from the terminal including the error at the bottom:

Code: [Select]
dave@Ddsk-1:~/ufoai/trunk$ svn up       
U    src/client/menu/node/m_node_cinematic.c
U    src/client/cl_parse.c                 
U    src/client/campaign/cp_base.c         
U    src/client/campaign/cl_campaign.c     
U    src/client/cl_cinematic_ogm.c         
U    src/client/cl_cinematic.c             
U    src/client/cl_keys.c                   
U    contrib/scripts/codeblocks.sh         
Updated to revision 24188.                 
dave@Ddsk-1:~/ufoai/trunk$ ./configure     
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking system... UNIX (GNU/Linux)             
checking for sed... yes                         
checking for echo... yes                       
checking target OS... linux-gnu                 
checking target CPU... i386                     
checking for gcc... gcc                         
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes             
checking whether we are cross compiling... no           
checking for suffix of executables...                   
checking for suffix of object files... o                 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes                   
checking for gcc option to accept ISO C89... none needed
checking for g++... g++                                 
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes                   
checking how to run the C preprocessor... gcc -E         
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E                           
checking for ANSI C header files... yes                     
checking for sys/types.h... yes                             
checking for sys/stat.h... yes                               
checking for stdlib.h... yes                                 
checking for string.h... yes                                 
checking for memory.h... yes                                                                                                                                                       
checking for strings.h... yes                                                                                                                                                       
checking for inttypes.h... yes                                                                                                                                                     
checking for stdint.h... yes                                                                                                                                                       
checking for unistd.h... yes                                                                                                                                                       
checking size of short... 2                                                                                                                                                         
checking size of int... 4                                                                                                                                                           
checking size of long... 4                                                                                                                                                         
checking size of long long... 8                                                                                                                                                     
checking size of int*... 4                                                                                                                                                         
checking for rm... yes                                                                                                                                                             
checking for mkdir... yes                                                                                                                                                           
checking execinfo.h usability... yes                                                                                                                                               
checking execinfo.h presence... yes                                                                                                                                                 
checking for execinfo.h... yes                                                                                                                                                     
checking for getaddrinfo... yes                                                                                                                                                     
checking for freeaddrinfo... yes                                                                                                                                                   
checking whether AI_NUMERICSERV is declared... yes                                                                                                                                 
checking for setpriority... yes                                                                                                                                                     
checking for strncasecmp... yes                                                                                                                                                     
checking for stdint.h... (cached) yes                                                                                                                                               
checking sys/time.h usability... yes                                                                                                                                               
checking sys/time.h presence... yes                                                                                                                                                 
checking for sys/time.h... yes                                                                                                                                                     
checking sys/resource.h usability... yes                                                                                                                                           
checking sys/resource.h presence... yes                                                                                                                                             
checking for sys/resource.h... yes                                                                                                                                                 
checking for library containing dlopen... -ldl                                                                                                                                     
checking for library containing cos... -lm                                                                                                                                         
checking for library containing stricmp... no                                                                                                                                       
checking for library containing strcasecmp... none required                                                                                                                         
checking zlib.h usability... yes                                                                                                                                                   
checking zlib.h presence... yes                                                                                                                                                     
checking for zlib.h... yes                                                                                                                                                         
checking for compress in -lz... yes                                                                                                                                                 
checking curl/curl.h usability... yes                                                                                                                                               
checking curl/curl.h presence... yes                                                                                                                                               
checking for curl/curl.h... yes                                                                                                                                                     
checking jpeglib.h usability... yes                                                                                                                                                 
checking jpeglib.h presence... yes                                                                                                                                                 
checking for jpeglib.h... yes                                                                                                                                                       
checking for jpeg_CreateDecompress in -ljpeg... yes                                                                                                                                 
checking libintl.h usability... yes                                                                                                                                                 
checking libintl.h presence... yes                                                                                                                                                 
checking for libintl.h... yes                                                                                                                                                       
checking for library containing gettext... none required                                                                                                                           
checking ogg/ogg.h usability... yes                                                                                                                                                 
checking ogg/ogg.h presence... yes                                                                                                                                                 
checking for ogg/ogg.h... yes
checking for ogg_sync_init in -logg... yes
checking vorbis/codec.h usability... yes
checking vorbis/codec.h presence... yes
checking for vorbis/codec.h... yes
checking for vorbis_synthesis_init in -lvorbis... yes
checking xvid.h usability... yes
checking xvid.h presence... yes
checking for xvid.h... yes
checking for xvid_decore in -lxvidcore... yes
checking theora/theora.h usability... yes
checking theora/theora.h presence... yes
checking for theora/theora.h... yes
checking for theora_decode_packetin in -ltheora... yes
checking for theora/theora.h... (cached) yes
checking for theora_decode_packetin in -ltheora... (cached) yes
checking for sdl-config... yes
checking SDL.h usability... yes
checking SDL.h presence... yes
checking for SDL.h... yes
checking SDL_mixer.h usability... yes
checking SDL_mixer.h presence... yes
checking for SDL_mixer.h... yes
checking for library containing Mix_OpenAudio... -lSDL_mixer
checking SDL_ttf.h usability... yes
checking SDL_ttf.h presence... yes
checking for SDL_ttf.h... yes
checking for library containing TTF_Init... -lSDL_ttf
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_create_info_struct in -lpng... yes
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for library containing newwin... -lcurses
configure: UFORadiant dependencies: gtk2, gtkglext, glib2 and libxml2
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for RADIANT... yes
checking for xml2-config... yes
configure: Enabling client
configure: Enabling dedicated server
configure: Enabling ufo2map
configure: Enabling UFORadiant
configure: Enabling debug build
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
dave@Ddsk-1:~/ufoai/trunk$ make radiant
 * [RAD] src/tools/radiant/plugins/model/plugin.cpp
src/tools/radiant/plugins/model/plugin.cpp:193: fatal error: opening dependency file debug-linux-gnu-i386/tools/radiant/plugins_cpp/tools/radiant/plugins/model/plugin.d: No such file or directory
compilation terminated.
make: *** [debug-linux-gnu-i386/tools/radiant/plugins_cpp/tools/radiant/plugins/model/plugin.o] Error 1
dave@Ddsk-1:~/ufoai/trunk$

Edit: Wait a sec - does UfoRadiant need the zipped DLL package for Linux?  I thought that was only necessary on Windows.
« Last Edit: April 25, 2009, 09:31:30 pm by Destructavator »

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Ah!  I unzipped the files, now it compiles... partially:

Code: [Select]
dave@Ddsk-1:~/ufoai/trunk$ make maps
make: Nothing to be done for `maps'.
dave@Ddsk-1:~/ufoai/trunk$ make lang
make: Nothing to be done for `lang'.
dave@Ddsk-1:~/ufoai/trunk$ make radiant
 * [RAD] src/tools/radiant/plugins/model/plugin.cpp
 * [RAD] src/tools/radiant/plugins/model/model.cpp
 * [RAD] src/tools/radiant/libs/picomodel/picointernal.c
 * [RAD] src/tools/radiant/libs/picomodel/picomodel.c   
 * [RAD] src/tools/radiant/libs/picomodel/picomodules.c
 * [RAD] src/tools/radiant/libs/picomodel/pm_ase.c     
 * [RAD] src/tools/radiant/libs/picomodel/pm_md3.c     
 * [RAD] src/tools/radiant/libs/picomodel/pm_obj.c     
 * [RAD] src/tools/radiant/libs/picomodel/pm_md2.c     
 * [RAD] ... linking -rdynamic                         
 * [RAD] src/tools/radiant/plugins/entity/plugin.cpp   
 * [RAD] src/tools/radiant/plugins/entity/entity.cpp   
 * [RAD] src/tools/radiant/plugins/entity/eclassmodel.cpp
 * [RAD] src/tools/radiant/plugins/entity/generic.cpp   
 * [RAD] src/tools/radiant/plugins/entity/group.cpp     
 * [RAD] src/tools/radiant/plugins/entity/miscmodel.cpp 
 * [RAD] src/tools/radiant/plugins/entity/miscparticle.cpp
 * [RAD] src/tools/radiant/plugins/entity/filters.cpp     
 * [RAD] src/tools/radiant/plugins/entity/light.cpp       
 * [RAD] src/tools/radiant/plugins/entity/skincache.cpp   
 * [RAD] src/tools/radiant/plugins/entity/targetable.cpp 
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/image/image.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/map/plugin.cpp
 * [RAD] src/tools/radiant/plugins/map/parse.cpp
 * [RAD] src/tools/radiant/plugins/map/write.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/shaders/shaders.cpp
 * [RAD] src/tools/radiant/plugins/shaders/plugin.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/vfspk3/vfspk3.cpp
 * [RAD] src/tools/radiant/plugins/vfspk3/vfs.cpp
 * [RAD] src/tools/radiant/plugins/vfspk3/archive.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/archivezip/plugin.cpp
 * [RAD] src/tools/radiant/plugins/archivezip/archive.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/ufoai/ufoai.cpp
 * [RAD] src/tools/radiant/plugins/ufoai/ufoai_filters.cpp
 * [RAD] src/tools/radiant/plugins/ufoai/ufoai_gtk.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/plugins/brushexport/callbacks.cpp
 * [RAD] src/tools/radiant/plugins/brushexport/export.cpp
 * [RAD] src/tools/radiant/plugins/brushexport/interface.cpp
 * [RAD] src/tools/radiant/plugins/brushexport/plugin.cpp
 * [RAD] src/tools/radiant/plugins/brushexport/support.cpp
 * [RAD] ... linking -rdynamic
 * [RAD] src/tools/radiant/radiant/autosave.cpp
 * [RAD] src/tools/radiant/radiant/brush.cpp
 * [RAD] src/tools/radiant/radiant/brushmanip.cpp
 * [RAD] src/tools/radiant/radiant/brushmodule.cpp
 * [RAD] src/tools/radiant/radiant/brush_primit.cpp
 * [RAD] src/tools/radiant/radiant/camwindow.cpp
 * [RAD] src/tools/radiant/radiant/colorscheme.cpp
 * [RAD] src/tools/radiant/radiant/commands.cpp
 * [RAD] src/tools/radiant/radiant/console.cpp
 * [RAD] src/tools/radiant/radiant/csg.cpp
 * [RAD] src/tools/radiant/radiant/dialog.cpp
 * [RAD] src/tools/radiant/radiant/eclass.cpp
 * [RAD] src/tools/radiant/radiant/eclass_def.cpp
 * [RAD] src/tools/radiant/radiant/entity.cpp
 * [RAD] src/tools/radiant/radiant/environment.cpp
 * [RAD] src/tools/radiant/radiant/error.cpp
 * [RAD] src/tools/radiant/radiant/exec.cpp
 * [RAD] src/tools/radiant/radiant/filetypes.cpp
 * [RAD] src/tools/radiant/radiant/filters.cpp
 * [RAD] src/tools/radiant/radiant/grid.cpp
 * [RAD] src/tools/radiant/radiant/gtkmisc.cpp
 * [RAD] src/tools/radiant/radiant/image.cpp
 * [RAD] src/tools/radiant/radiant/lastused.cpp
 * [RAD] src/tools/radiant/radiant/material.cpp
 * [RAD] src/tools/radiant/radiant/main.cpp
 * [RAD] src/tools/radiant/radiant/mainframe.cpp
src/tools/radiant/radiant/mainframe.cpp: In function ‘void MainFrame_Construct()’:
src/tools/radiant/radiant/mainframe.cpp:2475: error: no match for ‘operator<<’ in ‘DirectoryCleaned(((const char*)"/usr/local/bin")) << "ufo2map"’
src/tools/radiant/radiant/mainframe.cpp:2478: error: expected `;' before ‘GlobalPreferenceSystem’
src/tools/radiant/libs/math/aabb.h: At global scope:
src/tools/radiant/libs/math/aabb.h:233: warning: ‘aabb_normals’ defined but not used
make: *** [debug-linux-gnu-i386/tools/radiant/tools/radiant/radiant/mainframe.o] Error 1
dave@Ddsk-1:~/ufoai/trunk$