JunoLab / Juno.jl

MIT License
145 stars 23 forks source link

Cannot find module '../build/Debug/pty.node' #352

Open bgodard opened 5 years ago

bgodard commented 5 years ago

Fresh atom 1.40.1 install from github Linux 64 bits official binary on OS Oracle Linux Enterprise 7.6.

After installing juno, I get the message:

Failed to load the julia-client package
Cannot find module '../build/Debug/pty.node'

Atom says this issue has already been reported here: https://github.com/JunoLab/atom-julia-client/issues/591

but I think this is a different issue (different error message and this issue is marked as fix for Atom 1.40.1).

Remarks:

Stack trace:

Error: Cannot find module '../build/Debug/pty.node'
    at Module._resolveFilename (internal/modules/cjs/loader.js:602:15)
    at Module._resolveFilename (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.get_Module._resolveFilename (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:155413)
    at Module.require (file:///local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app.asar/static/index.js:61:43)
    at require (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:146745)
    at Object.loadNative (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/node_modules/@pfitzseb/node-pty-prebuilt/lib/utils.js:22:16)
    at Object.<anonymous> (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/node_modules/@pfitzseb/node-pty-prebuilt/lib/unixTerminal.js:24:19)
    at Object.<anonymous> (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/node_modules/@pfitzseb/node-pty-prebuilt/lib/unixTerminal.js:255:3)
    at Module.get_Module._compile (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
    at Function.Module._load (internal/modules/cjs/loader.js:551:3)
    at Module.require (file:///local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app.asar/static/index.js:72:46)
    at require (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:146745)
    at Object.<anonymous> (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/node_modules/@pfitzseb/node-pty-prebuilt/lib/index.js:14:20)
    at Object.<anonymous> (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/node_modules/@pfitzseb/node-pty-prebuilt/lib/index.js:52:3)
    at Module.get_Module._compile (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
    at Function.Module._load (internal/modules/cjs/loader.js:551:3)
    at Module.require (file:///local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app.asar/static/index.js:72:46)
    at require (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:146745)
    at Object.<anonymous> (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/lib/connection/process/basic2.js:3:24)
    at Object.<anonymous> (/local/scratch/bgodard/sw/atom-user-config/packages/julia-client/lib/connection/process/basic2.js:174:2)
    at Module.get_Module._compile (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/local/scratch/bgodard/sw/atom-1.40.1-amd64/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
leifdenby commented 5 years ago

I have the same issue with fresh atom 1.40.1 install on CentOS Linux 7

bgodard commented 5 years ago

Same problem with 1.39.1 Works with 1.38.2, but is not really functional:

This is with julia 1.2, but switching back to 1.1.1 leads to same results.

I used to have it working in 1.37 but last week I started getting this "Terminal not fully functional" error. This is when I decided to upgrade to latest/1.40.1.

pfitzseb commented 5 years ago

Someone on slack fixed this with

sorted by upgrading libstdc++ from 6.0.19 to 6.0.26

There's a try ... catch in one of our dependencies that hides the original error, which was

/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /bmm/home/et517/.atom/packages/julia-client/node_modules/@pfitzseb/node-pty-prebuilt/build/Release/pty.node)

for him.

bgodard commented 5 years ago

@pfitzweb Thank you for your reply. I guess Enterprise Linux 7 is not supported anymore. Well that's the usual problem with Enterprise Linux distributions.

But I see that the julia binary comes with their own C++ dynamic library which has CXXABI_1.3.9. I could use LD_PRELOAD to override the system default before running atom.

bgodard commented 5 years ago

I can confirm adding:

export LD_PRELOAD=${JULIA_INSTALL}/lib/julia/libstdc++.so.6

to my atom startup script fixes the problem

daravi commented 5 years ago

I see the same issue on CentOS 7 with Atom 1.40.1 At least on CentOS 7 the Julia binary does not seem to come with it's own C++ library.

bgodard commented 5 years ago

I see the same issue on CentOS 7 with Atom 1.40.1 At least on CentOS 7 the Julia binary does not seem to come with it's own C++ library.

I am using Julia official binaries for Linux not a distribution package.

mrl00 commented 5 years ago

I see the same issue on CentOS 7 with Atom 1.40.1 At least on CentOS 7 the Julia binary does not seem to come with it's own C++ library.

I am using Julia official binaries for Linux not a distribution package.

hot to fix it using distribution package?

pfitzseb commented 5 years ago

I'd highly encourage using the official binaries -- no one except your distro maintainers can really give you any support otherwise.