As mentioned in the IRC - I've been doing local builds for quite some time and they stopped supporting servers last week.
For reference, here is the script I've been using to do builds:
#clean up build info rm -f xpra/build_info.py rm -f xpra/src_info.py #clean up old build ./setup.py clean #LDFLAGS=-Wl,-rpath=/usr/lib64/xpra \ #PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib64/xpra/pkgconfig \ # ./setup.py install #no longer needed python3 ./setup.py install \ --rpath=/usr/lib64/xpra --pkg-config-path=/usr/lib64/xpra/pkgconfig \ --without-html5 --without-printing rm -f /usr/bin/xpra python2 ./setup.py install \ --rpath=/usr/lib64/xpra --pkg-config-path=/usr/lib64/xpra/pkgconfig
I'll attach the build log to this ticket.
Perusing the logs - it shows that it at least appears (as far as I can tell) that it's building correctly - the Python3 build builds without server support, and the Python2 builds show that the server is enabled in the build config at the beginning of the build.
they stopped supporting servers last week
How so? Logs, debug output?
My log output shows nothing of consequence, just that servers aren't supported:
xpra initialization error: invalid mode 'start'
[max@Vorfuehreffekt ~] $ xpra start :13 --no-daemon -d all 2018-06-11 09:35:51,266 get_enabled_encoders(['rencode', 'bencode', 'yaml']) enabled=['rencode', 'bencode', 'yaml'] 2018-06-11 09:35:51,267 run_mode error Traceback (most recent call last): File "/usr/local/lib64/python3.6/site-packages/xpra/scripts/main.py", line 76, in main return run_mode(script_file, err, options, args, mode, defaults) File "/usr/local/lib64/python3.6/site-packages/xpra/scripts/main.py", line 404, in run_mode error_cb("invalid mode '%s'" % mode) File "/usr/local/lib64/python3.6/site-packages/xpra/scripts/main.py", line 75, in err raise InitException(*args) xpra.scripts.config.InitException: invalid mode 'start' xpra initialization error: invalid mode 'start'
xpra --help shows that servers are not supported:
[max@Vorfuehreffekt ~] $ xpra --help Usage: xpra attach [DISPLAY] xpra detach [DISPLAY] xpra screenshot filename [DISPLAY] xpra info [DISPLAY] xpra control DISPLAY command [arg1] [arg2].. xpra print DISPLAY filename xpra version [DISPLAY] xpra showconfig xpra list xpra sessions xpra stop [DISPLAY] xpra exit [DISPLAY] xpra list-mdns xpra mdns-gui xpra shadow [DISPLAY] (This xpra installation does not support starting local servers.)
/usr/bin/xpra uses python3, as can be seen in the stacktrace.
Remove it then build for python2 again to re-install it.
However, I checked my
/usr/bin/xpra earlier and it shows that the shebang at the top points to Python2.
My build script builds the Python3 first then deletes
/usr/bin/xpra and then runs the Python2 build.
So then why is it running Python3?
Just to check my sanity, I did what you said and it still says it's running with Python3.
(the actual file for reference):
[root@Vorfuehreffekt src] # cat /usr/bin/xpra #!/usr/bin/python2 import sys try: import xpra assert xpra except ImportError as e: sys.stderr.write("Error: xpra for python %s is not installed\n" % (".".join(str(x) for x in sys.version_info[:2]))) sys.exit(1) from xpra.platform import init, set_default_name set_default_name("Xpra") init() from xpra.scripts.main import main sys.exit(main(sys.argv, sys.argv))
which xpra cat `which xpra`
That did it -
/usr/local/bin/xpra was the offending file. I'll edit my build script to account for that one too.
Thanks. I'll close this now.
Python3 ticket: #1568
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1875