Closed hpmachining closed 5 years ago
Debian started installing the package libnode-dev
instead of libv8-dev
when I try to install the latter. Perhaps it would install the real libv8-dev
if I completely uninstalled node but I need node. So, I modified cbang to use the version of v8 that comes with libnode-dev
which is 6.8. I've been considering supporting both versions but it would be better to use the more modern v8 if possible. Can you use v8 6.8?
I’ll look into it. I don’t have a package or build script for that version, but I’ll see if I can make one.
Using v8 6.8 worked for building cbang. It looks like CAMotics hasn't been updated yet to build with this latest cbang. Is this correct?
I just pushed a few commits I had on my local machine. It should build now. Let me know if it does not.
Looks like I have a few issues to work out with my v8 6.8 build. I have a lot of linker issues trying to build CAMotics, most seem to be looking for an older icu that was bundled with v8. Once I get that sorted out I'll let you know. Thank you.
I have most of my v8 issues sorted out. CAMotics itself builds and links, but I still have a linker error with tplang when building. I don't know if this is an issue with my v8 build or with cbang code. Let me know for sure that it works with the Debian v8 that is packaged with libnode. Here is the linker error I am getting:
g++ -o tplang -Wl,--as-needed -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-S -Wl,-x -no-pie -pthread -Wl,-rpath=/usr/lib build/tplang.o -L/opt/cbang/lib build/libCAMotics.a build/libCAMoticsGUI.a build/libclipper.a build/libDXF.a build/libSTL.a build/libGCode.a -lstdc++ -lcbang -lcbang-boost -lv8 -lssl -lcrypto -ldl -lexpat -lbz2 -lz -lpthread build/dxflib/libdxflib.a
/usr/bin/ld: /opt/cbang/lib/libcbang.a(JSImpl.o): in function `cb::gv8::JSImpl::init(int*, char**)':
(.text+0x34c): undefined reference to `v8::platform::CreateDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, v8::TracingController*)'
collect2: error: ld returned 1 exit status
scons: *** [tplang] Error 1
scons: building terminated because of errors.
Thank you.
It looks like your libv8 build is missing the function v8::platform::CreateDefaultPlatform()
. You may also need to link with libv8_libplatform.so
. Try this:
scons linkflags=-lv8_libplatform
scons linkflags=-lv8_libplatform
didn't work. I think it has to do with the -Wl, --as-needed
option. If I remove the option from the cbang/config/compiler/__init__.py
file I can build CAMotics using the linkflags=
option to add the library. However, if I just add conf.CBRequireLib('v8_libplatform')
to the cbang/config/v8/__init__.py
file, I can build without removing the --as-needed
option, or having to add the library using the linkflags=
option. I don't know why this is, but this is what worked for me.
I think this is a link order problem.
I have been building cbang with v8 3.14. Commit d846adb3a293dcce7271ea20c80c7dcfdf4404df was the last commit that works for me. I tried building using v8 7.4 but cbang is not finding the libs. Here is the configure output:
Here is the list of files installed with the v8 7.4 package I am trying to use:
Do you have any suggestions or procedures to use to get this working with v8 again?