-
Notifications
You must be signed in to change notification settings - Fork 44
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
Linking error when compiling with 'bundled_proj' feature on Apple Silicon #57
Comments
@michaelkirk Are you able to repro? |
Unfortunately, I'm armless for a while.
IIRC I think I hacked around that without solving it by disabling the tiff integration just to get it to build. I should have taken better notes... 😓 |
I had that output too, but IIRC that's not the critical error, but I could be mistaken. |
Ah you're right, that's just a warning |
I'm no longer having any issues building proj on aarch64. I'm going to close this, but feel free to open if you aren't able to build on arm+apple. |
I am seeing this error on apple silicon with When testing running I have both |
proj currently requires proj 8.1.0 as a link target, though that may not be the source of the current error. Does running cargo test --features bundled_proj give you the same error? |
Could you also please include the exact error output? |
running
note I have removed username $HOME path from the output |
my understanding is |
I feel it's very likely that I broke this with #92, sorry. I'm looking into an appropriate fix now... |
Hmm, I'm actually not able to reproduce your experience with proj 8.2 installed via homebrew on my aarch64. @highway900 would you mind including some more verbose output so we can better see what's going on? Run Output from my machine...
Also, if you have the time, it'd be interesting to verify if things work for you pre #93 - e.g. by building from 801f653. Can you also confirm that you're running aarch64 homebrew (from /opt/homebrew) and not the legacy rosetta version (from /usr/local)?
|
Ok this worked. Looks like a Definitely running |
95: Fix source build on aarch64/homebrew r=urschrei a=michaelkirk Slightly improves the situation at #57 On apple platforms, libtiff is not installed by the operating system. If the user has it installed, likely it was installed by homebrew. Previously, on x86, homebrew installed libs into /usr/lib which is in the default search path, but since aarch64, homebrew has moved libs to /opt/homebrew/lib. So now we use pkg-config to find the library. Potential problems: - Not everyone has pkg-config (e.g windows users, a few mac users) - Not everyone actually needs libtiff, only the network geotiff users, but we assume everyone needs it since most system installations include it. Note that proj enables tiff support by defeault, provided libtiff is found (using pkg-config? or something else?) This is a draft because some tests are currently failing for me on aarch64. I'm looking into it now... <details> <summary>failing test output</summary> <pre> geos: Invalid latitude geos: Invalid latitude "proj=pipeline step proj=unitconvert xy_in=us-ft xy_out=m step inv proj=lcc lat_0=32.1666666666667 lon_0=-116.25 lat_1=33.8833333333333 lat_2=32.7833333333333 x_0=2000000.0001016 y_0=500000.0001016 ellps=GRS80 step proj=lcc lat_0=32.1666666666667 lon_0=-116.25 lat_1=33.8833333333333 lat_2=32.7833333333333 x_0=2000000 y_0=500000 ellps=GRS80" proj_create: unrecognized format / unknown name assert_relative_eq!(t.x(), 0.43633200013698786) left = NaN right = 0.43633200013698786 thread 'proj::test::test_inverse_projection' panicked at 'assert_relative_eq!(t.x(), 0.43633200013698786) left = NaN right = 0.43633200013698786 ', src/proj.rs:1069:9 stack backtrace: 0: rust_begin_unwind at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:517:5 1: std::panicking::begin_panic_fmt at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:460:5 2: proj::proj::test::test_inverse_projection at ./src/proj.rs:1069:9 3: proj::proj::test::test_inverse_projection::{{closure}} at ./src/proj.rs:1059:5 4: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 5: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. assert_relative_eq!(t.x(), 0.0023755864830313977) left = NaN right = 0.0023755864830313977 thread 'proj::test::test_london_inverse' panicked at 'assert_relative_eq!(t.x(), 0.0023755864830313977) left = NaN right = 0.0023755864830313977 ', src/proj.rs:1086:9 stack backtrace: 0: rust_begin_unwind at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:517:5 1: std::panicking::begin_panic_fmt at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:460:5 2: proj::proj::test::test_london_inverse at ./src/proj.rs:1086:9 3: proj::proj::test::test_london_inverse::{{closure}} at ./src/proj.rs:1074:5 4: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 5: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. assert_relative_eq!(t.x(), 500119.7035366755, epsilon = 1e-5) left = NaN right = 500119.7035366755 thread 'proj::test::test_projection' panicked at 'assert_relative_eq!(t.x(), 500119.7035366755, epsilon = 1e-5) left = NaN right = 500119.7035366755 ', src/proj.rs:1054:9 stack backtrace: 0: rust_begin_unwind at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:517:5 1: std::panicking::begin_panic_fmt at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:460:5 2: proj::proj::test::test_projection at ./src/proj.rs:1054:9 3: proj::proj::test::test_projection::{{closure}} at ./src/proj.rs:1044:5 4: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 5: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. thread 'proj::test::test_searchpath' panicked at 'assertion failed: `(left == right)` left: `"/Users/mkirk/src/georust/proj/target/debug/build/proj-sys-1e3a03028e94a7d6/out/share/proj"`, right: `"/foo"`', src/proj.rs:1016:9 stack backtrace: 0: rust_begin_unwind at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:517:5 1: core::panicking::panic_fmt at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/panicking.rs:101:14 2: core::panicking::assert_failed_inner 3: core::panicking::assert_failed at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/panicking.rs:140:5 4: proj::proj::test::test_searchpath at ./src/proj.rs:1016:9 5: proj::proj::test::test_searchpath::{{closure}} at ./src/proj.rs:1010:5 6: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 7: core::ops::function::FnOnce::call_once at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:227:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. </pre> </details> Co-authored-by: Michael Kirk <michael.code@endoftheworl.de>
Hit the same issue today, |
This seems to be the line it's struggling with:
proj/proj-sys/build.rs
Lines 107 to 110 in 3c33538
The text was updated successfully, but these errors were encountered: