Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link errors when trying to build tests or examples on MacOS X #25

Closed
SirVer opened this issue Aug 17, 2015 · 6 comments
Closed

Link errors when trying to build tests or examples on MacOS X #25

SirVer opened this issue Aug 17, 2015 · 6 comments

Comments

@SirVer
Copy link

SirVer commented Aug 17, 2015

Followup on #14:

This is on MacOS X 10.10.

$ cargo --version
cargo 0.5.0-nightly (1f24be7 2015-08-13)
$ rustc --version
rustc 1.4.0-nightly (f05b22efb 2015-08-15)
$ git clone https://github.com/cyndis/qmlrs.git
$ cd qmlrs
$ export CMAKE_PREFIX_PATH=$(brew --prefix qt5)/lib/cmake/
$ cargo build -v
    Updating registry `https://github.com/rust-lang/crates.io-index`
    Updating git repository `https://github.com/alexcrichton/pkg-config-rs`
   Compiling libc v0.1.10
     Running `rustc /Users/sirver/.multirust/toolchains/nightly/cargo/registry/src/github.com-0a35038f75765ae4/libc-0.1.10/rust/src/liblibc/lib.rs --crate-name libc --crate-type lib -g --cfg feature=\"default\" --cfg feature=\"cargo-build\" -C metadata=144c435538abd757 -C extra-filename=-144c435538abd757 --out-dir /private/tmp/qmlrs/target/debug/deps --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug/deps -L dependency=/private/tmp/qmlrs/target/debug/deps --cap-lints allow`
   Compiling pkg-config v0.3.5 (https://github.com/alexcrichton/pkg-config-rs#42f1704b)
     Running `rustc /Users/sirver/.multirust/toolchains/nightly/cargo/git/checkouts/pkg-config-rs-34acd6273d8a7d7a/master/src/lib.rs --crate-name pkg_config --crate-type lib -g -C metadata=25b537b84ffabba9 -C extra-filename=-25b537b84ffabba9 --out-dir /private/tmp/qmlrs/target/debug/deps --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug/deps -L dependency=/private/tmp/qmlrs/target/debug/deps --cap-lints allow`
   Compiling qmlrs v0.0.1 (file:///private/tmp/qmlrs)
     Running `rustc build.rs --crate-name build_script_build --crate-type bin -C prefer-dynamic -g --out-dir /private/tmp/qmlrs/target/debug/build/qmlrs-6b200e3e9d61f85f --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern pkg_config=/private/tmp/qmlrs/target/debug/deps/libpkg_config-25b537b84ffabba9.rlib`
     Running `/private/tmp/qmlrs/target/debug/build/qmlrs-6b200e3e9d61f85f/build-script-build`
     Running `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++`
src/variant.rs:12:5: 12:60 warning: the trait `core::marker::Sized` is not implemented for the type `Self` [E0277]
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 help: run `rustc --explain E0277` to see a detailed explanation
src/variant.rs:12:5: 12:60 note: `Self` does not have a constant size known at compile-time
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: this warning results from recent bug fixes and clarifications; it will become a HARD ERROR in the next release. See RFC 1214 for details.
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: required by `core::option::Option`
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

So far so good. Let's try tests:

$ cargo test -v
       Fresh pkg-config v0.3.5 (https://github.com/alexcrichton/pkg-config-rs#42f1704b)
   Compiling qmlrs v0.0.1 (file:///private/tmp/qmlrs)
     Running `/private/tmp/qmlrs/target/debug/build/qmlrs-6b200e3e9d61f85f/build-script-build`
       Fresh libc v0.1.10
     Running `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++`
     Running `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --test -C metadata=f9b392aee7ed916b -C extra-filename=-f9b392aee7ed916b --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++`
src/variant.rs:12:5: 12:60 warning: the trait `core::marker::Sized` is not implemented for the type `Self` [E0277]
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 help: run `rustc --explain E0277` to see a detailed explanation
src/variant.rs:12:5: 12:60 note: `Self` does not have a constant size known at compile-time
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: this warning results from recent bug fixes and clarifications; it will become a HARD ERROR in the next release. See RFC 1214 for details.
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: required by `core::option::Option`
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 warning: the trait `core::marker::Sized` is not implemented for the type `Self` [E0277]
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 help: run `rustc --explain E0277` to see a detailed explanation
src/variant.rs:12:5: 12:60 note: `Self` does not have a constant size known at compile-time
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: this warning results from recent bug fixes and clarifications; it will become a HARD ERROR in the next release. See RFC 1214 for details.
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: required by `core::option::Option`
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Running `rustc examples/factorial.rs --crate-name factorial --crate-type bin -g --out-dir /private/tmp/qmlrs/target/debug/examples --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib --extern qmlrs=/private/tmp/qmlrs/target/debug/libqmlrs.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib`
     Running `rustc tests/simple_test.rs --crate-name simple_test --crate-type bin -g --test -C metadata=7dba3db013d362e8 -C extra-filename=-7dba3db013d362e8 --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib --extern qmlrs=/private/tmp/qmlrs/target/debug/libqmlrs.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib`
error: linking with `cc` failed: exit code: 1
note: "cc" "-m64" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/qmlrs/target/debug/qmlrs-f9b392aee7ed916b.0.o" "-o" "/private/tmp/qmlrs/target/debug/qmlrs-f9b392aee7ed916b" "-Wl,-dead_strip" "-nodefaultlibs" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libtest-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libterm-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libserialize-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libgetopts-35017696.rlib" "/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblog-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libstd-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcollections-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librand-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblibc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcore-35017696.rlib" "-L" "/private/tmp/qmlrs/target/debug" "-L" "/private/tmp/qmlrs/target/debug/deps" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-L" "/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin" "-L" "/private/tmp/qmlrs/lib/x86_64-apple-darwin" "-Wl,-force_load,/private/tmp/qmlrs/ext/libqmlrswrapper/build/libqmlrswrapper.a" "-l" "stdc++" "-l" "c" "-l" "m" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-rpath,@loader_path/../../../../../Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "-l" "compiler-rt"
note: ld: warning: directory not found for option '-L/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin'
ld: warning: directory not found for option '-L/private/tmp/qmlrs/lib/x86_64-apple-darwin'
Undefined symbols for architecture x86_64:
  "typeinfo for QQmlApplicationEngine", referenced from:
      typeinfo for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlEngine::event(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::childEvent(QChildEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::connectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacast(char const*)", referenced from:
      QrsApplicationEngine::qt_metacast(char const*) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObjectData::dynamicMetaObject() const", referenced from:
      QrsApplicationEngine::metaObject() const in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::staticMetaObject", referenced from:
      QrsApplicationEngine::staticMetaObject in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::~QQmlApplicationEngine()", referenced from:
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QVariant::operator=(QVariant const&)", referenced from:
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QVariant::QVariant(QVariant const&)", referenced from:
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QObject::disconnectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QCoreApplication::self", referenced from:
      _qmlrs_create_engine_headless in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QListData::dispose(QListData::Data*)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QString::toUtf8_helper(QString const&)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::rootObjects()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QListData::detach(int)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QVariant::~QVariant()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::customEvent(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QObject::timerEvent(QTimerEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QCoreApplication::QCoreApplication(int&, char**, int)", referenced from:
      _qmlrs_create_engine_headless in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsApplicationEngine::qt_metacall(QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::QQmlApplicationEngine(QObject*)", referenced from:
      _qmlrs_create_engine_headless in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error
Build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit code: 1
note: "cc" "-m64" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/qmlrs/target/debug/simple_test-7dba3db013d362e8.0.o" "-o" "/private/tmp/qmlrs/target/debug/simple_test-7dba3db013d362e8" "-Wl,-dead_strip" "-nodefaultlibs" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libtest-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libgetopts-35017696.rlib" "/private/tmp/qmlrs/target/debug/libqmlrs.rlib" "/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libterm-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libserialize-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblog-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libstd-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcollections-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librand-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblibc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcore-35017696.rlib" "-L" "/private/tmp/qmlrs/target/debug" "-L" "/private/tmp/qmlrs/target/debug/deps" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-L" "/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin" "-L" "/private/tmp/qmlrs/lib/x86_64-apple-darwin" "-l" "stdc++" "-l" "c" "-l" "m" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-rpath,@loader_path/../../../../../Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "-l" "compiler-rt"
note: ld: warning: directory not found for option '-L/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin'
ld: warning: directory not found for option '-L/private/tmp/qmlrs/lib/x86_64-apple-darwin'
Undefined symbols for architecture x86_64:
  "typeinfo for QQmlApplicationEngine", referenced from:
      typeinfo for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlEngine::event(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::timerEvent(QTimerEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::childEvent(QChildEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::customEvent(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::connectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacast(char const*)", referenced from:
      QrsApplicationEngine::qt_metacast(char const*) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObjectData::dynamicMetaObject() const", referenced from:
      QrsApplicationEngine::metaObject() const in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::load(QUrl const&)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::detach(int)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::rootObjects()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QString::toUtf8_helper(QString const&)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QGuiApplication::exec()", referenced from:
      _qmlrs_app_exec in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QCoreApplication::QCoreApplication(int&, char**, int)", referenced from:
      _qmlrs_create_engine_headless in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::QUrl(QString const&, QUrl::ParsingMode)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QVariant::~QVariant()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::disconnectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QCoreApplication::self", referenced from:
      _qmlrs_create_engine_headless in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QListData::dispose(QListData::Data*)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QString::fromUtf8_helper(char const*, int)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::staticMetaObject", referenced from:
      QrsApplicationEngine::staticMetaObject in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::~QQmlApplicationEngine()", referenced from:
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QVariant::operator=(QVariant const&)", referenced from:
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QVariant::QVariant(QVariant const&)", referenced from:
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::~QUrl()", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsApplicationEngine::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::QQmlApplicationEngine(QObject*)", referenced from:
      _qmlrs_create_engine_headless in libqmlrs.rlib(libqmlrswrapper.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error
error: linking with `cc` failed: exit code: 1
note: "cc" "-m64" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/qmlrs/target/debug/examples/factorial.0.o" "-o" "/private/tmp/qmlrs/target/debug/examples/factorial" "-Wl,-dead_strip" "-nodefaultlibs" "/private/tmp/qmlrs/target/debug/libqmlrs.rlib" "/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libstd-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcollections-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librand-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblibc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcore-35017696.rlib" "-L" "/private/tmp/qmlrs/target/debug" "-L" "/private/tmp/qmlrs/target/debug/deps" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-L" "/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin" "-L" "/private/tmp/qmlrs/lib/x86_64-apple-darwin" "-l" "stdc++" "-l" "c" "-l" "m" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-rpath,@loader_path/../../../../../../Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "-l" "compiler-rt"
note: ld: warning: directory not found for option '-L/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin'
ld: warning: directory not found for option '-L/private/tmp/qmlrs/lib/x86_64-apple-darwin'
Undefined symbols for architecture x86_64:
  "QQmlEngine::event(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::~QQmlApplicationEngine()", referenced from:
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsApplicationEngine::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacast(char const*)", referenced from:
      QrsApplicationEngine::qt_metacast(char const*) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObjectData::dynamicMetaObject() const", referenced from:
      QrsApplicationEngine::metaObject() const in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QVariant::operator=(QVariant const&)", referenced from:
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "typeinfo for QObject", referenced from:
      typeinfo for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::event(QEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::timerEvent(QTimerEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QUrl::~QUrl()", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::childEvent(QChildEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::customEvent(QEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::connectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QListData::erase(void**)", referenced from:
      QList<unsigned int>::takeFirst() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "qBadAlloc()", referenced from:
      QVector<QrsDynamicMetaObject::finalize()::ArrayData>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<unsigned int>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QMessageLogger::warning(char const*, ...) const", referenced from:
      QrsDynamicObject::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::~QObject()", referenced from:
      QrsDynamicObject::~QrsDynamicObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QrsDynamicObject::~QrsDynamicObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QQmlApplicationEngine::staticMetaObject", referenced from:
      QrsApplicationEngine::staticMetaObject in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QListData::detach_grow(int*, int)", referenced from:
      QList<QrsDynamicMetaObject::Method>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QList<unsigned int>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QGuiApplication::QGuiApplication(int&, char**, int)", referenced from:
      _qmlrs_create_engine in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::QObject(QObject*)", referenced from:
      QrsDynamicMetaObject::create(void* (*)(void*, int, QVariant**), void*) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "typeinfo for QQmlApplicationEngine", referenced from:
      typeinfo for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QString::fromAscii_helper(char const*, int)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QQmlApplicationEngine::loadData(QByteArray const&, QUrl const&)", referenced from:
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QByteArray::append(QByteArray const&)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::type() const", referenced from:
      _qmlrs_variant_get_type in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QByteArray::append(char)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::QVariant(QVariant const&)", referenced from:
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::disconnectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QArrayData::shared_null", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<QrsDynamicMetaObject::finalize()::ArrayData>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<unsigned int>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QListData::shared_null", referenced from:
      QrsDynamicMetaObject::QrsDynamicMetaObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::~QVariant()", referenced from:
      _qmlrs_variant_set_int64 in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlContext::setContextProperty(QString const&, QObject*)", referenced from:
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::append()", referenced from:
      QList<QrsDynamicMetaObject::Method>::append(QrsDynamicMetaObject::Method const&) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QMessageLogger::fatal(char const*, ...) const", referenced from:
      QrsDynamicMetaObject::addSlot(QString, unsigned int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
  "QGuiApplication::exec()", referenced from:
      _qmlrs_app_exec in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::dispose(QListData::Data*)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QrsDynamicMetaObject::Method>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::~QrsDynamicMetaObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<unsigned int>::takeFirst() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<unsigned int>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      ...
  "QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_metaobject_add_slot in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::addSlot(QString, unsigned int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QList<QrsDynamicMetaObject::Method>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      ...
  "QQmlEngine::rootContext() const", referenced from:
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::QUrl(QString const&, QUrl::ParsingMode)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::load(QUrl const&)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::rootObjects()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::detach(int)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<unsigned int>::takeFirst() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<QrsDynamicMetaObject::Method>::detach_helper(int) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QString::toUtf8_helper(QString const&)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsDynamicObject::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QString::fromUtf8_helper(char const*, int)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_metaobject_add_slot in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QByteArray::fromRawData(char const*, int)", referenced from:
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::staticMetaObject", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::QUrl()", referenced from:
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<QrsDynamicMetaObject::finalize()::ArrayData>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<unsigned int>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QString::arg(long long, int, int, QChar) const", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::toLongLong(bool*) const", referenced from:
      _qmlrs_variant_get_int64 in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QCoreApplication::self", referenced from:
      _qmlrs_create_engine in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QVariant::canConvert(int) const", referenced from:
      _qmlrs_variant_get_type in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QVariant::QVariant(long long)", referenced from:
      _qmlrs_variant_set_int64 in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QByteArray::reallocData(unsigned int, QFlags<QArrayData::AllocationOption>)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QQmlApplicationEngine::QQmlApplicationEngine(QObject*)", referenced from:
      _qmlrs_create_engine in libqmlrs.rlib(libqmlrswrapper.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error
Could not compile `qmlrs`.

Caused by:
  Process didn't exit successfully: `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --test -C metadata=f9b392aee7ed916b -C extra-filename=-f9b392aee7ed916b --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++` (exit code: 101)
@jxs
Copy link

jxs commented Sep 5, 2015

i am also having this error

@evanmeng
Copy link

same here.

@tpickett66
Copy link
Contributor

I've had success building the examples after fiddling with a few cmake and pkg-config parameters on OSX. Using homebrew installed qt5 here's what I've been using:

$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/Cellar/qt5/5.5.1_2/lib/pkgconfig \
CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.5.1_2/lib/cmake \
cargo run --example factorial

Setting those two are somewhat brittle since they're linking to a specific version of Qt, sadly there are many conflicts between versions 4 and 5 so brew doesn't link it by default.

@florianjacob
Copy link
Collaborator

@jxs @evanmeng You're also on OSX, I guess?

@tpickett66 Quoting my pkg-config manpage,

pkg-config retrieves information about packages from special metadata files. These files are named after the package, and has a .pc extension. On most systems, pkg-config looks in /usr/lib/pkgconfig, /usr/share/pkgconfig, /usr/local/lib/pkgconfig and /usr/local/share/pkgconfig for these files. It will additionally look in the colon-separated (on Windows, semicolon-separated) list of directories specified by the PKG_CONFIG_PATH environment variable.

So /usr/local/lib/pkgconfig in PKG_CONFIG_PATH might not be needed if it's the same way on OSX.

If I understood Homebrew/legacy-homebrew#12571 right, this is a more robust way of determining the installed formula's directory than using --prefix:

$(brew --repository)/Library/LinkedKegs/<formula>

So, for qmlrs, what you need would be something like:

$ PKG_CONFIG_PATH=$(brew --repository)/Library/LinkedKegs/qt5/lib/pkgconfig \
CMAKE_PREFIX_PATH=$(brew --repository)/Library/LinkedKegs/qt5/lib/cmake \
cargo run --example factorial

@tpickett66 Could you please test & investigate this? If something like this works reliably and robust, we should at least add it to the documentation as homebrew build instructions.

@tpickett66
Copy link
Contributor

@florianjacob, the paths you've suggested are already included on the search paths for pkg-config. The trouble here is that homebrew doesn't link the qt5 package due to the conflicts. I'll poke at it a bit more to see if I can find something more stable.

@tpickett66
Copy link
Contributor

I've found a stable solution and am adding it to build.rs

@florianjacob florianjacob changed the title Link errors when trying to build tests or examples. Link errors when trying to build tests or examples on MacOS X Feb 4, 2016
flanfly pushed a commit to flanfly/qmlrs that referenced this issue May 9, 2016
Since QT5 and QT4 supply many of the same libs and QT4 is much more
widely used (according to the Formula's keg_only declaration) homebrew
doesn't link QT5 by default. To work around this we need to nudge
pkg-config and cmake in the right direction for them to find QT5.

Fixes cyndis#25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants