snap package can't find vm-display-X11

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

snap package can't find vm-display-X11

alistairgrant
Hi All,

I've tried running Guille's snap package and building my own,
but keep getting the same error:


$ pharo Pharo.image
setlocale() failed (check values of LC_CTYPE, LANG and LC_ALL)
could not find display driver vm-display-X11; either:
  - check that /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so exists, or
  - use the '-plugins <path>' option to tell me where it is, or
  - remove DISPLAY from your environment.
/snap/pharo/x1/usr/bin/pharo-ui: line 11:  6419 Aborted
 (core dumped) "$DIR"/"pharo-vm/pharo" "$@"


$ ll /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
-rwxr-xr-x 1 root root 265540 Mar 10 17:06
/snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so*


As can be seen above, the .so file is present. So next guess is that it
is missing some dependency, however...


$ ldd /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
not a dynamic executable


Any suggestions?

Thanks,
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

Holger Freyther

> On 12 Mar 2017, at 19:32, Alistair Grant <[hidden email]> wrote:
>
>
> $ ldd /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
> not a dynamic executable

your host doesn't have the 32bit libc library/dynamic linker? What does file say on the file? I never used snap but is the process running in the same environment? Is $DISPLAY set from the process point of view? Can it connect to the display socket?

holger
Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

alistairgrant
Hi Holger,

On 12 March 2017 at 21:46, Holger Freyther <[hidden email]> wrote:
>
>> On 12 Mar 2017, at 19:32, Alistair Grant <[hidden email]>
wrote:
>>
>>
>> $ ldd /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
>> not a dynamic executable
>
> your host doesn't have the 32bit libc library/dynamic linker?

That was the hint I needed, thanks!!!

After loading libc6, a couple of missing packages and adding a couple of
i386 paths to LD_LIBRARY_PATH it's all working.


> What does file say on the file? I never used snap but is the process
> running in the same environment? Is $DISPLAY set from the process
> point of view? Can it connect to the display socket?
>
> holger

Yep, the snap can be configured to use the hosts $DISPLAY.


Thanks again,
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

Guillermo Polito
Hi Alistair,

On Mon, Mar 13, 2017 at 7:09 AM, Alistair Grant <[hidden email]> wrote:
Hi Holger,

On 12 March 2017 at 21:46, Holger Freyther <[hidden email]> wrote:
>
>> On 12 Mar 2017, at 19:32, Alistair Grant <[hidden email]>
wrote:
>>
>>
>> $ ldd /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
>> not a dynamic executable
>
> your host doesn't have the 32bit libc library/dynamic linker?

That was the hint I needed, thanks!!!

After loading libc6, a couple of missing packages and adding a couple of
i386 paths to LD_LIBRARY_PATH it's all working.


I put all these in the dependencies of the snap. Probably we need to put some of them (or all of them) also as runtime dependencies. I thought that it was done automatically because of the tests I did. Of course these tests were not enough :).

"gcc-multilib", "libssl-dev:i386","libssl1.0.0:i386","libfreetype6-dev:i386","libasound2-dev:i386","libsm-dev:i386","libgl1-mesa-dev:i386","libx11-dev:i386","libice-dev:i386"

I noticed some days ago that the packaged VM did not contain freetype, so there is something probably related.

I'd like to enhance this package.


> What does file say on the file? I never used snap but is the process
> running in the same environment? Is $DISPLAY set from the process
> point of view? Can it connect to the display socket?
>
> holger

Yep, the snap can be configured to use the hosts $DISPLAY.


Thanks again,
Alistair


Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

alistairgrant
Hi Guillermo,

On 13 March 2017 at 10:02, Guillermo Polito <[hidden email]> wrote:

>> After loading libc6, a couple of missing packages and adding a couple of
>> i386 paths to LD_LIBRARY_PATH it's all working.
>
> I put all these in the dependencies of the snap. Probably we need to put
> some of them (or all of them) also as runtime dependencies. I thought that
> it was done automatically because of the tests I did. Of course these tests
> were not enough :).
>
> "gcc-multilib",
> "libssl-dev:i386","libssl1.0.0:i386","libfreetype6-dev:i386","libasound2-dev:i386","libsm-dev:i386","libgl1-mesa-dev:i386","libx11-dev:i386","libice-dev:i386"
>
> I noticed some days ago that the packaged VM did not contain freetype, so
> there is something probably related.
>
> I'd like to enhance this package.

You can see my version at: https://github.com/akgrant43/pharo-snap

Rather than build from source, I've opted to use pre-built vmLatest60
(I was testing it for Esteban).  I'm planning to change this to 60+vm
and add an option to put a clean image in the working directory.

When I built your package it gave warnings about the plugins being
deprecated.  I've used the make plugin to download and stage the
binaries.

The list of packages I'm currently loading (staging) is:

        - gcc-multilib
        - libx11-6:i386
        - libgl1-mesa-glx:i386
        - libfontconfig1:i386
        - libssl1.0.0:i386
        - libcairo2-dev:i386
        - libc6-i386
        - libexpat1:i386
        - libsqlite3-dev:i386

This appears to be mostly working, I've loaded and used OSSubprocess,
Glorp and the sqlite3 drivers without any problems.  Listening for web
requests using Zinc is also working.

Cairo isn't working yet.  It looks like CairoLibrary makes assumptions
about the location of libcairo.so.  I'm in the middle of fixing that
at the moment.

Feel free to try building it, but it definitely needs some tidying up,
e.g. get Cairo working, add documentation, etc.

Cheers,
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

alistairgrant
On 13 March 2017 at 17:43, Alistair Grant <[hidden email]> wrote:
> Hi Guillermo,
> ...
>
> Cairo isn't working yet.  It looks like CairoLibrary makes assumptions
> about the location of libcairo.so.  I'm in the middle of fixing that
> at the moment.

I've submitted SLICE-Issue-19833-CairoLibrary-unix-module-location-assumptions-too-restrictive
which resolves the path lookup, so Cairo is now working inside the
snap package.

Cheers,
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

Sven Van Caekenberghe-2

> On 14 Mar 2017, at 08:50, Alistair Grant <[hidden email]> wrote:
>
> On 13 March 2017 at 17:43, Alistair Grant <[hidden email]> wrote:
>> Hi Guillermo,
>> ...
>>
>> Cairo isn't working yet.  It looks like CairoLibrary makes assumptions
>> about the location of libcairo.so.  I'm in the middle of fixing that
>> at the moment.
>
> I've submitted SLICE-Issue-19833-CairoLibrary-unix-module-location-assumptions-too-restrictive
> which resolves the path lookup, so Cairo is now working inside the
> snap package.

Well done, I saw you struggled a bit with the CI infrastructure, but you persevered.

> Cheers,
> Alistair
>


Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

alistairgrant
On 14 March 2017 at 10:32, Sven Van Caekenberghe <[hidden email]> wrote:

>
>> On 14 Mar 2017, at 08:50, Alistair Grant <[hidden email]> wrote:
>>
>> On 13 March 2017 at 17:43, Alistair Grant <[hidden email]> wrote:
>>> Hi Guillermo,
>>> ...
>>>
>>> Cairo isn't working yet.  It looks like CairoLibrary makes assumptions
>>> about the location of libcairo.so.  I'm in the middle of fixing that
>>> at the moment.
>>
>> I've submitted SLICE-Issue-19833-CairoLibrary-unix-module-location-assumptions-too-restrictive
>> which resolves the path lookup, so Cairo is now working inside the
>> snap package.
>
> Well done, I saw you struggled a bit with the CI infrastructure, but you persevered.

Thanks.  I also struggled a lot with fuzzy-headed thinking :-)

Cheers,
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

stepharong
In reply to this post by alistairgrant
This is super good that you are pushing this packaging.




> Hi All,
>
> I've tried running Guille's snap package and building my own,
> but keep getting the same error:
>
>
> $ pharo Pharo.image
> setlocale() failed (check values of LC_CTYPE, LANG and LC_ALL)
> could not find display driver vm-display-X11; either:
>   - check that /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so  
> exists, or
>   - use the '-plugins <path>' option to tell me where it is, or
>   - remove DISPLAY from your environment.
> /snap/pharo/x1/usr/bin/pharo-ui: line 11:  6419 Aborted
>  (core dumped) "$DIR"/"pharo-vm/pharo" "$@"
>
>
> $ ll /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
> -rwxr-xr-x 1 root root 265540 Mar 10 17:06
> /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so*
>
>
> As can be seen above, the .so file is present. So next guess is that it
> is missing some dependency, however...
>
>
> $ ldd /snap/pharo/x1/usr/bin/pharo-vm//vm-display-X11.so
> not a dynamic executable
>
>
> Any suggestions?
>
> Thanks,
> Alistair
>


--
Using Opera's mail client: http://www.opera.com/mail/

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

alistairgrant
On 14 March 2017 at 18:30, stepharong <[hidden email]> wrote:
> This is super good that you are pushing this packaging.

Yep, I wasn't looking forward to enabling i386 architecture, etc. on
my home server (which I'm hoping not to upgrade for several years).
This way I can have Pharo running on a fairly minimal system (in terms
of installed software).

Cheers,
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: snap package can't find vm-display-X11

alistairgrant
In reply to this post by alistairgrant
On 14 March 2017 at 08:50, Alistair Grant <[hidden email]> wrote:

> On 13 March 2017 at 17:43, Alistair Grant <[hidden email]> wrote:
>> Hi Guillermo,
>> ...
>>
>> Cairo isn't working yet.  It looks like CairoLibrary makes assumptions
>> about the location of libcairo.so.  I'm in the middle of fixing that
>> at the moment.
>
> I've submitted SLICE-Issue-19833-CairoLibrary-unix-module-location-assumptions-too-restrictive
> which resolves the path lookup, so Cairo is now working inside the
> snap package.

The slice has been incorporated in to Image 60442.

I've also updated the snap package:

* A new convenience command to copy the image and changes file to the
working directory.
* A snap-compatible version of xdg-open that allows pharo to open URLs
in the user's browser.
* The stable 6.0 VM is now built (instead of vmLatest60).

See: https://github.com/akgrant43/pharo-snap

There's one annoyance:

setlocale() failed (check values of LC_CTYPE, LANG and LC_ALL)

is displayed in the console on startup.  I'm not aware of any negative
behaviour at the moment.  Running locale from within the snap
produces:

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_AU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
LC_ALL=

I'm still to figure this one out.

Cheers,
Alistair