esrlabs / chipmunk

log analysis tool
Apache License 2.0
561 stars 39 forks source link

can't run on linux #962

Closed edibleparts closed 3 years ago

edibleparts commented 3 years ago

Prerequisites

affected version:

2.10, latest

make sure to check this before filing an issue:

Describe the issue

Trying to run on Linux, apparently deliverable is not self-contained. I have glibc 2.17, it requires 2.18. Can't easily upgrade it, since same gcc toolchain used throughout org.

What did not work as expected?

$ ./chipmunk ./chipmunk: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./chipmunk)

$ g++ --version g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36.0.1) Copyright (C) 2015 Free Software Foundation, Inc.

$ ls -l /lib64/libc* /lib64/libc.so.6 -> libc-2.17.so

Steps to Reproduce just run ./chipmunk

Environment

Failure Logs

Please include any relevant log snippets or files here.

Is there a way to build it? Project description does not provide steps. I had installed nodejs010, but am not familiar with it. Tried "npx run make", but no dice, fails. Thanks much!

DmitryAstafyev commented 3 years ago

Hello @edibleparts, Thanks for your report. Could you please clarify version of nodejs? Is it nodejs010 = 0.10 or you meant 10.x?

DmitryAstafyev commented 3 years ago

you can try to build it from sources for sure

git clone https://github.com/esrlabs/chipmunk.git
cd chipmunk
rake full_pipeline --trace

On a board you should have:

DmitryAstafyev commented 3 years ago
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36.0.1)

it looks quite outdated

edibleparts commented 3 years ago

Hello Dmitry, Thank you for your help, and for a nice piece of software - I've managed to try it on MacOS, works there.

But, my main development environment is Linux. Yes, GCC 4.8 is quite old, I know, but it is c++11, and that is what we use. I am on an enterprise backend side of things, and am behind a firewall. Tried to provide dependencies you mentioned scouting internal repos, it also requires a typescript and neon.
What I have now is:

node -v v6.17.1 npm -v 3.10.10 tsc --version Version 3.6.4 ruby 2.0.0p648 (2015-12-16) [x86_64-linux] rake, version 0.9.6 cargo 1.29 neon-0.30.0 Python 2.7.5

Current problem is there is no neon CLI client (neon-cli@0.3.1) in repos I have access to. I will try to resolve to a newer nodejs, but as of now I am in dependency hell.

Thanks.

DmitryAstafyev commented 3 years ago

@edibleparts Hello, Thanks for your response. Unfortunately, I'm really not sure, you will be able to build chipmunk with node 6.x, because we are using electron 10.x, which has behind node 12.x. But in any way, I will try to find a time to test it on some outdated linux to reproduce your problem.

edibleparts commented 3 years ago

Thank you. Do not, I hate to see your time wasted. It would be good to research how to package truly self-contained deliverable instead, if such possibility exist. ncurses-based log parsers have an edge here due to their simplicity. There are all kinds of systems out there, and chipmunk seems very useful.

I can't touch c++ toolchain, and hasn't figured a way yet to update behind a firewall (https is blocked for yum/npm, etc.). But over the browser I was able to load and run nodejs.14. What is missing is neon, which I downloaded from github, but have no faintest idea how to build. As I mentioned, I am quite outdated in this area. But I will resolve this, slowly. I found your detailed instructions here https://github.com/esrlabs/chipmunk-quickstart will try to use that.

Thanks.

edibleparts commented 3 years ago

Hello, Well, after jumping through a lot of hoops it finally builds. Almost. Amount of stuff it drags in is considerable. It currently fails during post-install step, timing out trying to connect to 140.82.112.3:443 (Github? Why?) Can shed some light on this?

Also, if this finally builds, how do I package the binary to share it with the team members?

Any help is greatly appreciated. Thank you.

Build log follows:

rake full_pipeline --trace Detected target platform is: linux / linux Invoke full_pipeline (first_time) Invoke check_environment (first_time) executing check_environment Execute check_environment node --version v14.15.1 cargo --version cargo 1.29.0 python --version Python 2.7.5 tsc --version Version 3.6.4 neon version 0.3.3 gem list -i dotenv true Invoke check_octokit (first_time) executing check_octokit Execute check_octokit gem list -i octokit true Invoke setup_environment (first_time) executing setup_environment Execute setup_environment Updateing process Invoke clean_release_dir (first_time) executing clean_release_dir Execute clean_release_dir rm -rf application/electron/dist/release Invoke install_electron_stuff (first_time) Invoke folders (first_time) Invoke application/electron/dist/compiled (first_time, not_needed) Invoke application/electron/dist/release (first_time) executing application/electron/dist/release Execute application/electron/dist/release mkdir -p application/electron/dist/release Invoke application/electron/dist/compiled/plugins (first_time, not_needed) Invoke application/electron/dist/compiled/apps (first_time, not_needed) executing folders Execute folders Invoke client:build_core (first_time) Invoke application/client.core (first_time, not_needed) Invoke application/client.core/node_modules/chipmunk.client.toolkit (first_time) Invoke application/client.core/angular.json (first_time, not_needed) Invoke application/client.core/package-lock.json (first_time, not_needed) Invoke application/client.core/package.json (first_time, not_needed) Invoke application/client.core/tsconfig.json (first_time, not_needed) ** Invoke application/client.core/tslint.json (first_time, not_needed) ***** executing application/client.core/node_modules/chipmunk.client.toolkit ** Execute application/client.core/node_modules/chipmunk.client.toolkit cd application/client.core npm install --prefere-offline

core-js@3.6.4 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/client.core/node_modules/@angular-devkit/build-angular/node_modules/core-js node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

core-js@2.6.11 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/client.core/node_modules/babel-runtime/node_modules/core-js node -e "try{require('./postinstall')}catch(e){}"

@angular/cli@9.1.12 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/client.core/node_modules/@angular/cli node ./bin/postinstall/script.js

? Would you like to share anonymous usage data with the Angular Team at Google u nder Google\u2019s Privacy Policy at https://policies.google.com/privacy? For more details and how to change this setting, see http://angular.io/analytics. No

core-js@3.6.5 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/client.core/node_modules/core-js node -e "try{require('./postinstall')}catch(e){}"

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/webpack-dev-server/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/watchpack-chokidar2/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1733 packages from 1237 contributors in 145.136s

58 packages are looking for funding run npm fund for details

npx npm-force-resolutions npx: installed 5 in 3.489s cd - executing client:build_core Execute client:build_core Invoke compile_electron (first_time) Invoke prepare_electron_build (first_time) Invoke application/electron/node_modules (first_time) Invoke application/electron/package-lock.json (first_time, not_needed) Invoke application/electron/package.json (first_time, not_needed) Invoke application/electron/tsconfig.json (first_time, not_needed) Invoke application/electron/tslint.json (first_time, not_needed) executing application/electron/node_modules ** Execute application/electron/node_modules NPM isn't installed in project application/electron. Installing... cd application/electron npm install --prefere-offline

node-pty@0.9.0 install /scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/node-pty node scripts/install.js

make: Entering directory /scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/node-pty/build' CXX(target) Release/obj.target/pty/src/unix/pty.o In file included from /home/ep/.cache/node-gyp/14.15.1/include/node/node.h:67:0, from ../../nan/nan.h:56, from ../src/unix/pty.cc:20: /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:1585:58: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Local<Value> export_value); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:3359:23: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Local<Value> Name() const { return Description(); } ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5171:76: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] ArrayBufferCreationMode mode = ArrayBufferCreationMode::kExternalized); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5218:21: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] bool IsExternal() const; ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5245:24: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Contents Externalize(); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5255:70: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void Externalize(const std::shared_ptr<BackingStore>& backing_store); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5266:24: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Contents GetContents(); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5653:76: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] ArrayBufferCreationMode mode = ArrayBufferCreationMode::kExternalized); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5702:76: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] ArrayBufferCreationMode mode = ArrayBufferCreationMode::kExternalized); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5711:21: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] bool IsExternal() const; ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5727:24: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Contents Externalize(); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5737:70: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void Externalize(const std::shared_ptr<BackingStore>& backing_store); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5752:24: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Contents GetContents(); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:5977:50: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Local<FinalizationGroup> finalization_group); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7128:28: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] size_t code_range_size() const { return code_range_size_ / kMB; } ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7130:46: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void set_code_range_size(size_t limit_in_mb) { ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7134:38: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] size_t max_semi_space_size_in_kb() const; ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7136:56: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void set_max_semi_space_size_in_kb(size_t limit_in_kb); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7138:31: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] size_t max_old_space_size() const { return max_old_generation_size_ / kMB; } ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7140:49: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void set_max_old_space_size(size_t limit_in_mb) { ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7144:31: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] size_t max_zone_pool_size() const { return max_zone_pool_size_; } ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:7146:43: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void set_max_zone_pool_size(size_t bytes) { max_zone_pool_size_ = bytes; } ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:8594:52: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] HostCleanupFinalizationGroupCallback callback); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:8758:59: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] MeasureMemoryMode mode); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:8822:36: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] Local<Context> GetEnteredContext(); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:9099:22: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void RunMicrotasks() { PerformMicrotaskCheckpoint(); } ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:9143:75: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:9151:78: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:9323:30: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] UnwindState GetUnwindState(); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:9386:54: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] AllowCodeGenerationFromStringsCallback callback); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:9743:75: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] static bool TryHandleSignal(int signal_number, void* info, void* context); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:10704:55: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] const void* stack_base); ^ /home/ep/.cache/node-gyp/14.15.1/include/node/v8.h:10730:65: warning: \u2018deprecated\u2019 attribute directive ignored [-Wattributes] static bool PCIsInV8(const UnwindState& unwind_state, void* pc); ^ SOLINK_MODULE(target) Release/obj.target/pty.node COPY Release/pty.node make: Leaving directory/scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/node-pty/build'

core-js@3.6.5 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/core-js node -e "try{require('./postinstall')}catch(e){}"

electron@10.1.5 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/electron node install.js

RequestError: connect ETIMEDOUT 140.82.112.3:443 at ClientRequest. (/scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/got/source/request-as-event-emitter.js:178:14) at Object.onceWrapper (events.js:422:26) at ClientRequest.emit (events.js:327:22) at ClientRequest.origin.emit (/scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/@szmarczak/http-timer/source/index.js:37:11) at TLSSocket.socketErrorListener (_http_client.js:469:9) at TLSSocket.emit (events.js:315:20) at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) npm WARN chipmunk@2.10.0 No repository field. npm WARN chipmunk@2.10.0 No license field.

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! electron@10.1.5 postinstall: node install.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the electron@10.1.5 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /scratch/ep/nodejs/npm-cache/_logs/2020-11-23T08_43_20_494Z-debug.log rake aborted! Command failed with status (1): [npm install --prefere-offline...] /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb:66:in block in create_shell_runner' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb:56:insh' /scratch/ep/chipmunk/chipmunk-2.10.0/rakefile.rb:161:in npm_install' /scratch/ep/chipmunk/chipmunk-2.10.0/rakefile.rb:345:inblock (2 levels) in <top (required)>' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/fileutils.rb:120:in chdir' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/fileutils.rb:120:incd' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/file_utils_ext.rb:37:in cd' /scratch/ep/chipmunk/chipmunk-2.10.0/rakefile.rb:344:inblock in <top (required)>' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in block in execute' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:ineach' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in execute' /scratch/ep/chipmunk/chipmunk-2.10.0/rake_extensions.rb:37:inblock in execute_with_benchmark' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/benchmark.rb:308:in realtime' /scratch/ep/chipmunk/chipmunk-2.10.0/rake_extensions.rb:37:inexecute_with_benchmark' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:194:in block in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:inmon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:inblock in invoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in each' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:ininvoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:in block in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:inmon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:inblock in invoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in each' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:ininvoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:in block in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:inmon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:inblock in invoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in each' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:ininvoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:in block in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:inmon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:inblock in invoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in each' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:ininvoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:in block in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:inmon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:180:ininvoke' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:152:in invoke_task' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:inblock (2 levels) in top_level' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in each' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:inblock in top_level' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:117:in run_with_threads' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:102:intop_level' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:80:in block in run' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:178:instandard_exception_handling' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:77:in run' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/exe/rake:27:in<top (required)>' /home/ep/.rvm/rubies/ruby-2.4.9/bin/rake:23:in load' /home/ep/.rvm/rubies/ruby-2.4.9/bin/rake:23:in

' Tasks: TOP => full_pipeline => install_electron_stuff => compile_electron => prepare_electron_build => application/electron/node_modules ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| (98.9 %) application/client.core/node_modules/chipmunk.client.toolkit ==> 152.5s | (0.8 %) check_environment ==> 1.3s total time was: 154.3

DmitryAstafyev commented 3 years ago

Hello, @edibleparts, thanks for your replay.

It currently fails during post-install step, timing out trying to connect to 140.82.112.3:443 (Github? Why?)

It happens because chipmunk tries to include some default plugins into the package (like ASCII support and dlt render). Because plugins are stored on github, it tries to connect there and download it.

We don't have some specific env-keys to prevent it, just because it's a part of build process. But you can do it:

  1. open ./rakefile.rb
  2. find and comment out line 864

Like this:

desc 'Build the full build pipeline for a given platform'
task full_pipeline: %i[check_environment
                       check_octokit
                       setup_environment
                       clean_release_dir
                       install_electron_stuff
                       ripgrep
#                     deliver_defaults_plugins                 <-- turn off delivering of plugins into package
                       build_and_package_electron
                       create_release_file_list
                       prepare_to_deploy]
DmitryAstafyev commented 3 years ago

Hmm, but looks like your issue doesn't relate to plugins downloading workflow. I will take a look at your logs and will respond soon.

DmitryAstafyev commented 3 years ago

@edibleparts can I ask you do next

cd application/electron
npm install
./node_modules/.bin/electron-builder install-app-deps

and send output. Thanks in advance!

edibleparts commented 3 years ago

Thank you for your help, Dmitry!

Here we go:

$ cd application/electron $ npm install

core-js@3.6.5 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/core-js node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

electron@10.1.5 postinstall /scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/electron node install.js

RequestError: connect EHOSTUNREACH 140.82.112.4:443 at ClientRequest. (/scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/got/source/request-as-event-emitter.js:178:14) at Object.onceWrapper (events.js:422:26) at ClientRequest.emit (events.js:327:22) at ClientRequest.origin.emit (/scratch/ep/chipmunk/chipmunk-2.10.0/application/electron/node_modules/@szmarczak/http-timer/source/index.js:37:11) at TLSSocket.socketErrorListener (_http_client.js:469:9) at TLSSocket.emit (events.js:315:20) at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) npm WARN chipmunk@2.10.0 No repository field. npm WARN chipmunk@2.10.0 No license field.

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! electron@10.1.5 postinstall: node install.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the electron@10.1.5 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /scratch/ep/nodejs/npm-cache/_logs/2020-11-23T18_47_27_696Z-debug.log $ ./node_modules/.bin/electron-builder install-app-deps \u2022 electron-builder version=22.9.1 \u2022 loaded configuration file=package.json ("build" field) \u2022 rebuilding native dependencies dependencies=node-pty@0.9.0 platform=linux arch=x64 $

edibleparts commented 3 years ago

2020-11-23T18_47_27_696Z-debug.log

edibleparts commented 3 years ago

I think I passed host access problems due to me being behind proxy. (Mostly by altering ~/.npmrc proxy/registery/ssh settings). Then it was failing trying to install electron. That finally worked with: npx cross-env ELECTRON_GET_USE_PROXY=true GLOBAL_AGENT_HTTPS_PROXY=http:// npm install -D electron@latest

But now I consistently get stuck at cargo failing to build (see below). Looks like it got updated along the way and now requires "editions" setting in chipmunk's Cargo.toml that are not there. Any suggestions for this, please?

Thanks!


Build launcher cargo build --release error: failed to parse manifest at /scratch/ep/chipmunk/chipmunk-2.10.0/application/apps/launch_and_update/launcher/Cargo.toml

Caused by: editions are unstable

Caused by: feature edition is required

this Cargo does not support nightly features, but if you switch to nightly channel you can add cargo-features = ["edition"] to enable this feature rake aborted! Command failed with status (101): [cargo build --release...]

marcmo commented 3 years ago

Hi @edibleparts , editions are stable since 1.32+, you are using 1.29.0. is it possible for you to upgrade your rust toolchain? only needed on the build-platform by the way.

edibleparts commented 3 years ago

Updated rustup/cargo. This time chipmunk itself seem to build, but still fails during chipmunk-asciicolors-plugin plugin build. Would appreciate any help on how to fix this.

To sum up for anybody who may need it: Besides installing required components, which would be good to list authoritatively, there are additional challenges to install/build it behind a proxy.

...... ***** executing deliver_defaults_plugins Execute deliver_defaults_plugins Login to Github using token Getting latest release Getting assets latest release Reading releases file from "https://github.com/esrlabs/chipmunk-plugins-store/releases/download/0.0.30/releases-linux.json" Plugin "chipmunk-asciicolors-plugin" will be included into package Plugin "chipmunk-sh-plugin" will be included into package Plugin "chipmunk-dltview-plugin" will be included into package Downloading "chipmunk-asciicolors-plugin" from "https://github.com/esrlabs/chipmunk-plugins-store/releases/download/0.0.27/chipmunk-asciicolors-plugin@92101990.31302010.2113514639-1.1.0-linux.tgz" rake aborted! NoMethodError: private method open' called for URI:Module** /scratch/ep/chipmunk/chipmunk-2.10.0/rake-plugins.rb:87:inblock (2 levels) in delivery' /scratch/ep/chipmunk/chipmunk-2.10.0/rake-plugins.rb:86:in open' /scratch/ep/chipmunk/chipmunk-2.10.0/rake-plugins.rb:86:inblock in delivery' /scratch/ep/chipmunk/chipmunk-2.10.0/rake-plugins.rb:84:in each' /scratch/ep/chipmunk/chipmunk-2.10.0/rake-plugins.rb:84:indelivery' /scratch/ep/chipmunk/chipmunk-2.10.0/rakefile.rb:660:in block in <top (required)>' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:inblock in execute' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in each' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:inexecute' /scratch/ep/chipmunk/chipmunk-2.10.0/rake_extensions.rb:37:in block in execute_with_benchmark' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/benchmark.rb:308:inrealtime' /scratch/ep/chipmunk/chipmunk-2.10.0/rake_extensions.rb:37:in execute_with_benchmark' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:194:inblock in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:in mon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:ininvoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:in block in invoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:ineach' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in invoke_prerequisites' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:inblock in invoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/2.4.0/monitor.rb:214:in mon_synchronize' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:ininvoke_with_call_chain' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:180:in invoke' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:152:ininvoke_task' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in block (2 levels) in top_level' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:ineach' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in block in top_level' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:117:inrun_with_threads' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:102:in top_level' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:80:inblock in run' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:178:in standard_exception_handling' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:77:inrun' /home/ep/.rvm/rubies/ruby-2.4.9/lib/ruby/gems/2.4.0/gems/rake-12.0.0/exe/rake:27:in <top (required)>' /home/ep/.rvm/rubies/ruby-2.4.9/bin/rake:23:inload' /home/ep/.rvm/rubies/ruby-2.4.9/bin/rake:23:in `

' Tasks: TOP => full_pipeline => deliver_defaults_plugins |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| (62.4 %) application/electron/dist/compiled/client/main.js ==> 862.2s ||||||||||||||||||||||||||||||| (31.4 %) build_embedded_indexer ==> 434.2s ||| (2.6 %) electron_build_ts ==> 35.7s | (1.4 %) application/client.core/node_modules/chipmunk.client.toolkit ==> 19.7s | (0.9 %) application/apps/indexer-neon/node_modules/.bin ==> 11.9s total time was: 1381.4

edibleparts commented 3 years ago

FWIW, "https://github.com/esrlabs/chipmunk-plugins-store/releases/download/0.0.27/chipmunk-asciicolors-plugin@92101990.31302010.2113514639-1.1.0-linux.tgz" downloads just fine.

DmitryAstafyev commented 3 years ago

@edibleparts Hello. Thanks for your efforts. This issue is fixed in rakefile. Please, fetch/rebase from master and try again.

edibleparts commented 3 years ago

No worries, thank you for your help!

This time it built fully. Great! Now I am trying to run it. cd application/electron/dist/release/linux-unpacked ./chipmunk

This pops GtkDialog "Error": "Sorry, it looks like we have a problems with starting. You can try to drop settings and start it again. Error: Fail to detect OS env due error: Command failed: echo $CHIPMUNK_DEV_LOGLEVEL CHIPMUNK_DEV_LOGLEVEL: Undefined variable. "

1) I think better wording would be something like: "It looks like we have a problem starting. You can try to drop settings and start again. Error: Failed to detect OS environment due to an error: " Or, since user does not know what are the "settings", they should be called "default configuration/options"?

2) This gives a choice of two buttons: "Drop Settings and Close", and "Close". OK, drop. Dialog closes, but app does not terminates (does not always terminates). On next start, this will result in same message with a different environment name: CHIPMUNK_PLUGINS_NO_UPDATES CHIPMUNK_DEVELOPING_MODE CHIPMUNK_NO_WEBDEVTOOLS Sometime app terminates, sometimes not. But it keeps cycling between those variable names, and does not start.

I assume it needs additional setup. What should I do to start it?

Thanks a lot.

DmitryAstafyev commented 3 years ago

@edibleparts Thanks for your cooperation. It was a bug. Please, fetch/rebase from master and try again.

DmitryAstafyev commented 3 years ago

@edibleparts could you please post here output (from your terminal) for:

echo $CHIPMUNK_DEV_LOGLEVEL

It will help us to debug the issue. Thanks in advance.

edibleparts commented 3 years ago

Sure, output is empty string (environment is not defined). Shell is bash.

edibleparts commented 3 years ago

Terrific! Latest source builds and runs fine. App starts and works as it should. Thank you very much for your help.

FWIW, the way I see it, lack of decent user manual is its bigger weakness. I still can't guess what some icons mean (e.g. in seach: "case sensitivity", "?", "regex", but there are no tooltips or help. The "?" being an icon with letters with bars on top and bottom, as in edit field. Can't find bookmarking either (I have a vague recollection there were bookmark feature). etc. Some of the great features kinda hidden or non obvious (merging, working with timing, etc). Just a nitpick. Thanks again!

DmitryAstafyev commented 3 years ago

Sure, output is empty string (environment is not defined). Shell is bash.

yes, sure, result is predictable. But I'm wondering, why the command was failed from nodejs. That's why I've asked. In any way we will check in addition.

DmitryAstafyev commented 3 years ago

@edibleparts Thanks for your objective and reasoned feedback! It's very important for us.