New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port to libxml++-3.0 #612
Port to libxml++-3.0 #612
Conversation
On Wed, May 24, 2017 at 04:37:45PM -0700, rezso wrote:
Compiled with libxml++-3.0 3.0.0, but not tested in runtime.
This is pretty nice. Thanks!
For the record, this PR solves ticket #591 technically, but there's a
problem. libxml++-3.0 wasn't in the most-widely used Linux distro
(Ubuntu LTS) last time I checked, so this is going to give people
compilation problems. Can somebody verify whether this is still the
case?
The PR itself looks absolutely okay to me and can be merged once the
above is figured out.
…--
Blog: https://www.guelkerdev.de
PGP/GPG ID: F1D8799FBCC8BC4F
|
Unfortunately I'm not familiar with cmake, so I don't know, how to find different library versions. |
On Thu, May 25, 2017 at 01:45:15AM -0700, rezso wrote:
Unfortunately I'm not familiar with cmake, so I don't know, how to find different library versions.
Can you help me in this?
You need to drop the REQUIRED clause from find_package() and check the
*_FOUND variable for a package instead to detect whether it was
found. If not, you fall back to searching for the older version (then
with REQUIRED clause).
Still, before you go and implement this (you're going to need #ifdefs in
the code, which is always ugly), wait for the active TSC developers to
give a statement on TSC's pre-next-LTS releasability (I'm not actively
involved into the development at the moment). It might be that such a
two-version workaround is not required if the release process is slow
enough for the next LTS to come out before anyway.
Vale.
|
I would roughly guess that it will be at least a year and a half until release 2.1 comes out. A lot of this depends on availability of programmers and when they become available. |
Realistically, we should probably be using something like AppImages for distribution anyway, so I'm not sure why libxml++'s version would be too much of a problem... If someone's trying to build the code themselves, the other dependencies will likely give them more hell anyway. |
Hey, I just found this project, and I would love to contribute, but I cannot build the game in order to test it. The problem I'm getting involves this same libxml++ package; the error is:
Could someone walk me through how to resolve this? (You mentioned #ifdefs, but where would I put them?) If this is too much to ask, then I will try to learn CMake on my own. I just get the impression that, if I could get this issue resolved, then it would allow me to get to contributing to the code (e.g., testing, debugging, adding functionality) much sooner. |
https://github.com/Secretchronicles/TSC
Requires Debian 9 or Ubuntu 16.10 or newer. |
First of all, thanks for the quick response. I've done some more research and I realized that I should've given more info about my environment: I'm running gentoo linux, and since libXml++ is not a package offered by portage, I've been installing it manually from source. This is fine in theory (it compiles just fine), but I need to make sure that CMake finds it (which I think is why it was complaining about LibXmlPP_INCLUDE_DIRS). Since I'm not really well-versed in CMake, this may take some time, but I expect to get it sorted. That, or I could simply use a Debian VM and have it work more smoothly. Anyway, thank you for pointing me in the right direction. |
Dependencies are listed here: Maybe @Quintus could describe how he did build TSC on Gentoo. |
@chocorho libmxml++ is in the Portage tree. The package is called If you plan to contribute to our project on a regular base, by all means, welcome! In that case, you should occasionally drop into our IRC channel @xet7 On the PR itself, I think we can merge it now. Just yesterday the new Ubuntu LTS 18.04 was released and I'm sure it contains libxml++3.0 by now. Just test it builds on Ubuntu 18.04 before pushing the merge to To everyone: please, keep the discussion in this ticket on topic, which is the specific PR suggested. General questions should be directed to the mailinglist mentioned above. Otherwise we mix things up that don't belong to one another. |
Sorry, libxml++3.0-dev is not available in Ubuntu 18.04 and Debian 10. This can not be merged yet. |
It appears you're right. That is surprising, but we can't change that.
TSC3 does not depend on libxml++ anymore, so the problem will vanish
in that version. Instead, the XercesC XML parser is used which I
expect to never change its API.
For reference, here's the package search on Ubuntu's website.
https://packages.ubuntu.com/search?keywords=libxml%2B%2B&searchon=names&suite=bionic§ion=all
And here on Debian's.
https://packages.debian.org/search?keywords=libxml%2B%2B&searchon=names&suite=testing§ion=all
Note that since Debian 10 is not yet stable, libxml++3 may make it
into the final version.
|
I've now merged this PR and amended the patch so that TSC now supports both libxml++2.6 and libxml++3.0 by introducing a new compilation option Testing with libxml++3.0 is welcome, but until at least one of Ubuntu LTS or Debian has libxml++3.0 in the repositories I won't enable that option by default. |
Compiled with libxml++-3.0 3.0.0, but not tested in runtime.