Closed jack9603301 closed 1 year ago
I don't know why I use C + + 17. I can't compile with C + + 14 and can't detect V8
You should build with c++11.
@jcoffland If I build with c++11, an error like the following occurs and I can't even get it to detect properly
Checking for C header file pthread.h... (cached) yes
Checking for C library pthread... yes
Checking for C header file valgrind/valgrind.h... no
Checking for C library cbang-boost... yes
Checking for C library cbang... yes
Checking for C++ header file cbang/Exception.h... yes
Checking for C header file Python.h... (cached) yes
Checking for C function Py_Initialize()... yes
Exception: Chakra or V8 support is required, please rebuild C! You may need to set CHAKRA_CORE_HOME or V8_HOME.:
File "/home/jack/SourceCode/CAMotics/CAMotics/SConstruct", line 85:
raise Exception(
Yes, you have to either rebuild cbang with libv8
support or disable tpl like this:
scons with_tpl=0
I have used the official fork version of v8 to compile and install, and compile cbang, still useless
Are you sure C! compiled with v8? During the config phase you should see:
Checking for C++ header file v8.h... (cached) yes
Checking for C++ header file libplatform/libplatform.h... (cached) yes
Checking for C library v8... (cached) yes
Checking for C library v8_libplatform... (cached) yes
Possibly with out (cached)
. You should also find #define HAVE_V8
in cbang/include/cbang/config.h
. If not, then cbang did not compile with v8 support.
On Debian I install the libnode-dev
package to get libv8
. I'm not sure that https://github.com/CauldronDevelopmentLLC/v8-3.14.5 works with cbang any more. It's a rather old version.
@jcoffland
sr/include/qt5/QtOpenGL -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtWebSockets -Ibuild -Isrc src/planner.cpp
ranlib build/libCAMotics.a
g++ -o build/python.os -c -faligned-new -std=c++11 -fsigned-char -Wno-deprecated-declarations -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -fPIC -fPIC -DNDEBUG -D_REENTRANT -DHAVE_CBANG -DUSING_CBANG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NO_OPENGL_ES_2 -DGL_GLEXT_PROTOTYPES -DQT_COMPILING_QSTRING_COMPAT_CPP -I/home/jack/SourceCode/CAMotics/cbang/src -I/home/jack/SourceCode/CAMotics/cbang/include -I/home/jack/SourceCode/CAMotics/cbang/src/boost -Isrc -I/usr/include/python3.10 -I/usr/include/qt5/QtCore -I/usr/include/qt5 -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtOpenGL -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtWebSockets -Ibuild -Isrc src/python.cpp
ar rc build/libCAMoticsPy.a build/python/PyJSON.o build/python/PyJSONSink.o build/python/PyLogger.o build/python/PyNameResolver.o build/python/PyPlanner.o build/python/PySimulation.o build/python/PyTask.o
ranlib build/libCAMoticsPy.a
g++ -o gcodetool -Wl,--as-needed -Wl,-s -Wl,-x -Wl,--gc-sections -no-pie -pthread -Wl,-rpath=/usr/lib build/gcodetool.o -L/home/jack/SourceCode/CAMotics/cbang/lib -L. -Wl,--start-group build/libCAMoticsPy.a build/libCAMotics.a build/libCAMoticsGUI.a build/libDXF.a build/libSTL.a build/libGCode.a -lstdc++ -lutil -lcbang -lcbang-boost -lssl -lcrypto -llz4 -lmysqlclient -lexpat -lbz2 -lz -lpthread -ldl -lm -lpython3.10 build/dxflib/libdxflib.a -Wl,--end-group
g++ -o build/camotics.so -Wl,--as-needed -Wl,-s -Wl,-x -Wl,--gc-sections -no-pie -pthread -shared -Wl,-rpath=/usr/lib build/python.os -L/home/jack/SourceCode/CAMotics/cbang/lib -L. -Wl,--start-group build/libCAMoticsPy.a build/libCAMotics.a build/libCAMoticsGUI.a build/libDXF.a build/libSTL.a build/libGCode.a -lstdc++ -lutil -lcbang -lcbang-boost -lssl -lcrypto -llz4 -lmysqlclient -lexpat -lbz2 -lz -lpthread -ldl -lm -lpython3.10 build/dxflib/libdxflib.a -Wl,--end-group
g++ -o planner -Wl,--as-needed -Wl,-s -Wl,-x -Wl,--gc-sections -no-pie -pthread -Wl,-rpath=/usr/lib build/planner.o -L/home/jack/SourceCode/CAMotics/cbang/lib -L. -Wl,--start-group build/libCAMoticsPy.a build/libCAMotics.a build/libCAMoticsGUI.a build/libDXF.a build/libSTL.a build/libGCode.a -lstdc++ -lutil -lcbang -lcbang-boost -lssl -lcrypto -llz4 -lmysqlclient -lexpat -lbz2 -lz -lpthread -ldl -lm -lpython3.10 build/dxflib/libdxflib.a -Wl,--end-group
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: build/libGCode.a(TPLRunner.o): in function `GCode::TPLRunner::run()':
TPLRunner.cpp:(.text._ZN5GCode9TPLRunner3runEv+0xbb): undefined reference to `tplang::TPLContext::TPLContext(cb::SmartPointer<std::ostream, cb::DeallocNew<std::ostream>, cb::RefCounterImpl<std::ostream, cb::DeallocNew<std::ostream> > > const&, GCode::MachineInterface&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: 错误:ld 返回 1
Are you sure C! compiled with v8? During the config phase you should see:
Checking for C++ header file v8.h... (cached) yes Checking for C++ header file libplatform/libplatform.h... (cached) yes Checking for C library v8... (cached) yes Checking for C library v8_libplatform... (cached) yes
Possibly with out
(cached)
. You should also find#define HAVE_V8
incbang/include/cbang/config.h
. If not, then cbang did not compile with v8 support.On Debian I install the
libnode-dev
package to getlibv8
. I'm not sure that https://github.com/CauldronDevelopmentLLC/v8-3.14.5 works with cbang any more. It's a rather old version.
OK, can you confirm your version number of V8? I have to compile and install because I am Gentoo
Debian installs version 7.8 build 279 patch 23. Any version 7.8 will probably work.
I've just pushed a change that fixes the with_tpl=0
build mode if you want to try that again.
@jcoffland I'm currently trying to build a cbang under v8 7.8.285, since the two components are linked, I don't think it's necessary to open a separate issue, I'm getting the following error:
g++ -o build/cbang/js/Sink.o -c -faligned-new -std=c++11 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -fPIC -DNDEBUG -D_REENTRANT -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/js/Sink.cpp
In file included from src/cbang/js/v8/ValueRef.h:35,
from src/cbang/js/v8/JSImpl.h:35,
from src/cbang/js/Javascript.cpp:40:
src/cbang/js/v8/Value.h: 在成员函数‘virtual bool cb::gv8::Value::toBoolean() const’中:
src/cbang/js/v8/Value.h:90:42: 错误:cannot convert ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
90 | return value->BooleanValue(getCtx()).FromJust();
| ~~~~~~^~
| |
| v8::Local<v8::Context>
In file included from src/cbang/js/v8/V8.h:45,
from src/cbang/js/v8/Value.h:35,
from src/cbang/js/v8/ValueRef.h:35,
from src/cbang/js/v8/JSImpl.h:35,
from src/cbang/js/Javascript.cpp:40:
/usr/include/v8.h:2639:30: 附注: 初始化‘bool v8::Value::BooleanValue(v8::Isolate*) const’的实参 1
2639 | bool BooleanValue(Isolate* isolate) const;
| ~~~~~~~~~^~~~~~~
g++ -o build/cbang/js/StdModule.o -c -faligned-new -std=c++11 -fsigned-char -ffunction-sections -fdata-sections -O3 -funroll-loops -fno-pie -fPIC -DNDEBUG -D_REENTRANT -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/js/StdModule.cpp
scons: *** [build/cbang/js/Javascript.o] Error 1
scons: building terminated because of errors.
When I try to build this project itself, the error is reported:
collect2: 错误:ld 返回 1
scons: *** [camsim] Error 1
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /home/jack/SourceCode/CAMotics/cbang/lib/libcbang.a(JSImpl.o): in function `cb::gv8::JSImpl::init(int*, char**)':
JSImpl.cpp:(.text._ZN2cb3gv86JSImpl4initEPiPPc+0x8c): undefined reference to `v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::unique_ptr<v8::TracingController, std::default_delete<v8::TracingController> >)'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getStandardName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_setSubstChars'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_getDSTSavings'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_countAvailable'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_getDefaultTimeZone'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_fromUnicode'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `u_errorName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_openCountryTimeZones'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_setAttribute'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_countAliases'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getDefaultName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_toUnicode'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_getTimeZoneDisplayName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_openTimeZones'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_strcoll'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `u_strToUpper'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_compareNames'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getAvailableName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getAlias'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_inDaylightTime'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_getSortKey'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `uenum_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_get'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_openTimeZoneIDEnumeration'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_setMillis'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `uenum_next'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_clone'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getMaxCharSize'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `u_strToLower'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_open'
I pushed a commit that should fix the above c! build problem. The link errors maybe related.
@jcoffland Now there are still link errors. Let me check whether there is a problem with the system. It is strange that I use Qt5 on Gentoo and will report such link errors.
@jcoffland
I still have this error, I have Qt and icu installed, there shouldn't be a problem, I'm running KDE
scons: *** [camsim] Error 1
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /home/jack/SourceCode/CAMotics/cbang/lib/libcbang.a(JSImpl.o): in function `cb::gv8::JSImpl::init(int*, char**)':
JSImpl.cpp:(.text._ZN2cb3gv86JSImpl4initEPiPPc+0x8c): undefined reference to `v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::unique_ptr<v8::TracingController, std::default_delete<v8::TracingController> >)'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getStandardName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_setSubstChars'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_getDSTSavings'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_countAvailable'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_getDefaultTimeZone'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_fromUnicode'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `u_errorName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_openCountryTimeZones'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_setAttribute'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_countAliases'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getDefaultName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_toUnicode'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_getTimeZoneDisplayName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_openTimeZones'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_strcoll'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `u_strToUpper'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_compareNames'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getAvailableName'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getAlias'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_inDaylightTime'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_getSortKey'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `uenum_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_get'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_openTimeZoneIDEnumeration'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_setMillis'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `uenum_next'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucal_clone'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucol_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_getMaxCharSize'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `u_strToLower'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libQt5Core.so: undefined reference to `ucnv_open'
collect2: 错误:ld 返回 1
what does camsim do? Can I disable it ? Or disable V8 while the system is present?
@jcoffland It seems that I have found the root cause of the link error. During the link, the ICU version used by V8 is different from the ICU version installed in the system, which leads me to overwrite the ICU version of the system by mistake (when I use CP). The possible solution may be to adopt static link, or use the system ICU (but I can't find this method), or disable the ICU of V8
Last solution: disable v8
@jack9603301 Here is a link to an Arch Linux PKGBUILD file that might help you figure out how to build v8 with the system icu. You need to use c++17 for cbang and camotics to recognize the latest v8 (10.5.84). There was 1 minor change I needed to make to camotics to get it to build with c++17. See this pull request
When I finally tried to build this project, scons reported the following error:
Does anyone know how to solve it? I use Gentoo source code Linux distribution!