UFO:Alien Invasion

Technical support => Linux => Topic started by: 1Nsane on April 02, 2019, 11:06:14 am

Title: Fedora29 Compile problem
Post by: 1Nsane on April 02, 2019, 11:06:14 am
Hi !

I try to compil UFO AI 2.6 on my Fedora29 but i have two problems.

First anomaly, i miss two headers files :

Code: [Select]
[duke@localhost ufoai]$ ./configure --enable-release
use c compiler: cc
use c++ compiler: c++
Compile for linux
Compile for x86_64
Compile in release mode
Disable ccache
Using default CFLAGS
Using default LDFLAGS
Found cc cc
Found cxx c++
Using bindir /usr/local/bin/
Using datadir /usr/local/games/ufo/
Using libdir /usr/local/lib/
Using prefix /usr/local
Enable hard linked cgame
Use signal handler
Setting custom data directory
Setting custom library directory
Found zip from zip
Found python from python
Found doxygen from doxygen
Found xvid.h
Found theora/theora.h
Found execinfo.h
Found libiberty.h
Could not find libiberty/libiberty.h
Found bfd.h
Found sys/utsname.h
Found link.h
Found jpeglib.h
Found zlib.h
Found png.h
Found curl/curl.h
Found lua.h
Found mxml.h
Found SDL.h
Found SDL_mixer.h
Found SDL_ttf.h
Found SDL.h
Found SDL_mixer.h
Found SDL_ttf.h
Could not find picomodel.h
Found gtk/gtk.h
Found gtksourceview/gtksourceview.h
Found libxml/parser.h
Found AL/al.h
Found gtk/gtkglwidget.h
Build modules:
Build cgame-campaign
Build cgame-multiplayer
Build cgame-skirmish
Build game
Build memory
Build testall
Build ufo2map
Build ufoded
Build ufo
Build ufomodel
Build uforadiant
Build ufoslicer

libiberty.h and picomodel.h

libiberty.h is present in /usr/lib/gcc/x86_64-redhat-linux/8/plugin/include

picomodel.h is not present on my fedora. I do not know which package to install.
dnf provides give nothing

Other thing :

Code: [Select]
[duke@localhost ufoai]$ make
===> CXX [testall] src/common/xml.cpp
src/common/xml.cpp: Dans la fonction « mxml_type_t mxml_ufo_type_cb(mxml_node_t*) »:
src/common/xml.cpp:513:14: error: utilisation invalide du type incomplet « mxml_node_t » {aka « struct _mxml_node_s »}
   type = node->value.element.name;
In file included from src/common/xml.h:23,
                 from src/common/xml.cpp:26:
/usr/include/mxml.h:97:16: note: déclaration anticipée de « mxml_node_t » {aka « struct _mxml_node_s »}
 typedef struct _mxml_node_s mxml_node_t; /**** An XML node. ****/
make: *** [Makefile:183: release-linux-x86_64/testall/common/xml.cpp.o] Error 1

How i can resolve that ?

Thanks u  :)

Title: Re: Fedora29 Compile problem
Post by: Sandro on May 21, 2019, 02:21:53 am
picomodel library should be located in the UFO:AI source tree under src/libs/picomodel -- please make sure you've checked out and compiling all the workspace. Same goes for the mxml library.
Title: Re: Fedora29 Compile problem
Post by: 1Nsane on July 13, 2019, 07:46:29 am

Thank you for your reply.

I will look at it as soon as I have a little time.
Title: Re: Fedora29 Compile problem
Post by: anonymissimus on September 14, 2019, 12:58:16 pm
The second problem likely is the result of the missing headers.

Yes, the UFO:AI source contains lots of 'embedded' libs and uses them for building. Did you get the complete source ? See https://ufoai.org/wiki/Getting_the_source
Title: Re: Fedora29 Compile problem
Post by: geever on September 14, 2019, 05:23:30 pm
The second issue could be MXML incompatibility. I've recently updated master branch to compile with mxml 3.0, before we only supported mxml 2.x.