rust-qt / ritual

Use C++ libraries from Rust
Apache License 2.0
1.22k stars 49 forks source link

can not build successfully at QAccessiblePlugin #71

Closed tauruswang closed 4 years ago

tauruswang commented 6 years ago
cargo build Updating registry https://github.com/rust-lang/crates.io-index Compiling dtoa v0.4.2 Compiling quote v0.3.15 Compiling rustc-serialize v0.3.24 Compiling unicode-xid v0.0.4 Compiling backtrace v0.2.3 Compiling regex-syntax v0.3.9 Compiling byteorder v1.2.1 Compiling utf8-ranges v0.1.3 Compiling serde v0.9.15 Compiling cc v1.0.7 Compiling itoa v0.3.4 Compiling libc v0.2.39 Compiling term v0.4.6 Compiling rustc-demangle v0.1.7 Compiling num-traits v0.2.1 Compiling winapi-build v0.1.1 Compiling winapi v0.2.8 Compiling cpp_utils v0.2.0 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/cpp_to_rust/cpp_utils) Compiling cfg-if v0.1.2 Compiling lazy_static v0.2.11 Compiling synom v0.11.3 Compiling num_cpus v1.8.0 Compiling memchr v0.1.11 Compiling dbghelp-sys v0.2.0 Compiling kernel32-sys v0.2.2 Compiling syn v0.11.11 Compiling num-traits v0.1.43 Compiling aho-corasick v0.5.3 Compiling term-painter v0.2.4 Compiling thread-id v2.0.0 Compiling backtrace-sys v0.1.16 Compiling thread_local v0.2.7 Compiling regex v0.1.80 Compiling error-chain v0.5.0 Compiling toml v0.2.1 Compiling serde_codegen_internals v0.14.2 Compiling serde_json v0.9.10 Compiling bincode v0.7.0 Compiling serde_derive v0.9.15 Compiling cpp_to_rust_common v0.2.3 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/cpp_to_rust/cpp_to_rust_common) warning: variable does not need to be mutable --> /Users/jerryw/OpenSourceProjects/cpp_to_rust/cpp_to_rust/cpp_to_rust_common/src/log.rs:129:11 129 let mut file = self.files.get_mut(&category).unwrap(); ^^^^^^^^
= note: #[warn(unused_mut)] on by default

Compiling cpp_to_rust_build_tools v0.2.3 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/cpp_to_rust/cpp_to_rust_build_tools) Compiling qt_generator_common v0.2.3 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator_common) Compiling qt_build_tools v0.2.4 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_build_tools) Compiling qt_gui v0.2.3 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui) Compiling qt_core v0.2.3 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_core) error: failed to run custom build command for qt_gui v0.2.3 (file:///Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui) process didn't exit successfully: /Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/target/debug/build/qt_gui-6bf29e813e3c2061/build-script-build (exit code: 101) --- stdout -- The C compiler identification is AppleClang 9.0.0.9000039 -- The CXX compiler identification is AppleClang 9.0.0.9000039 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Framework QtGui found at /usr/local/Cellar/qt/5.10.0_1/lib/QtGui.framework -- Framework QtCore found at /usr/local/Cellar/qt/5.10.0_1/lib/QtCore.framework -- Framework QtGui found at /usr/local/Cellar/qt/5.10.0_1/lib/QtGui.framework -- Framework QtCore found at /usr/local/Cellar/qt/5.10.0_1/lib/QtCore.framework -- Configuring done -- Generating done -- Build files have been written to: /Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/target/debug/build/qt_gui-25685e76323c2a9d/out/c_lib_build Scanning dependencies of target type_sizes [ 1%] Building CXX object CMakeFiles/type_sizes.dir/type_sizes.cpp.o [ 2%] Linking CXX executable type_sizes [ 2%] Built target type_sizes Scanning dependencies of target qt_gui_c [ 2%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QAbstractTextDocumentLayout.cpp.o [ 3%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QAbstractUndoItem.cpp.o [ 3%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QAccessibleObject.cpp.o [ 4%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QAccessiblePlugin.cpp.o [ 4%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QActionEvent.cpp.o [ 5%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QApplicationStateChangeEvent.cpp.o [ 6%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QBackingStore.cpp.o [ 6%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QBitmap.cpp.o [ 7%] Building CXX object CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QBrush.cpp.o

--- stderr Executing command: "qmake" "-query" "QT_VERSION" QT_VERSION = "5.10.0" Detecting Qt directories Executing command: "qmake" "-query" "QT_INSTALL_HEADERS" QT_INSTALL_HEADERS = "/usr/local/Cellar/qt/5.10.0_1/include" Executing command: "qmake" "-query" "QT_INSTALL_LIBS" QT_INSTALL_LIBS = "/usr/local/Cellar/qt/5.10.0_1/lib" Executing command: "qmake" "-query" "QT_INSTALL_DOCS" QT_INSTALL_DOCS = "/usr/local/Cellar/qt/5.10.0_1/doc" Executing command: "qmake" "-query" "QT_VERSION" QT_VERSION = "5.10.0" Detecting Qt directories Executing command: "qmake" "-query" "QT_INSTALL_HEADERS" QT_INSTALL_HEADERS = "/usr/local/Cellar/qt/5.10.0_1/include" Executing command: "qmake" "-query" "QT_INSTALL_LIBS" QT_INSTALL_LIBS = "/usr/local/Cellar/qt/5.10.0_1/lib" Executing command: "qmake" "-query" "QT_INSTALL_DOCS" QT_INSTALL_DOCS = "/usr/local/Cellar/qt/5.10.0_1/doc" Building C++ wrapper library Executing command: "cmake" "/Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/c_lib" "-DC2R_LIBRARY_TYPE=STATIC" "-DC2R_INCLUDE_PATHS=/usr/local/Cellar/qt/5.10.0_1/include;/usr/local/Cellar/qt/5.10.0_1/lib/QtGui.framework/Headers;/usr/local/Cellar/qt/5.10.0_1/lib/QtCore.framework/Headers" "-DC2R_LIB_PATHS=" "-DC2R_FRAMEWORK_PATHS=/usr/local/Cellar/qt/5.10.0_1/lib" "-DC2R_LINKED_LIBS=" "-DC2R_LINKED_FRAMEWORKS=QtGui;QtCore" "-DC2R_COMPILER_FLAGS=-std=gnu++11 -fPIC" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=/Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/target/debug/build/qt_gui-25685e76323c2a9d/out/c_lib_install" Executing command: "make" "-j8" "install" /Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/c_lib/src/qt_gui_c_QAccessiblePlugin.cpp:20:14: error: allocating an object of abstract class type 'QAccessiblePlugin' return new QAccessiblePlugin(); ^ /usr/local/Cellar/qt/5.10.0_1/lib/QtGui.framework/Headers/qaccessibleplugin.h:66:35: note: unimplemented pure virtual method 'create' in 'QAccessiblePlugin' virtual QAccessibleInterface create(const QString &key, QObject object) = 0; ^ /Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/c_lib/src/qt_gui_c_QAccessiblePlugin.cpp:24:14: error: allocating an object of abstract class type 'QAccessiblePlugin' return new QAccessiblePlugin(parent); ^ /Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui/c_lib/src/qt_gui_c_QAccessibleObject.cpp:8:14: error: allocating an object of abstract class type 'QAccessibleObject' return new QAccessibleObject(object); ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:475:35: note: unimplemented pure virtual method 'parent' in 'QAccessibleObject' virtual QAccessibleInterface parent() const = 0; ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:476:35: note: unimplemented pure virtual method 'child' in 'QAccessibleObject' virtual QAccessibleInterface child(int index) const = 0; ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:477:17: note: unimplemented pure virtual method 'childCount' in 'QAccessibleObject' virtual int childCount() const = 0; ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:478:17: note: unimplemented pure virtual method 'indexOfChild' in 'QAccessibleObject' virtual int indexOfChild(const QAccessibleInterface *) const = 0; ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:481:21: note: unimplemented pure virtual method 'text' in 'QAccessibleObject' virtual QString text(QAccessible::Text t) const = 0; ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:484:31: note: unimplemented pure virtual method 'role' in 'QAccessibleObject' virtual QAccessible::Role role() const = 0; ^ /usr/local/Cellar/qt/5.10.0_1/include/QtGui/qaccessible.h:485:32: note: unimplemented pure virtual method 'state' in 'QAccessibleObject' virtual QAccessible::State state() const = 0; ^ 2 errors generated. make[2]: [CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QAccessiblePlugin.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... 1 error generated. make[2]: [CMakeFiles/qt_gui_c.dir/src/qt_gui_c_QAccessibleObject.cpp.o] Error 1 make[1]: [CMakeFiles/qt_gui_c.dir/all] Error 2 make: *** [all] Error 2 Error: 0: command failed with exit code: 2: "make" "-j8" "install" thread 'main' panicked at 'called Result::unwrap() on an Err value: Error(Msg("command failed with exit code: 2: \"make\" \"-j8\" \"install\""), (None, None))', src/libcore/result.rs:906:4 note: Run with RUST_BACKTRACE=1 for a backtrace.

warning: build failed, waiting for other jobs to finish... error: build failed JerryWs-MacBook-Pro:qt_gui jerryw$ pwd /Users/jerryw/OpenSourceProjects/cpp_to_rust/qt_generator/qt_generator/target/debug/ouput/qt_gui JerryWs-MacBook-Pro:qt_gui jerryw$

Riateche commented 5 years ago

Unfortunately, C++ parsers appear to be untrustworthy, so we're occasionally trying to call something that can't be called, which results in a failure like that. This is hard to fix, but we've implemented a new generator step called cpp_checker to avoid these issues. This will allow us to determine exactly what can and what can't be called. When this new implementation is ready for release, this issue will hopefully be fixed.

Riateche commented 4 years ago

The new release is out. It should be more robust against issues of this kind. Please report if you have any issues with the new published Qt crates.