Jump to content
The Dark Mod Forums

Dark Radiant recent compile failure in Manjaro Linux (Solved)


Recommended Posts

Hello,

Looking for help!

 

This post list three seperate issues trying to compile Dark Radiant from the current git on Manjaro. We are currently using boost 1.60.0-4.

 

First hurdle was there were no recent PKGBUILDS of Dark Radiant in either Manjaro or Arch so I took an old one for 1.8 an updated it for the latest git version. I could not get the Python plugin to compile until I figured out that there are two references to python in configure and configure.ac. One part of the code has python2-config and another says python-config causing (as I later found out) a mismatch between Python 2 & Python 3 which ended in a compile error. I gleaned this from the log file showing flags for both Python 2 & Python 3. I added the following sed statement to the PKGBUILD:

sed -i configure configure.ac -e 's/\(python\)2\(-config\)/\1\2/g' 

and I managed to get it to compile.

 

Note: I think it's linking now to python 3 as I see an error with a print statement in a script when I open Dark Radiant but it compiles now at least. I tried a sed statement changing all to python2 but it failed to compile so I stuck to the above sed statement.

 

Both Manjaro and Arch use python to refer to Python 3 and python2 for Python 2.

 

The second and latest issue concerns

 

Linux makefile update

commit abc15b2cad382c4f6655e7eda339d3ed41c7d4dd

 

after this commit I can't compile anymore. It fails with the message

checking for the Boost regex library... no
configure: error: cannot find the flags to link with Boost regex
==> ERROR: A failure occurred in build().
Aborting...

Manjaro just updated to

gcc-libs-multilib 6.1.1-1
gcc-multilib 6.1.1-1
lib32-gcc-libs 6.1.1-1

 

and I don't know if that has something to do with it as well. I hadn't compiled since the update.

I would like to be able to compile again.

 

The third and least problematic and not really a compile error is when I very first start Dark Radiant I get:

darkradiant: xcb_io.c:529: _XAllocID: Assertion `ret != inval_id' failed.
[1] 11137 abort (core dumped) darkradiant

 

This is annoying but when I try again it starts perfectly. It pops up a message saying I should check the log but I don't see any errors.

As I said this only occurs the very first time I try to start it up for the day then from there it works fine.

 

Any help or knowledge would greatly be appreciated.

I attached my config.log of a recent build if this helps

 

Thanks

config.txt

Edited by hNID
Link to post
Share on other sites

OK, I have had partial success with issues two and three. Apparently Manjaro had a huge update about a week ago as alluded to in the previous post. Well something upstream must have been borked because we had another huge update yesterday and after that I was able to compile again. :D

Also I picked up a newer version of xcb-util-xrm (namely xcb-util-xrm 1.0-2) which seems to have taken care of the crash I was having at startup.

 

I'm still having issues compiling the python plugin without the sed statement but I can live with that. This was really bugging me and I tried everything on my end and it turned out to be a bug in something unrelated.

 

I will try to mark my issue a partially solved in any case.

Link to post
Share on other sites
  • 2 weeks later...

Just to update on the python issue for anybody interested. Especially those using Arch/Manjaro

 

I found out that DR was linking to Python 3 under Manjaro. The program would build but it caused all sorts of bugs including DR to segfault whenever I closed it. It's an old long standing thing because of the way Arch packages Python.

 

In configure and configure.ac there are uses of python-config and some uses of python2-config to get the libraries and build parameters for linking. Well boost.python expects to get the parameters from python-config which on most distros is still symlinked to Python 2 but not in Arch/Manjaro. The program expects python2-config to link Python. You can't use a generalized sed statement to do a carte blanche change either as I found out. The way the scripts call those parameters specifically to get the libraries for linking python and boost.python are intermixed and if you change it with a sed statement It fixes it for one part but breaks it for the other (because Arch symlinks /usr/bin/python-config -> python3-config*). It's very convoluted and my explanation is not a very good one but long story short is on Arch/Manjaro you have to temporary delete /usr/bin/python-config and recreate the link as usr/bin/python-config -> python2.7*. You have to change it back after the build or it will break things but it works as is without monkeying with the code. It's not an elegant solution and I'm going to find a better way moving forward but in case others experience this they have a workaround now.

 

P.S. Still having other issues I'm trying to get around (sound issue with speakers) but I have or will address those in other posts. I'm marking this thread as Solved.

Edited by hNID
Link to post
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.

×
×
  • Create New...