CauldronDevelopmentLLC / CAMotics

Open-Source Simulation & Computer Aided Machining - A 3-axis CNC GCode simulator
Other
602 stars 138 forks source link

Using on Fedora 34 with v8-314 rpm package incompatibility #345

Closed dpreed closed 3 years ago

dpreed commented 3 years ago

Fedora 34's v8-314 package as distributed has V8_COMPRESS_POINTERS disabled. C! on the other hand, in the source files sets V8_COMPRESS_POINTERS, which causes the camotics command to fail with a notice about incompatible options.

Suggest for source builds that this be made optional in the scons build, and perhaps even be tested prior to building in the SConscript. Commenting out the #define gave me a working build of camotics, that uses the Fedora distro's v8 package.

jcoffland commented 3 years ago

https://github.com/CauldronDevelopmentLLC/cbang/commit/9fc5b9805b6bced027e535c195f377c886fd9f9a makes V8_COMPRESS_POINTERS optional. Build with scons v8_compress_pointers=0 to disable it. It's enabled by default for 64-bit architectures.

Testing for V8_COMPRESS_POINTERS at build time would be nice but libv8 does not make this easy. You would have to compile a test program and run it. I try to avoid compiling and running programs in the configuration phase because it causes problems with cross compiling. In a cross compile environment, you cannot always run cross-compiled executables.

Ideally libv8 would come with a generated v8/config.h file that declared the configuration options used to build it.