Fora

Empty install menu

syntax error: operand expected

Autor Odpowiedzi
POD666 Tuesday 14 November 2017 at 10:29
POD666Anonymous

I've just installed PlatOnLinux from deb package and getting empty list in install menu.

ubuntu 16.04 LTS

$ playonlinux
Looking for python... 2.7.12 - wxversion(s): 3.0-gtk2
selected
[main] Message: PlayOnLinux (4.2.12) is starting
[clean_tmp] Message: Cleaning temp directory
[Check_OpenGL] Message: 32bits direct rendering is enabled
[Check_OpenGL] Message: 64bits direct rendering is enabled
[POL_System_CheckFS] Message: Checking filesystem for /home/v_danilyuk/.PlayOnLinux/
[main] Message: Filesystem is compatible
[install_plugins] Message: Checking plugin: Capture...
[install_plugins] Message: Checking plugin: ScreenCap...
[install_plugins] Message: Checking plugin: PlayOnLinux Vault...
[update_check] Message: List is up to date
[update_check] Message: Web version : 1510326124
[update_check] Message: Current local version : 0
[update_check] Message: Updating list  # I have pressed Refresh button here.
/usr/share/playonlinux/bash/pol_update_list: line 46: }r8྾ꪸe=ń-ɶXZ351
u%;OL&GSQu,d#/d&.l[V0Ilf2xpƁnJqpJ, C~`i("DȐ`!]: syntax error: operand expected (error token is "}r8྾ꪸe=ń-ɶXZ351
u%;OL&GSQu,d#/d&.l[V0Ilf2xpƁnJqpJ, C~`i("DȐ`!]")
[POL_Config_Write] Message: Config write: LAST_TIMESTAMP 1510326124

What else can I add?

Thanks.

POD666 Monday 20 November 2017 at 11:40
POD666Anonymous

Looks like it was enough to change wget with curl

/usr/share/playonlinux/bash/pol_update_list: 105

if [ "$POL_OS" = "Linux" ]
        then
            curl "$SITE/V4_data/repository/get_list_v4.php" | config_update
            curl "$SITE/V4_data/repository/get_md5_list.php?playonlinux=1" > md5sums

Hope it can be helpful)

 

Edytowane przez POD666

POD666 Monday 20 November 2017 at 11:56
POD666Anonymous

Tha was not enough as now I have errors with .PlayOnLinux//install file wich is created during game install.

.PlayOnLinux//install: cannot execute binary file
Traceback (most recent call last):
  File "/usr/share/playonlinux/python/install.py", line 366, in TimerAction
    self.content.SetPage(self.description.htmlContent)
  File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/html.py", line 988, in SetPage
    return _html.HtmlWindow_SetPage(*args, **kwargs)
  File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte

Looks like install file is corrupted the same way as other wget responses.

POD666 Monday 20 November 2017 at 12:08
POD666Anonymous

Okay, wget responses are in gzip compression.

According to https://stackoverflow.com/a/33576672/6517749 it can be solved using zcat. (checked it manually)

So I see 2 solutions: use curl instead of wget or add zcat after wget.

But how can I apply it to all PlayOnLinux scripts?

POD666 Monday 20 November 2017 at 12:38
POD666Anonymous

POL_WGET is defined in /usr/share/playonlinux/python/lib/Variables.py and solution is to add --header=\"accept-encoding: utf-8\" to its parameters.

so I have POL_WGET:

env LD_LIBRARY_PATH="" wget --header="accept-encoding: utf-8" --prefer-family=IPv4 -q

 

But now I get Warrning about signature missmatch when trying to install game.

And ~/.PlayOnLinux/install is empty. -_-

 

 

POD666 Friday 24 November 2017 at 16:50
POD666Anonymous

Finaly! It works^^

POL_WGET:

env LD_LIBRARY_PATH="" wget --header=Accept-Encoding:  --prefer-family=IPv4

Without quotes and utf-8.

Magic

devil