I’ve been trying to package a game that uses libboost_python with the CMake build system and I cannot get it to find the proper libboost_python 2.7 library (/usr/lib64/libboost_python.so or /usr/lib64/libboost_python-py2_7.so.1.71.0). The game is here:
Whatever I do, CMake does not find the proper boost python 2.7 library on tumbleweed. I’ve tried all the python-py27, python27, 2.7, etc. variants with all the options I could find. Does anyone have any suggestions?
Thanks!
P.S. This game takes a very long time to compile and there are other compile errors that I’m working with upstream to patch.
This game requires python 2.7 and they are in the process of migrating, but not for their next release. I attempted to use the python3 anyways and I get linker errors like this:
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libboost_python-py3.so.1.71.0: undefined reference to `PyUnicode_AsUTF8String'
Can’t python 2.7 be provided by configuring a repository?
Of course, if python 2 has been deprecated in TW, that would mean that you’d likely have to package up any Python 2 dependencies since none would be provided by the installed system.
BTW -
As of today, it’s not gone yet… but of course you don’t build something that’ll work only today and not tomorrow…
Hi
We are discussing packages in the development project to head off to Tumbleweed, going forward, must be built with python3, they will then work with the current Leap releases, no build, no get into Tumbleweed, no get into Leap going forward…
There is zero reason to not fix and build for python3.
I got python3 to link properly by disallowing python2 development files and altering the CMakeLists.txt to explicitly search for python3. However, the game does fail to work properly because of python2 syntax in game files.
I’ve been following development of the python port for this game and it will not be ready by release. This game only releases about once per year so it would be broken for a while. Is there no way to force python2 support on tumbleweed?
At a minimum the standard syntax ones (e.g. print ""), but the game uses python in AI and many other math-intensive scenarios and I have no idea if a drop-in replacement of python3 would break other things (i.e. integer division).
Hi
I would disable the build Tumbleweed builds until it python3 ready…
If you look at DimStar’s Factory branch and switch to obs_scm service (it’s what I use these days) can pull the latest commits in a flash, plus switching to obscpio is a build saver…
I could imagine someone setting up a purely community repo that offered python2 to solve this on obs (not me though ;), perhaps rebuilding pre-existing python2 leap packages under tumbleweed. But I happen to fully agree that python2 should be excluded from official repos going forward.
Hi
I don’t think that would be a good idea, no upstream support for any security issues? I would not want to use it Anyway, going forward as Tumbleweed does, I still have 40 python2 packages on my system of the 2314 python2 packages available…
I agree there that I would not want to use it either. But there are clearly enterprise users who still have python2 in active deployment, it still comes as a “required” base on IBM (Redhat 7) Linux, and IBM has bought the joy of supporting that themselves for perhaps another decade there, heck they still have in active support RedHat 6 that came with Python 2.6. Those future patches could possibly be brought over if some user really wanted to support it in their own repo in obs I suppose. Certainly they do have the freedom to do so. I know I wouldn’t be using it either, though.
Well, it’s settled - one of the game developers told me to just wait until next game release as current python3 patches couldn’t be backported anyways. This package was removed from Factory because of failing Tumbleweed build, does Factory require Tumbleweed to build?