slint-ui / slint

Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
https://slint.dev
Other
16.94k stars 568 forks source link

Problems getting the template-based project to `cargo build` #4560

Closed carlca closed 7 months ago

carlca commented 7 months ago

I'm trying to build the default template-based project. I ran: cargo generate --git https://github.com/slint-ui/slint-rust-template --name spiderland then CD'd into the spiderland folder.

I then ran cargo build. This first showed the compile process for the 308 dependencies, followed by an error message: error: linking withccfailed: exit status: 1 This was followed by a whole host of what I assume were linker messages, an excerpt being:

  = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/homebrew/Cellar/rust/1.75.0/lib/rustlib/aarch64-apple-darwin/bin:/Users/carlcaulkett/anaconda3/condabin:/Users/carlcaulkett/.pyenv/shims:/Users/carlcaulkett/.sdkman/candidates/scala/current/bin:/Users/carlcaulkett/.sdkman/candidates/sbt/current/bin:/Users/carlcaulkett/.sdkman/candidates/java/current:/Users/carlcaulkett/.sdkman/candidates/gradle/current/bin:/Users/carlcaulkett/.local/bin:/Users/carlcaulkett/anaconda3/bin:/Users/carlcaulkett/Code/mongodb/bin:/Users/carlcaulkett/Code/Scala/maven2sbt-cli-1.5.0/bin:/Applications/Cursor.app/Contents/Resources/app/bin:/users/carlcaulkett/v:/users/carlcaulkett/.modular/pkg/packages.modular.com_mojo/bin:/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin:/opt/homebrew/opt/sqlite

There was a lot more of this, but it ended up with the final error message:

  = note: ld: warning: ignoring duplicate libraries: '-lSystem', '-lc++', '-lobjc'
          ld: framework 'QtCore' not found
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `spiderland` (bin "spiderland") due to previous error

Searching for the error text reveals this to be a very common issue, but sadly one without any definitive answer. Over to you ;-)

tronical commented 7 months ago

To help us diagnose the issue, could you paste the output of which qmake and qmake -query? Thanks :)

carlca commented 7 months ago

which qmake: /Users/carlcaulkett/anaconda3/bin/qmake

qmake -query
QT_SYSROOT:
QT_INSTALL_PREFIX:/Users/carlcaulkett/anaconda3
QT_INSTALL_ARCHDATA:/Users/carlcaulkett/anaconda3
QT_INSTALL_DATA:/Users/carlcaulkett/anaconda3
QT_INSTALL_DOCS:/Users/carlcaulkett/anaconda3/doc
QT_INSTALL_HEADERS:/Users/carlcaulkett/anaconda3/include/qt
QT_INSTALL_LIBS:/Users/carlcaulkett/anaconda3/lib
QT_INSTALL_LIBEXECS:/Users/carlcaulkett/anaconda3/libexec
QT_INSTALL_BINS:/Users/carlcaulkett/anaconda3/bin
QT_INSTALL_TESTS:/Users/carlcaulkett/anaconda3/tests
QT_INSTALL_PLUGINS:/Users/carlcaulkett/anaconda3/plugins
QT_INSTALL_IMPORTS:/Users/carlcaulkett/anaconda3/imports
QT_INSTALL_QML:/Users/carlcaulkett/anaconda3/qml
QT_INSTALL_TRANSLATIONS:/Users/carlcaulkett/anaconda3/translations
QT_INSTALL_CONFIGURATION:/Users/carlcaulkett/anaconda3
QT_INSTALL_EXAMPLES:/Users/carlcaulkett/anaconda3/examples
QT_INSTALL_DEMOS:/Users/carlcaulkett/anaconda3/examples
QT_HOST_PREFIX:/Users/carlcaulkett/anaconda3
QT_HOST_DATA:/Users/carlcaulkett/anaconda3
QT_HOST_BINS:/Users/carlcaulkett/anaconda3/bin
QT_HOST_LIBS:/Users/carlcaulkett/anaconda3/lib
QMAKE_SPEC:macx-clang
QMAKE_XSPEC:macx-clang
QMAKE_VERSION:3.1
QT_VERSION:5.15.2
tronical commented 7 months ago

Thank you :) Ok, we've been able to reproduce this locally and @ogoffart is working on a fix :)

ogoffart commented 7 months ago

https://github.com/slint-ui/slint/pull/4566 disable the Qt backend by default on mac