nwutils/nw-builder

error while loading shared libraries: libgconf-2.so.4

Closed this issue · 5 comments

Issue Type

  • Bug Report
  • Feature Request
  • Other

Current/Missing Behaviour

Running ./Demo app on Ubuntu 24.0, gives error message :
"./Demo: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory"

Demo app was created from cloned nw-builder repo (on OSX)

Expected/Proposed Behaviour

That the Demo app should open

Additional Info

Built the Demo app from nw-builder repo, using node ./tests/fixtures/demo.linux.js on OSX

Downloaded nwjs (from https://dl.nwjs.io/v0.85.0/) runs nicely on Ubuntu

You need to install the shared library on Ubuntu: sudo apt install libgconf-2-4

The library cannot be installed that way. Since nwjs works as is, I believe that executables created for linux with nw-builder is relying on an unneccessary depreciated library. It works perfectly with nw-builder-phoenix (which I wish to replace with nw-builder)

nw-builder downloads the nw.exe and places certain files in certain locations so that the nw.exe can read them properly. nw.exe on linux depends on third party dependencies which have to be installed via a package manager, appimage or similar. As new nw.exe versions are released, the third party dependency requirements might change over time.

I think I have found the cause of the problem:

If I run demo.linux.js it will download and use nwjs 0.14.7. Commenting out version: '0.14.7', it downloads nwjs 0.94.0, which is expected behavior (since demo.osx.js and demo.win.js works like that).

It would be helpful to remove version: '0.14.7' from demo.linux.js to avoid confusion, and make all platform demos work similarly

I think I have found the cause of the problem:

If I run demo.linux.js it will download and use nwjs 0.14.7. Commenting out version: '0.14.7', it downloads nwjs 0.94.0, which is expected behavior (since demo.osx.js and demo.win.js works like that).

It would be helpful to remove version: '0.14.7' from demo.linux.js to avoid confusion, and make all platform demos work similarly

Oh apologies, I forgot to revert that. I did that to repro #1317