Jump to content

Compilation Errors On Debian Sid


ShakaZ
 Share

Recommended Posts

Hello,

I've been trying to install 0AD, first from SVN but that failed.

Now using the released files.

When running ./update-workspaces.sh there was an error about libxml-2.0.pc not being found, which was resolved by export PKG_CONFIG_PATH=/usr/lib32/pkgconfig.

Now it gives following error :

$ ./update-workspaces.sh

Updating bundled third-party dependencies...

bash -c 'mkdir -p output/{debug,release,test}/{FCollada/{FCDocument,FMath,FUtils,FColladaTest/{FCTestAssetManagement,FCTestExportImport,FCTestXRef}},FColladaPlugins/FArchiveXML}'

FCollada/FCollada.cpp

g++ -fvisibility=hidden -W -Wall -Wno-unused-parameter -Wno-unused-function -DLINUX -fpic -fno-strict-aliasing -O0 -g -D_DEBUG -DRETAIL -IFCollada `pkg-config libxml-2.0 --cflags` -MD -MF output/debug/FCollada/FCollada.d -c FCollada/FCollada.cpp -o output/debug/FCollada/FCollada.o

In file included from FCollada/FCollada.h:49:0,

from FCollada/StdAfx.h:13,

from FCollada/FCollada.cpp:9:

FCollada/FUtils/FUtils.h:91:25: fatal error: libxml/tree.h: No such file or directory

compilation terminated.

make: *** [output/debug/FCollada/FCollada.o] Error 1

ERROR: FCollada build failed

A search on my system doesn't show a tree.h file located in a libxml directory.

EDIT: Nevermind, what I wrote above was fixed after installing the dependencies (except libcurl4-gnutls-dev libcurl4-openssl-devas they depend on licurl-dev which is not available) suggested on the build instructions page.

./update-workspaces.sh builds fine now, however there are some errors during the make:

NetHost.cpp

In file included from ../../../source/network/NetHost.cpp:22:0:

../../../source/lib/external_libraries/enet.h:33:2: error: #error The game currently requires ENet 1.2.x. You are using a newer version, which has an incompatible API and network protocol. Please switch to an older version.

ScriptStats.cpp

make[1]: *** [obj/network_Release/NetHost.o] Error 1

make: *** [network] Error 2

make: *** Waiting for unfinished jobs....

ICmpVisual.cpp

CCmpObstruction.cpp

ScriptInterface.cpp

ICmpUnitMotion.cpp

../../../source/scriptinterface/ScriptInterface.cpp: In constructor 'ScriptInterface_impl::ScriptInterface_impl(const char*, const boost::shared_ptr<scriptRuntime>&)':

../../../source/scriptinterface/ScriptInterface.cpp:417:9: warning: variable 'ok' set but not used [-Wunused-but-set-variable]

ICmpDecay.cpp

There are no ./test and ./pyrogenesis files in binaries/system, so something must have gone wrong even though there didn't seem to be any fatal error.

EDIT2 :

Downgraded libenet to version 1.2.1-1, which removed the previous errors, though now there's a fatal error and more errors about unused variables or parameters.

p

UserReport.cpp

In file included from ../../../source/ps/UserReport.cpp:24:0:

../../../source/lib/external_libraries/curl.h:50:23: fatal error: curl/curl.h: No such file or directory

compilation terminated.

make[1]: *** [obj/engine_Release/UserReport.o] Error 1

make: *** [engine] Error 2

make: *** Waiting for unfinished jobs....

Still no ./test and ./pyrogenesis files in binaries/system

Edited by ShakaZ
Link to comment
Share on other sites

Hello.

except libcurl4-gnutls-dev libcurl4-openssl-devas they depend on licurl-dev which is not available


../../../source/lib/external_libraries/curl.h:50:23: fatal error: curl/curl.h: No such file or directory

Apparently you need to install some libcurl*-dev somehow. What distribution do you use? (Edit: I found it in the topic title)

Edit2: maybe you have some other curl package installed, which blocks installation of libcurl4-gnutls-dev and libcurl4-openssl-dev ?

<...> and more errors about unused variables or parameters

Probably this is just warnings, which intended to remind developers that something should be implemented/changed.

Link to comment
Share on other sites

Hello.

Apparently you need to install some libcurl*-dev somehow. What distribution do you use? (Edit: I found it in the topic title)

Edit2: maybe you have some other curl package installed, which blocks installation of libcurl4-gnutls-dev and libcurl4-openssl-dev ?

Probably this is just warnings, which intended to remind developers that something should be implemented/changed.

I eventually realised that instead of libcurl4-gnutls-dev and libcurl4-openssl-dev needing an unavailable libcurl-dev they were conflicting with each other and libcurl-dev is just a stub installed by either one of them.

So I installed only libcurl4-openssl-dev and then the compilation ran fine. Might be wise to update the wiki about this.

So eventually the only unorthodox thing I had to do in the process was the downgrading of the libenet packages with versions that aren't available in debian sid anymore.

Any idea when you will switch to libeven 1.3.x? Atm these libraries being limited to versions 1.2.x means no packages are available on the debian frickelplatz repository which is the only one, I know of, providing 0AD on debian.

Edited by ShakaZ
Link to comment
Share on other sites

I eventually realised that instead of libcurl4-gnutls-dev and libcurl4-openssl-dev needing an unavailable libcurl-dev they were conflicting with each other and libcurl-dev is just a stub installed by either one of them.

So I installed only libcurl4-openssl-dev and then the compilation ran fine. Might be wise to update the wiki about this.

Yeah, someone added libcurl4-openssl-dev to the wiki but it looks like it's only installable as an alternative so we shouldn't list both. I'll fix that soonish. The gnutls one is probably better from a licensing perspective (Debian people have worried about the openssl one being GPL-incompatible, I think), but either should work technically (and we don't use the SSL feature at all anyway).
Any idea when you will switch to libeven 1.3.x?
Probably for the next release - I think the easiest approach is probably to bundle ENet 1.3 with the game, for distros that only have 1.2 (which should disappear over time), but use the standard system library when available, so it just needs a bit of fiddling with the build system to support that.
Link to comment
Share on other sites

  • 2 weeks later...

Hi - I recently became aware of this project and I'm really excited to try out the newest Alpha. (I used to play AoE!!)

However, I use Linux Mint Debian Edition (LMDE) and it looks like I need to compile. Are there specific instructions on how to compile on a Debian system on the Wiki that you guys referred to? Or, do I just try and download the source and follow the "build" instructions as mentioned on the download page?

Also, what are the minimum system requirements for the game? I looked for a bit on the webpages and couldn't find info on that ... or I'm just blind eek.gif which is probably the case.

Thanks!

Link to comment
Share on other sites

Are there specific instructions on how to compile on a Debian system on the Wiki that you guys referred to?

There is general build instructions on the wiki for all linux distributions: http://trac.wildfiregames.com/wiki/BuildInstructions#Linux. As you can see only thing which is specified for Debian-based distributions, it is the list of packages, which you need to install.

Edit: if you want to compile only latest release, instead of using SVN version, you can download archives, mentioned on this page: http://trac.wildfiregames.com/wiki/LatestReleaseLinux#CompilingonLinux .

Link to comment
Share on other sites

ShakaZ,

I eventually realised that instead of libcurl4-gnutls-dev and libcurl4-openssl-dev needing an unavailable libcurl-dev they were conflicting with each other and libcurl-dev is just a stub installed by either one of them.

So I installed only libcurl4-openssl-dev and then the compilation ran fine. Might be wise to update the wiki about this.

So eventually the only unorthodox thing I had to do in the process was the downgrading of the libenet packages with versions that aren't available in debian sid anymore.

Any idea when you will switch to libeven 1.3.x? Atm these libraries being limited to versions 1.2.x means no packages are available on the debian frickelplatz repository which is the only one, I know of, providing 0AD on debian.

I ran into the exact problem during my build on Linux Mint DE. Where you did you find the downgraded packages of libenet? I'm not sure how to force a particular version OR where to get the package files.

Thanks!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...