hael / SIMPLE

A new repository (with deleted history) in preparation for release 3.0 of SIMPLE
GNU General Public License v3.0
22 stars 8 forks source link

running simple v3.0 on CentOS 7 #6

Closed DHouldershaw closed 2 years ago

DHouldershaw commented 3 years ago

HI, I'm having problems running the latest version of simple on CentOS v7. Compilation/Installation runs fine with no problems however when I run 'simple' I get the following error: A JavaScript error occurred in the main process Uncaught Exception: Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.mount_simplenVzTTy/resources/app/node_modules/sqlite3/lib/binding/electron-v3.1-linux-x64/node_sqlite3.node) at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20) at Object.Module._extensions..node (internal/modules/cjs/loader.js:740:18) at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:166:20) 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 (internal/modules/cjs/loader.js:658:17) at require (internal/modules/cjs/helpers.js:20:18) at Object. (/tmp/.mount_simplenVzTTy/resources/app/node_modules/sqlite3/lib/sqlite3.js:4:15) at Object. (/tmp/.mount_simplenVzTTy/resources/app/node_modules/sqlite3/lib/sqlite3.js:209:3) at Module._compile (internal/modules/cjs/loader.js:711:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:722:10) 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 (internal/modules/cjs/loader.js:658:17)

Is there a way round this problem or an alternative precompiled gui for linux that works for CentOS 7 ? Many Thanks for your help, Cheers, Dave H.

sunchang1990 commented 3 years ago

Same issue here centOS 7.

sunchang1990 commented 3 years ago

Just fixed it. Below are my two cents:

The root cause is the gcc version. Since the native gcc on centos 7 is 4.8, which is not supported by simple, I have tried to install a newer version of gcc. However, neither gcc6 nor gcc7 worked. I ended up installing a gcc 5.5, which gets rid of the error message above. one more thing, after fixing the gcc version, simple might still complain about the zlib version being too low. After installing the current zlib, the simple GUI worked without issue. In my case, I used module to load and unload custom gcc and zlib such that other software relying on the native implementations remain functional.

sunchang1990 commented 3 years ago

Well, although the GUI worked. The installation doesn't display any image. At the back end, it complains the following: Error: Failed to lookup view "error" in views directory "/mnt/scratch3/simple-test/b-galactosidase/views" at Function.render (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/application.js:580:17) at ServerResponse.render (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/response.js:1012:7) at errorHandler (/softwares/SIMPLE/build/gui_data/server/src/httpServer.js:154:9) at Layer.handle_error (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/layer.js:71:5) at trim_prefix (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:315:13) at /tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:335:12) at next (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:275:10) at next (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/route.js:127:14) at Layer.handle [as handle_request] (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/layer.js:97:5) at next (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/route.js:137:13) at Route.dispatch (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/layer.js:95:5) at /tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:281:22 at Function.process_params (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:335:12) at next (/tmp/.mount_simple1g7O7o/resources/app/node_modules/express/lib/router/index.js:275:10)

The screenshot is attached: Screenshot from 2021-03-18 16-37-57

I believe this is caused by another difference between centOS7 and the ubuntu environment used for development. But at this point, I have no idea what it is.

cosmopolitanadmin commented 3 years ago

This is caused by the precompiled binary having been compiled using a newer version of C++ than that found in Centos 7. I'm just testing a solution that adds a BUILD_GUI flag to the CMake environment which will pull dependencies and compile the GUI on the current machine. Hopefully, this will be available next week and will resolve the issues on Centos 7 seen above.

hael commented 2 years ago

Joe: if this issue is fixed, please close it

cosmopolitanadmin commented 2 years ago

This has been addressed by building the GUI at compile time rather than using precompiled GUI binaries. To do this add the -DBUILD_GUI=ON flag to the cmake command.