Circular dependency errors and root module errors should not block the rest of `tach check`
Right now, when we build the 'module tree' from the tach.toml configuration, we validate against circular dependencies and the expected root module treatment (if necessary). However, when these checks fail, we immediately return an error and render it in the CLI.
Instead, the tach check command should continue with a full scan for errors even when these validations fail. The validation errors can be displayed in their own segment of the error output.
Hey @emdoyle I can take this up.
Great, thanks! Some pretty significant changes merged recently, so make sure you are branched off of the latest main.
yes sure!
Hi @emdoyle
error: linking with `cc` failed: exit status: 1
|
= note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET -u XROS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/homebrew/Cellar/rust/1.84.1/lib/rustlib/aarch64-apple-darwin/bin....
...
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I am getting this error. I assumed it should be fixed after updating rust but still there. Can you please help?
@tiluckdave I am not an Apple Silicon so I won't be able to reproduce your situation, but my guess is that you are likely missing some system libraries. Unfortunately I don't know the full list that you'll need, but generally the linker output should reference specific symbols which you can then brew install.
For what it's worth, we build wheels for Apple Silicon using this runner image, so the software listed there must be sufficient (openssl and pkg-config, plus xcode development tools are all likely required).