Re: [gtk-osx-users] Errors during gtk3-launcher.sh execution.





On Jan 27, 2020, at 11:47 AM, Pascal <p p14 orange fr> wrote:

Hello John,

Le 27 janv. 2020 à 01:30, John Ralls <jralls ceridwen us> a écrit :

On Jan 26, 2020, at 11:47 AM, Pascal <p p14 orange fr> wrote:

Hello,

I've gone further giving a try to gtk-mac-bundler.
I've configured my first GTK bundle app :-)

But I've got some errors with gtk3-launcher.sh:
The domain/default pair of (.GlobalPreferences, AppleCollationOrder) does not exist

/opt/Gtk3-ch6.app/Contents/MacOS/Gtk3-ch6: line 99: test: too many arguments

/opt/Gtk3-ch6.app/Contents/MacOS/Gtk3-ch6: line 111: test: too many arguments
/opt/Gtk3-ch6.app/Contents/MacOS/Gtk3-ch6: line 115: test: too many arguments
/opt/Gtk3-ch6.app/Contents/MacOS/Gtk3-ch6: line 120: test: ==: unary operator expected

find: /share/locale: No such file or directory

Is there some env var settings missing?

The AppleCollationOrder error is OK, it's just checking that in case LANG didn't get set.

Do you use something other than bash as your shell?

Zsh is the default shell of Catalina.
But the script begins by:
#!/bin/sh

Is $LANG set in the environment?

yes:
LANG=fr_FR.UTF-8

What does `defaults read -g AppleLocale` return?
fr_FR

Line 123 should be
LOC=`find $bundle_share/locale -name $LANG???`

Line is:
      LOC=`find $PREFIX/share/locale -name $LANG???`
bundle_share is not set in the script, it is bundle_data.
I've changed for:
      LOC=`find $bundle_data/locale -name $LANG???`
No more error find error.

Pascal,

Yes, the default is Zsh, but if you're upgrading from an earlier MacOS I think it's supposed to stay on bash 
unless you overtly change it. It certainly has for me. What's returned by `sudo ls /var/select/sh`?

The reason I ask is that while calling the shell sh it's supposed to make it POSIX compliant the different 
shells implement their builtins differently. In theory if they're called with /bin/sh they should use 
/bin/test instead of their builtin I don't trust them. In particular, zsh's use of -o in its conditional 
expressions is different from the POSIX spec 
(https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html): It means 'or' in test and bash but is 
a unary option test in zsh, which uses the C-style || for 'or'. All of the lines that you got errors on 
include -o.

I just noticed I18DIR, set at line 41. That would be an even better replacement than $bundle_data/locale at 
line 123.

Regards,
John Ralls




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]