this is my first post here, and a rather long one, so sorry for the text wall, and hello to everybody ;D
In trying to get as much (hopefully helpful) information about my problem together as possible, this post will have a certain length
I currently try to get ohrrpgcelinux binaries to run, to no avail. At the moment I can run the windows binaries of custom and game using wine, while fortunately the hspeak linux binary works (contrary to the windows hspeak binary), so while I can more or less use it, it all is a bit cumbersome...
My system is current manjaro (i.e., an archlinux derivate).
Using the Linux x86_64 binary tarball from the Download site, hspeak works,
but custom needs libncurses.so.5, while on my system I have libncurses.so.6.
I tried using a link (libncurses.so.5 -> libncurses.so.6), but it seems those are not binary compatible.
Using
objdump -p ohrrpgce-game on the binary gave me libtinfo.so.5, of which I have version 6 installed as well, and libgcc_s.so.1, which I haven't found at all (looks like some gcc thingy, though).
Next I tried compiling from source.
It seems the python scripts are written in python2, and my scons module was versioned for 3.8.
Thus I converted autotest.py, hspeaktest.py, ohrbuild.py and SConsctruct to python3, with the following result:
Code: Select all
~/bin/ohrrpgce/src >>> scons
scons: Reading SConscript files ...
TypeError: cannot use a string pattern on a bytes-like object:
File "/home/tarl/bin/ohrrpgce/src/SConstruct", line 4:
SConscript('SConscript', variant_dir = 'build/', duplicate = False)
File "/usr/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/usr/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/usr/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 286:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/home/tarl/bin/ohrrpgce/src/SConscript", line 70:
fbc_binary, fbcversion, fullfbcversion, default_target, default_arch = ohrbuild.get_fb_info(fbc)
File "/home/tarl/bin/ohrrpgce/src/ohrbuild.py", line 218:
version, date = re.findall("Version ([0-9.]+) ([0-9()-]+)", fbcinfo)[0]
File "/usr/lib/python3.8/re.py", line 239:
return _compile(pattern, flags).findall(string)
Code: Select all
~/bin/ohrrpgce/src >>> scons
scons: Reading SConscript files ...
TypeError: a bytes-like object is required, not 'str':
File "/home/tarl/bin/ohrrpgce/src/SConstruct", line 4:
SConscript('SConscript', variant_dir = 'build/', duplicate = False)
File "/usr/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/usr/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/usr/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 286:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/home/tarl/bin/ohrrpgce/src/SConscript", line 350:
gccversion = int(fullgccversion.replace('.', '')) # Convert e.g. 4.9.2 to 492
Finally, I tried installing python2-scons instead of messing around, but that wouldn't even build, throwing me:
Code: Select all
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.CharBuffer.limit(I)Ljava/nio/CharBuffer;
(On a side note, java? ok... )
So in conclusion:
1: Does the scons script(s) need updating?
I am a bit python savvy, but I know jack about scons. If there is not already work behind the scenes regarding this, I could try to have a look at it and port the scripts over to python3 and look what might have changed in current scons to prompt this error (and try to fix it).
But, I usually write in python to not have to worry about things like that, so I am not up to speed on build systems in general.
2: New binaries?
I see how the binaries from the linux tarball might run on debian, and thus on its myriad derivatives (ubuntu and its whole family tree).
But since I have libncurses and libtinfo in version 6 instead of 5 on manjaro, both new versions are down the road for everyone else, too, over the next six to eighteen months.
Maybe a new build linking the preferred versions statically for the time being, or two using the 'debian compatible' library set, and one using the current?
And, finally, does have someone managed to build ohrrpgce on current arch or manjaro, and would feel like sharing the binaries with me?
(And, if so, what did you have to do to get it compiling, i.e. do you have already made the aforementioned changes to the build system and feel like sharing?)
So, this was rather long.
Then again, I guess we should address this before debian (and its whole familiy, as well as fedora and suse) finally drop python2 and roll-out the new libraries
Thank you for reading (and maybe helping )
All the best,
Daniel