lumo

:lumo: Standalone ClojureScript environment. Currently at version 1.9.0
johanatan 2018-05-21T22:39:51.000053Z

@anmonteiro do you know anything about this error?

/codebuild/output/tmp/versions/node/v9.11.1/lib/node_modules/lumo-cljs/bin/lumo: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /codebuild/output/tmp/versions/node/v9.11.1/lib/node_modules/lumo-cljs/bin/lumo)

johanatan 2018-05-21T22:40:21.000085Z

is lumo missing a dependency? or do I need to install that version of GLIBC via some other means?

anmonteiro 2018-05-21T22:42:01.000252Z

hrm

anmonteiro 2018-05-21T22:42:22.000318Z

@johanatan which dist/ version of linux does that machine run

johanatan 2018-05-21T22:43:01.000077Z

aws/codebuild/java:openjdk-9
I'll try to find out what that is

johanatan 2018-05-21T22:43:10.000134Z

i think Ubuntu 13

anmonteiro 2018-05-21T22:43:17.000001Z

yeah… that sounds right

johanatan 2018-05-21T22:43:30.000149Z

actually 14.04

anmonteiro 2018-05-21T22:43:40.000271Z

https://github.com/anmonteiro/lumo/issues/137

anmonteiro 2018-05-21T22:44:15.000339Z

can you upgrade to a later version of ubuntu?

johanatan 2018-05-21T22:44:39.000312Z

14.04 is pretty late yea?

anmonteiro 2018-05-21T22:44:51.000157Z

or just install libstdc++6

anmonteiro 2018-05-21T22:44:56.000004Z

well…

anmonteiro 2018-05-21T22:45:00.000026Z

14.04 means April 2014

johanatan 2018-05-21T22:45:05.000246Z

ooh, right

johanatan 2018-05-21T22:45:22.000219Z

how to install libstdc++6 ? via apt-get?

2018-05-21T22:46:00.000357Z

I thought it wasn't possible to install linux in the first place without libstdc++.so.6

anmonteiro 2018-05-21T22:46:43.000061Z

@johanatan yes, apt-get install -y libstdc++6

2018-05-21T22:47:13.000323Z

what's your output johnatan when you do echo $LD_LIBRARY_PATH

johanatan 2018-05-21T22:48:04.000298Z

@hlolli just a sec. not a live environment so i have to wait for runs to complete. trying that SO suggestion first

2018-05-21T22:53:31.000303Z

readelf -d lumo                           ~/.npm-global/lib/node_modules/lumo-cljs/bin

Dynamic section at offset 0x3914dc0 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
looks pretty dynamically linked. So I wonder why your linker searched in /usr/lib/x86_64-linux-gnu ... curious to know and learn 🙂

2018-05-21T22:56:12.000004Z

same elf signature in node for me, so I wonder if node runs for you.

johanatan 2018-05-21T22:59:01.000166Z

yea, node runs fine

2018-05-21T23:09:27.000120Z

there's some difference there actually between node 9.8.0 and latest lumo on npm

readelf -sW lumo | grep GLIBCXX_3.4.20    ~/.npm-global/lib/node_modules/lumo-cljs/bin
     7: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND _ZSt24__throw_out_of_range_fmtPKcz@GLIBCXX_3.4.20 (5)
 17298: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND _ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20

readelf -sW ./node | grep GLIBCXX_3.4.20 ~/.nvm/versions/node/v9.8.0/bin
$
could be totally unrelated, was struggling recently to patchelf the lumo binary for nixos, I believe it's a stripped binary. I say with grain of salt only after some hours of research on complex topic.

2018-05-21T23:10:17.000156Z

could be that your libstc++ version is just old

GCC 4.9.0: GLIBCXX_3.4.20, CXXABI_1.3.8
release date:
2014-04-22 07:11

2018-05-21T23:27:44.000236Z

maybe we can rethink about statically linking lumo. I wasn't able to load dynamically linked native node modules on runtime with statically linked lumo, it just crashed. Maybe since then it has been fixed, or we can find a workaround on that.

2018-05-21T23:47:39.000262Z

Any plans for packaging lumo-cljs for raspberry pi via npm in the future?