dnperfors Posted November 27, 2009 Share Posted November 27, 2009 Well, I try to compile 0AD on Ubuntu 9.10 (x86) and get the error that LIBXML_THREAD_ENABLED is not defined. In Ubuntu (and debian I guess) libxml is not compiled with threading support.Did anybody succesfully compile 0AD on debian based os? Link to comment Share on other sites More sharing options...
Ykkrosh Posted November 27, 2009 Share Posted November 27, 2009 Hmm, sounds similar to this on OS X. (People have built successfully on Ubuntu before, but maybe an older version (perhaps this changed in 9.10?), and also our code has changed some threading stuff recently.)Could you look in /usr/include/libxml2/libxml/xmlversion.h for the block of code that sets LIBXML_THREAD_ENABLED? Also, could you run echo '_REENTRANT' | g++ -E -pthread -and copy the output? Hopefully one of those should show why it's not working. Link to comment Share on other sites More sharing options...
dnperfors Posted November 27, 2009 Author Share Posted November 27, 2009 Hmm, sounds similar to this on OS X. (People have built successfully on Ubuntu before, but maybe an older version (perhaps this changed in 9.10?), and also our code has changed some threading stuff recently.)Well that is exactly the problem. I don't know when they turned it off...Could you look in /usr/include/libxml2/libxml/xmlversion.h for the block of code that sets LIBXML_THREAD_ENABLED? #if 0#if defined(_REENTRANT) || defined(__MT__) || \ (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))#define LIBXML_THREAD_ENABLED#endif#endifas I said, this was disabled...The output:Also, could you run echo '_REENTRANT' | g++ -E -pthread -and copy the output?# 1 "<stdin>"# 1 "<built-in>"# 1 "<command-line>"# 1 "<stdin>"1 Link to comment Share on other sites More sharing options...
Ykkrosh Posted November 27, 2009 Share Posted November 27, 2009 Thanks, just wanted to check . Looks like it's a newly introduced problem in 9.10, given that nobody has hit that error before. I can't find any indication of why it changed, though.We use libxml2 across multiple threads, so it really needs to be compiled with thread support. I'm not particularly familiar with how these things work on Ubuntu - I guess the options are to wait for them to fix the bug, or to use their source package and tweak it to configure with --with-threads, or to download and install the normal upstream version, or for us to bundle the upstream version and compile it automatically. None of those seem ideal Link to comment Share on other sites More sharing options...
dnperfors Posted November 27, 2009 Author Share Posted November 27, 2009 I already feared that I will try to figure out why this was changed... Link to comment Share on other sites More sharing options...
Ykkrosh Posted November 27, 2009 Share Posted November 27, 2009 Just thought of another option: we only use libxml2 across threads for the map editor, so if you just run "make pyrogenesis Collada" then it'll skip the editor (AtlasUI) and the game ought to work okay. That's not ideal either, but it might be better than nothing. Link to comment Share on other sites More sharing options...
dnperfors Posted November 27, 2009 Author Share Posted November 27, 2009 That is correct, it did compile succesfully... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now