Giter Site home page Giter Site logo

Comments (11)

link2xt avatar link2xt commented on July 30, 2024 1

Breaking change is probably this one: rust-lang/cc-rs#848
But it should still support IPHONEOS_DEPLOYMENT_TARGET.
This should really be fixed by setting IPHONEOS_DEPLOYMENT_TARGET. Don't know why it does not work with export, maybe environment variables are not passed through and should be configured in project.pbxproj as suggested in cargo-lipo readme.

from deltachat-ios.

r10s avatar r10s commented on July 30, 2024 1

tried adding "export IPHONEOS_DEPLOYMENT_TARGET=8.0" atop of "Build Phases / Run Script" - no change

sorry, the "8.0" was a copy+paste error, i meant "export IPHONEOS_DEPLOYMENT_TARGET=12.0"

still, good to see in #2139 that things are 12.0 everywhere - @zeitschlag set that to 12.0 at #2034 to fix other issues. it seems Xcode is really picky to have deployment target the same everywhere, i will keep investigating (and still try your PR, who knows :)

from deltachat-ios.

link2xt avatar link2xt commented on July 30, 2024 1

@r10s export CC_ENABLE_DEBUG_OUTPUT=1 might help with debugging. It is described in https://docs.rs/cc/latest/cc/

from deltachat-ios.

r10s avatar r10s commented on July 30, 2024

this issue is fixed somehow by 1.136.2, together with deltachat/deltachat-android#2972 :)

from deltachat-ios.

r10s avatar r10s commented on July 30, 2024

the warnings are back again on ~current core master - while using deltachat/deltachat-core-rust#5387 was fine - sth. has changed in between, i cannot make sense of that @link2xt these are warnings only - but do you have any clue what could cause that? so it is easier to get rid of them :)

EDIT: i just updated macos to "Sonoma 14.4.1" and Xcode to 15.3 - still the same warnings.

will try if rust 1.77 changes anything. EDIT: no change

in my understanding,, by some core changes, things are suddenly build for 17.2 instead of 12.0 - and that could also be reverted - the issue was there for 1.136.1 and disappeared with 1.136.2

and https://stackoverflow.com/questions/50703177/cannot-compile-rust-code-on-macos-10-12-object-file-was-built-for-newer-osx-ver (via search "rust lipo Object file was built for newer version than being linked") points to some possible environment vars - EDIT: tried adding "export IPHONEOS_DEPLOYMENT_TARGET=8.0" atop of "Build Phases / Run Script" - no change

💫 maybe i wait just for another core update that let the warnings magically disappear as from 1.136.1 to 1.136.2 🪄🎩

from deltachat-ios.

link2xt avatar link2xt commented on July 30, 2024

Between 1.136.1 and 1.136.2 we downgraded cc crate to 1.0.83.
Now because of backtrace crate update we had to upgrade cc again, have to downgrade cc and backtrace then to get back to cc = 1.0.83.

from deltachat-ios.

r10s avatar r10s commented on July 30, 2024

thanks a lot for the info, this js very helpful!

i will have a closer look at the environment vars then

from deltachat-ios.

link2xt avatar link2xt commented on July 30, 2024

Just grepping over deltachat-ios repo shows many instances of IPHONEOS_DEPLOYMENT_TARGET = 12.0 in project.pbxproj file. Does it help if they are replaced?

from deltachat-ios.

link2xt avatar link2xt commented on July 30, 2024

I did a PR #2139 with a quick sed

from deltachat-ios.

link2xt avatar link2xt commented on July 30, 2024

I am trying to run the build core commit d39c8a3a19c29c31af5db208524ab1a749b309b6 on macOS with just cargo lipo.
Running:

unset MACOSX_DEPLOYMENT_TARGET
export IPHONEOS_DEPLOYMENT_TARGET=12.0
export CC_ENABLE_DEBUG_OUTPUT=1

It fails with this output:

  cargo:rerun-if-env-changed=RING_PREGENERATE_ASM
  cargo:rustc-env=RING_CORE_PREFIX=ring_core_0_17_8_
  OPT_LEVEL = Some("z")
  TARGET = Some("aarch64-apple-ios")
  HOST = Some("aarch64-apple-darwin")
  cargo:rerun-if-env-changed=CC_aarch64-apple-ios
  CC_aarch64-apple-ios = None
  cargo:rerun-if-env-changed=CC_aarch64_apple_ios
  CC_aarch64_apple_ios = None
  cargo:rerun-if-env-changed=TARGET_CC
  TARGET_CC = None
  cargo:rerun-if-env-changed=CC
  CC = Some("clang")
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("false")
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  running: "xcrun" "--show-sdk-platform-version" "--sdk" "iphoneos"
  exit status: 0
  Detecting iOS SDK path for iphoneos
  running: "xcrun" "--show-sdk-path" "--sdk" "iphoneos"
  exit status: 0
  cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-ios
  CFLAGS_aarch64-apple-ios = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_ios
  CFLAGS_aarch64_apple_ios = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  running: "clang" "-Oz" "-fPIC" "--target=aarch64-apple-ios" "-arch" "arm64" "-miphoneos-version-min=17.4" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk" "-I" "include" "-I" "/Users/bb/src/deltachat-ios/deltachat-ios/libraries/deltachat-core-rust/target/aarch64-apple-ios/debug/build/ring-8642e92c096d9736/out" "-Wall" "-Wextra" "-fvisibility=hidden" "-std=c1x" "-Wall" "-Wbad-function-cast" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wnested-externs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wstrict-prototypes" "-Wundef" "-Wuninitialized" "-g3" "-DNDEBUG" "-o" "/Users/bb/src/deltachat-ios/deltachat-ios/libraries/deltachat-core-rust/target/aarch64-apple-ios/debug/build/ring-8642e92c096d9736/out/fad98b632b8ce3cc-curve25519.o" "-c" "crypto/curve25519/curve25519.c"
  cargo:warning=clang-16: error: invalid argument '-mmacos-version-min=11.0' not allowed with '-miphoneos-version-min=17.4'
  cargo:warning=clang-16: warning: overriding '-mmacos-version-min=11.0' option with '--target=aarch64-apple-ios' [-Woverriding-t-option]
  exit status: 1

This is probably due to running in a Nix shell, will try to run without it as it wraps CC probably.

from deltachat-ios.

link2xt avatar link2xt commented on July 30, 2024

This looks like a problem is cargo-lipo, it explicitly removes IPHONEOS_DEPLOYMENT_TARGET from the environment:
https://github.com/TimNN/cargo-lipo/blob/d91325e62b78247c3d9b66b02c243eed63e58bdf/src/xcode.rs#L69-L75

from deltachat-ios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.