xpra icon
Bug tracker and wiki

Opened 4 weeks ago

Closed 4 weeks ago

Last modified 4 weeks ago

#2453 closed defect (fixed)

Mac Installer tries to copy stuff to /usr and fails on Catalina

Reported by: Alexandre Strube Owned by: Alexandre Strube
Priority: major Milestone: 3.1
Component: client Version: 3.0.x
Keywords: Cc:

Description (last modified by Antoine Martin)

The base.pkg file contains

Application/ (normal app bundle)
/usr/libexec/cups/backend/xpraforwarder
/usr/share/man/man1/xpra.1.gz
/usr/share/man/man1/xpra_launcher.1.gz

The last 3 files will make the installer fail to work on Catalina.

Interestingly, the app shows as version 1.0.13.

Change History (16)

comment:1 Changed 4 weeks ago by Alexandre Strube

I forgot to mention that the app works fine without the contents from /usr in Catalina.

comment:2 Changed 4 weeks ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to Alexandre Strube

It's a pity but both the man pages and printer forwarding (from macos) probably weren't used, so r24175 removes them from the package.

@surak: can you try the latest 4.0 beta build I've just posted here https://xpra.org/beta/osx/?
(just the installation for now, the libraries seem to have been messed up somehow)

How did you get past the required notarization? (#2441)

Last edited 4 weeks ago by Antoine Martin (previous) (diff)

comment:3 Changed 4 weeks ago by Alexandre Strube

Hi, turns out this is necessary with the .PKG, but if you just have the App Bundle (for example, in a DMG file), this should nod be a problem.

I extracted the PKG with something like "pkgutil --expand xpra.pkg /output/destination/"
Inside of it, there was a "base.pkg", but this, instead of a compressed file, has been a folder.
Inside such folder, the Xpra.App folder, seen as an application bundle, could just be double-clicked from the Finder.

comment:4 Changed 4 weeks ago by Alexandre Strube

The r24175 pkg still contains the same /usr problematic files.

The message still is "The package is trying to install content to the system volume. Contact the software manufacturer for assistance."

My steps to it were:

pkgutil --expand Xpra-Python3-x86_64-4.0-r24175.pkg xpra-beta
cd xpra-beta
mv Payload Payload.gz
gunzip Payload.gz

(then you see the /usr and /Applications)

And, different from the 3.x version, this one does not run at all. It open and closes.

If you go manually to Application/Xpra.App/Contents/MacOS and launch it, this is the error:

./Xpra
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/awk
  Reason: image not found
2019-10-18 14:20:54,470 Error: gtkosx_application module is missing - trying to continue anyway
xpra main error:
Traceback (most recent call last):
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/scripts/main.py", line 105, in main
    return run_mode(script_file, err, options, args, mode, defaults)
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/scripts/main.py", line 449, in run_mode
    return gui_main()
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/gtk_common/gui.py", line 474, in main
    init()
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/platform/gui.py", line 24, in init
    do_init()
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/platform/darwin/gui.py", line 99, in do_init
    osxapp = get_OSXApplication()
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/platform/darwin/gui.py", line 92, in get_OSXApplication
    gtkosx_application = GtkosxApplication()
TypeError: 'IntrospectionModule' object is not callable
Last edited 4 weeks ago by Antoine Martin (previous) (diff)

comment:5 Changed 4 weeks ago by Alexandre Strube

The error happens because in /usr/local/opt/readline/lib/

The version is 8 and not 7 anymore

comment:6 Changed 4 weeks ago by Antoine Martin

Owner: changed from Alexandre Strube to Antoine Martin
Status: newassigned

Interestingly, the app shows as version 1.0.13.

Maybe it is?
Have you tried running:

Xpra.app/Contents/MacOS/Xpra --version

Which download link did you use?
Sometimes macos gets confused when you have multiple copies of the same application on disk.

The message still is "The package is trying to install content to the system volume. Contact the software manufacturer for assistance."

That's odd, I'll take a look.

this is the error:
TypeError: 'IntrospectionModule' object is not callable

That's already fixed in r24178, new beta build posted, this one actually works.

The error happens because in /usr/local/opt/readline/lib/
The version is 8 and not 7 anymore

I don't see how that relates to the error above.

Last edited 4 weeks ago by Antoine Martin (previous) (diff)

comment:7 in reply to:  6 Changed 4 weeks ago by Alexandre Strube

Replying to Antoine Martin:

Which download link did you use?
Sometimes macos gets confused when you have multiple copies of the same application on disk.


Not from the terminal :-)

The message still is "The package is trying to install content to the system volume. Contact the software manufacturer for assistance."

That's odd, I'll take a look.

By the way, this happens with both 24175 and 24179 DMG file: “Xpra” is damaged and can’t be opened. You should eject the disk image. With the options: Eject disk image and cancel.


This happens when I try to run Xpra.App from within the dmg disk image.

If you try and copy the Xpra.app to a folder and run it, it says: "“Xpra” is damaged and can’t be opened. You should move it to the Trash."

Once it fails the verification, you can't even run it from the terminal: It pops up the same message and shows a "Killed:9" on the terminal.

24179 PKG file still has /usr stuff, but the binary, after manually extracted, runs.

Last edited 4 weeks ago by Alexandre Strube (previous) (diff)

comment:8 Changed 4 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to Alexandre Strube
Status: assignednew

The message still is "The package is trying to install content to the system volume. Contact the software manufacturer for assistance."

DOH!
Got it, r24175 was wrong, the correct place for fixing the PKG is in r24181. Also needed r24183 (postinstall script).
New build posted. This should work.

I have also verified using your own instructions (which needed small tweaks to work):

pkgutil --expand image/Xpra-Python3-x86_64-4.0-r24183.pkg xpra-beta
cd xpra-beta/base.pkg
mv Payload Payload.gz
gunzip Payload.gz
tar -tvf Payload  | egrep "/usr/share/man|cups/backend"

comment:9 in reply to:  8 Changed 4 weeks ago by Alexandre Strube

I have also verified using your own instructions (which needed small tweaks to work):

pkgutil --expand image/Xpra-Python3-x86_64-4.0-r24183.pkg xpra-beta
cd xpra-beta/base.pkg
mv Payload Payload.gz
gunzip Payload.gz
tar -tvf Payload  | egrep "/usr/share/man|cups/backend"

The line "cpio -idv < Payload" was missing at the end (same effect as an untar). I pasted badly from the terminal, my bad.


I tried 24179 so far. It opens the main gui, and the "connect" window appears when you open it. But then, this comes when you actually try an ssh connect:

Traceback (most recent call last):
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 672, in connect_clicked
    self.update_options_from_gui()
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 941, in update_options_from_gui
    self.config.encoding = self.get_selected_encoding() or self.config.encoding
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 610, in get_selected_encoding
    index = get_active_item_index(self.encoding_combo)
  File "/Users/surak/Downloads/xpra-beta/base.pkg/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 89, in get_active_item_index
    menu = optionmenu.get_menu()
AttributeError: 'MenuButton' object has no attribute 'get_menu'

comment:10 Changed 4 weeks ago by Alexandre Strube

r24183: The DMG is still useless on Catalina. It opens the DMG, but when there's the verification phase of the App bundle, it just plain refuses to run and either shows "Eject the DMG" or "delete the App bundle", according to where you run it from.

The PKG installs fine (IF YOU DON'T HAVE A PREVIOUS VERSION INSTALLED). The app opens fine. Still does not do anything after you press "connect".

Error when you run it manually from the terminal and sees python output:

(Xpra:17853): Gtk-CRITICAL **: 15:06:43.812: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 672, in connect_clicked
    self.update_options_from_gui()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 941, in update_options_from_gui
    self.config.encoding = self.get_selected_encoding() or self.config.encoding
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 610, in get_selected_encoding
    index = get_active_item_index(self.encoding_combo)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/client_launcher.py", line 89, in get_active_item_index
    menu = optionmenu.get_menu()
AttributeError: 'MenuButton' object has no attribute 'get_menu'

comment:11 Changed 4 weeks ago by Antoine Martin

The line "cpio -idv < Payload" was missing at the end (same effect as an untar).

I like using tar because I can list the files without extracting them.

I pasted badly from the terminal, my bad.

No problem, FYI the cd command was also missing the base.pkg part.

r24183: The DMG is still useless on Catalina. It opens the DMG, but when there's the verification phase of the App bundle, it just plain refuses to run and either shows "Eject the DMG" or "delete the App bundle", according to where you run it from.

I'll have to try to figure out why it doesn't like the app bundle in a VM running Catalina. This could take some time.

The PKG installs fine (IF YOU DON'T HAVE A PREVIOUS VERSION INSTALLED). The app opens fine. Still does not do anything after you press "connect".
Error when you run it manually from the terminal and sees python output:

Should be fixed in r24184. (this is unrelated to this ticket)

How about the latest r24184 build? (https://xpra.org/beta/osx/)

comment:12 in reply to:  11 Changed 4 weeks ago by Alexandre Strube

How about the latest r24184 build? (https://xpra.org/beta/osx/)


I tried only the PKG. You still need to remove the old Xpra App - it doesn't replace it, it just says success but doesn't update it.

Apart from that, it goes up to the "connection established".

It works fine, but I think I have other problems. One is probably the xpra server which is broken. The other MIGHT be an opengl problem on the Mac:

Authentication (publickey) successful!
OpenGL_accelerate module loaded
Using accelerated ArrayDatatype
Warning: cannot import native OpenGL module
 no OpenGL context implementation for darwin
Warning: no OpenGL backend module found
 keyboard settings: layout=us
 desktop size is 1440x900 with 1 screen:
  struberetina-4.local (6264x6930 mm - DPI: 5x3) workarea: 1440x877 at 0x23
    monitor 2 (331x206 mm - DPI: 110x110)
 upscaled to 200%, virtual screen size: 720x450
  struberetina-4.local (6264x6930 mm - DPI: 2x1) workarea: 720x439 at 0x12
    monitor 2 (331x206 mm - DPI: 55x55)
xpra initialization error:
 cannot find any live servers to connect to
Last edited 4 weeks ago by Alexandre Strube (previous) (diff)

comment:13 Changed 4 weeks ago by Antoine Martin

You still need to remove the old Xpra App - it doesn't replace it, it just says success but doesn't update it.

I have absolutely no idea why that is. Isn't that macos's responsibility?

One is probably the xpra server which is broken

Yes, that's not going to help!

The other MIGHT be an opengl problem on the Mac:
no OpenGL context implementation for darwin

I can reproduce this one, will fix.

Can we close this ticket?

comment:14 in reply to:  13 Changed 4 weeks ago by Alexandre Strube

Replying to Antoine Martin:

You still need to remove the old Xpra App - it doesn't replace it, it just says success but doesn't update it.

I have absolutely no idea why that is. Isn't that macos's responsibility?


I don't know, I never wrote a pkg file before, I always used DMGs

The other MIGHT be an opengl problem on the Mac:
no OpenGL context implementation for darwin

I can reproduce this one, will fix.
Can we close this ticket?

Yes, thank you! Do I open one for the DMG?

comment:15 Changed 4 weeks ago by Antoine Martin

Resolution: fixed
Status: newclosed

Do I open one for the DMG?

Yes please.

comment:16 Changed 4 weeks ago by Antoine Martin

FYI: the opengl issue needed 3 different fixes!

  • r24188: some GTK3 refactoring skipped the native bindings which were needed for the opengl support glue code
  • r24189: another GTK3 refactoring broke the opengl test rendering..
  • r24191: a pyobjc error (which should have popped up earlier?)

The latest beta build uploaded does have working opengl acceleration, even on my software-only virtual machine.

Note: See TracTickets for help on using tickets.