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

Installation with R #2

Closed
Robinlovelace opened this issue Dec 21, 2024 · 10 comments
Closed

Installation with R #2

Robinlovelace opened this issue Dec 21, 2024 · 10 comments

Comments

@Robinlovelace
Copy link
Contributor

Heads-up that I just hit an error trying to install it. It installed fine on another machine, the bug seems unrelated to anime (it's the geoarrow crate that fails to compile by the looks) but just posting here to document my experience on Linux.

remotes::install_github("josiahparry/anime", subdir = "r")
Using github PAT from envvar GITHUB_PAT. Use `gitcreds::gitcreds_set()` and unset GITHUB_PAT in .Renviron (or elsewhere) if you want to use the more secure git credential store instead.
Downloading GitHub repo josiahparry/anime@HEAD
── R CMD build ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/tmp/RtmpnrTyK8/remotes6e4c831fe1a7e/JosiahParry-anime-9573417/r/DESCRIPTION’ ...
─  preparing ‘anime’:
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  checking for LF line-endings in source and make files and shell scripts
─  checking for empty or unneeded directories
─  building ‘anime_0.0.0.9000.tar.gz’
   
Installing package into ‘/home/robin/R/x86_64-pc-linux-gnu-library/4.4’
(as ‘lib’ is unspecified)
* installing *source* package ‘anime’ ...
** using staged installation
Using cargo 1.85.0-nightly (99dff6d77 2024-12-18)
Using rustc 1.85.0-nightly (5f23ef7d3 2024-12-20)
** libs
using C compiler: ‘gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’
rm -Rf anime.so ./rust/target/release/libanime.a entrypoint.o
gcc -I"/usr/share/R/include" -DNDEBUG       -fpic  -g -O2 -ffile-prefix-map=/build/r-base-6tgf7J/r-base-4.4.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -c entrypoint.c -o entrypoint.o
# Check if NOT_CRAN is false and unzip vendor.tar.xz if so
if [ "" != "true" ]; then \
	if [ -f ./rust/vendor.tar.xz ]; then \
		tar xf rust/vendor.tar.xz && \
		mkdir -p /tmp/Rtmpl1jpMq/R.INSTALL731ef76ac5233/anime/src/.cargo && \
		cp rust/vendor-config.toml /tmp/Rtmpl1jpMq/R.INSTALL731ef76ac5233/anime/src/.cargo/config.toml; \
	fi; \
fi
export CARGO_HOME=/tmp/Rtmpl1jpMq/R.INSTALL731ef76ac5233/anime/src/.cargo && \
export PATH="/home/robin/.nvm/versions/node/v18.12.0/bin:/home/robin/.juliaup/bin:/home/robin/.pixi/bin:/home/robin/.gvm/bin:/home/robin/.deno/bin:/home/robin/.juliaup/bin:/home/robin/.cargo/bin:/home/robin/.local/bin:/home/robin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/robin/.pixi/bin:/usr/share/code/bin:/home/robin/.cargo/bin" && \
RUSTFLAGS=" --print=native-static-libs" cargo build  --lib --release --manifest-path=./rust/Cargo.toml --target-dir ./rust/target
    Updating git repository `https://github.com/extendr/extendr`
    Updating crates.io index
  Downloaded approx v0.5.1
  Downloaded ahash v0.8.11
  Downloaded const-random v0.1.18
  Downloaded atoi v2.0.0
  Downloaded crunchy v0.2.2
  Downloaded chrono-tz-build v0.3.0
  Downloaded cfg-if v1.0.0
  Downloaded static_assertions v1.1.0
  Downloaded equivalent v1.0.1
  Downloaded tinyvec_macros v0.1.1
  Downloaded stable_deref_trait v1.2.0
  Downloaded thiserror v1.0.65
  Downloaded tiny-keccak v2.0.2
  Downloaded float_next_after v1.0.0
  Downloaded const-random-macro v0.1.16
  Downloaded phf_macros v0.11.2
  Downloaded thiserror-impl v1.0.65
  Downloaded allocator-api2 v0.2.21
  Downloaded arrow-arith v52.2.0
  Downloaded rstar v0.11.0
  Downloaded spin v0.9.8
  Downloaded siphasher v0.3.11
  Downloaded scopeguard v1.2.0
  Downloaded rustc_version v0.4.1
  Downloaded toml_datetime v0.6.8
  Downloaded arrow_extendr v52.0.0
  Downloaded smallvec v1.13.2
  Downloaded anime v0.1.2
  Downloaded semver v1.0.24
  Downloaded tinyvec v1.8.0
  Downloaded bitflags v1.3.2
  Downloaded autocfg v1.4.0
  Downloaded version_check v0.9.5
  Downloaded serde_derive v1.0.210
  Downloaded unicode-ident v1.0.12
  Downloaded hash32 v0.2.1
  Downloaded either v1.13.0
  Downloaded ryu v1.0.18
  Downloaded hash32 v0.3.1
  Downloaded serde v1.0.210
  Downloaded lazy_static v1.5.0
  Downloaded itoa v1.0.14
  Downloaded phf_generator v0.11.2
  Downloaded byteorder v1.5.0
  Downloaded phf v0.11.2
  Downloaded phf_codegen v0.11.2
  Downloaded rand_core v0.6.4
  Downloaded phf_shared v0.11.2
  Downloaded toml_edit v0.22.22
  Downloaded proc-macro-crate v3.2.0
  Downloaded num-iter v0.1.45
  Downloaded csv-core v0.1.11
  Downloaded flatbuffers v24.3.25
  Downloaded num-integer v0.1.46
  Downloaded num v0.4.3
  Downloaded num_enum_derive v0.7.3
  Downloaded num_enum v0.7.3
  Downloaded serde_json v1.0.133
  Downloaded arrow-string v52.2.0
  Downloaded zerocopy v0.7.35
  Downloaded winnow v0.6.20
  Downloaded syn v2.0.50
  Downloaded getrandom v0.2.15
  Downloaded geo-types v0.7.14
  Downloaded spade v2.12.1
  Downloaded paste v1.0.14
  Downloaded iana-time-zone v0.1.61
  Downloaded lexical-parse-integer v0.8.6
  Downloaded lexical-core v0.8.5
  Downloaded quote v1.0.35
  Downloaded once_cell v1.19.0
  Downloaded lock_api v0.4.12
  Downloaded num-rational v0.4.2
  Downloaded arrow-row v52.2.0
  Downloaded arrow-schema v52.2.0
  Downloaded arrow-csv v52.2.0
  Downloaded bytemuck v1.20.0
  Downloaded bitflags v2.6.0
  Downloaded arrow-select v52.2.0
  Downloaded geo-index v0.1.1
  Downloaded geographiclib-rs v0.2.4
  Downloaded half v2.4.1
  Downloaded proc-macro2 v1.0.78
  Downloaded num-complex v0.4.6
  Downloaded lexical-write-integer v0.8.5
  Downloaded rstar v0.12.2
  Downloaded arrow-json v52.2.0
  Downloaded arrow-data v52.2.0
  Downloaded arrow-ord v52.2.0
  Downloaded arrow-buffer v52.2.0
  Downloaded bytes v1.9.0
  Downloaded num-traits v0.2.19
  Downloaded log v0.4.22
  Downloaded base64 v0.22.1
  Downloaded heapless v0.8.0
  Downloaded indexmap v2.7.0
  Downloaded heapless v0.7.17
  Downloaded rand v0.8.5
  Downloaded lexical-util v0.8.5
  Downloaded arrow v52.2.0
  Downloaded arrow-ipc v52.2.0
  Downloaded num-bigint v0.4.6
  Downloaded lexical-write-float v0.8.5
  Downloaded memchr v2.7.4
  Downloaded arrow-cast v52.2.0
  Downloaded parse-zoneinfo v0.3.1
  Downloaded libm v0.2.11
  Downloaded itertools v0.11.0
  Downloaded itertools v0.12.1
  Downloaded hashbrown v0.14.5
  Downloaded hashbrown v0.15.2
  Downloaded aho-corasick v1.1.3
  Downloaded lexical-parse-float v0.8.5
  Downloaded arrow-array v52.2.0
  Downloaded chrono v0.4.39
  Downloaded geo v0.28.0
  Downloaded geo v0.27.0
  Downloaded regex v1.11.1
  Downloaded chrono-tz v0.9.0
  Downloaded regex-syntax v0.8.5
  Downloaded robust v1.1.0
  Downloaded earcutr v0.4.3
  Downloaded regex-automata v0.4.9
  Downloaded libR-sys v0.7.1
  Downloaded libc v0.2.169
  Downloaded csv v1.3.1
  Downloaded geoarrow v0.3.0
  Downloaded 127 crates (16.5 MB) in 20.43s (largest was `geoarrow` at 4.7 MB)
   Compiling autocfg v1.4.0
   Compiling libm v0.2.11
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling siphasher v0.3.11
   Compiling cfg-if v1.0.0
   Compiling rand_core v0.6.4
   Compiling libc v0.2.169
   Compiling version_check v0.9.5
   Compiling once_cell v1.19.0
   Compiling regex-syntax v0.8.5
   Compiling zerocopy v0.7.35
   Compiling semver v1.0.24
   Compiling allocator-api2 v0.2.21
   Compiling bytes v1.9.0
   Compiling bitflags v2.6.0
   Compiling iana-time-zone v0.1.61
   Compiling rand v0.8.5
   Compiling phf_shared v0.11.2
   Compiling arrow-schema v52.2.0
   Compiling phf v0.11.2
   Compiling ahash v0.8.11
   Compiling static_assertions v1.1.0
   Compiling memchr v2.7.4
   Compiling num-traits v0.2.19
   Compiling rustc_version v0.4.1
   Compiling lexical-util v0.8.5
   Compiling byteorder v1.5.0
   Compiling lock_api v0.4.12
   Compiling stable_deref_trait v1.2.0
   Compiling ryu v1.0.18
   Compiling serde v1.0.210
   Compiling scopeguard v1.2.0
   Compiling quote v1.0.35
   Compiling heapless v0.7.17
   Compiling phf_generator v0.11.2
   Compiling smallvec v1.13.2
   Compiling phf_codegen v0.11.2
   Compiling heapless v0.8.0
   Compiling syn v2.0.50
   Compiling hash32 v0.3.1
   Compiling hash32 v0.2.1
   Compiling itoa v1.0.14
   Compiling spin v0.9.8
   Compiling aho-corasick v1.1.3
   Compiling either v1.13.0
   Compiling base64 v0.22.1
   Compiling lexical-write-integer v0.8.5
   Compiling lexical-parse-integer v0.8.6
   Compiling getrandom v0.2.15
   Compiling flatbuffers v24.3.25
   Compiling lexical-parse-float v0.8.5
   Compiling lexical-write-float v0.8.5
   Compiling serde_json v1.0.133
   Compiling equivalent v1.0.1
   Compiling hashbrown v0.15.2
   Compiling hashbrown v0.14.5
   Compiling itertools v0.11.0
   Compiling num-integer v0.1.46
   Compiling regex-automata v0.4.9
   Compiling num-complex v0.4.6
   Compiling half v2.4.1
   Compiling num-bigint v0.4.6
   Compiling num-iter v0.1.45
   Compiling chrono v0.4.39
   Compiling lexical-core v0.8.5
   Compiling atoi v2.0.0
   Compiling rstar v0.11.0
   Compiling rstar v0.12.2
   Compiling approx v0.5.1
   Compiling csv-core v0.1.11
   Compiling indexmap v2.7.0
   Compiling winnow v0.6.20
   Compiling toml_datetime v0.6.8
   Compiling libR-sys v0.7.1
   Compiling float_next_after v1.0.0
   Compiling robust v1.1.0
   Compiling bitflags v1.3.2
   Compiling geo-types v0.7.14
   Compiling geographiclib-rs v0.2.4
   Compiling paste v1.0.14
   Compiling spade v2.12.1
   Compiling log v0.4.22
   Compiling thiserror v1.0.65
   Compiling lazy_static v1.5.0
   Compiling regex v1.11.1
   Compiling num-rational v0.4.2
   Compiling earcutr v0.4.3
   Compiling tinyvec_macros v0.1.1
   Compiling extendr-api v0.7.1 (https://github.com/extendr/extendr?rev=2c2749f5e9d13d5628399c8779c47d420246a4a1#2c2749f5)
   Compiling tinyvec v1.8.0
   Compiling num v0.4.3
   Compiling arrow-buffer v52.2.0
   Compiling parse-zoneinfo v0.3.1
   Compiling chrono-tz-build v0.3.0
   Compiling bytemuck v1.20.0
   Compiling itertools v0.12.1
   Compiling chrono-tz v0.9.0
   Compiling arrow-data v52.2.0
   Compiling toml_edit v0.22.22
   Compiling geo v0.28.0
   Compiling geo v0.27.0
   Compiling phf_macros v0.11.2
   Compiling serde_derive v1.0.210
   Compiling thiserror-impl v1.0.65
   Compiling extendr-macros v0.7.1 (https://github.com/extendr/extendr?rev=2c2749f5e9d13d5628399c8779c47d420246a4a1#2c2749f5)
   Compiling proc-macro-crate v3.2.0
   Compiling geo-index v0.1.1
   Compiling num_enum_derive v0.7.3
   Compiling num_enum v0.7.3
   Compiling anime v0.1.2
   Compiling arrow-array v52.2.0
note: Link against the following native artifacts when linking against this static library. The order and any duplication can be significant on some platforms.

note: native-static-libs: -lc -lm -lrt -lpthread -lgcc_s -lutil -lrt -lpthread -lm -ldl -lc

   Compiling csv v1.3.1
   Compiling arrow-select v52.2.0
   Compiling arrow-arith v52.2.0
   Compiling arrow-row v52.2.0
   Compiling arrow-cast v52.2.0
   Compiling arrow-string v52.2.0
   Compiling arrow-ord v52.2.0
   Compiling arrow-csv v52.2.0
   Compiling arrow-json v52.2.0
   Compiling arrow-ipc v52.2.0
   Compiling arrow v52.2.0
   Compiling geoarrow v0.3.0
error[E0275]: overflow evaluating the requirement `<impl GeometryTrait<T = f64> as geo_traits::geometry::GeometryTrait>::GeometryCollection<'_>: geo_traits::geometry_collection::GeometryCollectionTrait`
    |
    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`geoarrow`)
note: required for `GeometryCollectionIterator<'_, f64, ..., ...>` to implement `Iterator`
   --> /tmp/Rtmpl1jpMq/R.INSTALL731ef76ac5233/anime/src/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/geoarrow-0.3.0/src/geo_traits/iterator.rs:39:15
    |
37  |                   ItemType: 'a + $item_trait<T = T>,
    |                                              ----- unsatisfied trait bound introduced here
38  |                   G: $self_trait<T = T, ItemType<'a> = ItemType>,
39  |               > Iterator for $struct_name<'a, T, ItemType, G>
    |                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
109 | / impl_iterator!(
110 | |     GeometryCollectionIterator,
111 | |     GeometryCollectionTrait,
112 | |     GeometryTrait,
113 | |     geometry_unchecked
114 | | );
    | |_- in this macro invocation
    = note: required for `GeometryCollectionIterator<'_, f64, ..., ...>` to implement `IntoIterator`
    = note: the full name for the type has been written to '/tmp/Rtmpl1jpMq/R.INSTALL731ef76ac5233/anime/src/./rust/target/release/deps/geoarrow-7c9d87aa648593d0.long-type-16089791336268968929.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the macro `impl_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0275`.
error: could not compile `geoarrow` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
make: *** [Makevars:26: rust/target/release/libanime.a] Error 101
ERROR: compilation failed for package ‘anime’
* removing ‘/home/robin/R/x86_64-pc-linux-gnu-library/4.4/anime’
Warning message:
In i.p(...) :
  installation of package ‘/tmp/RtmpnrTyK8/file6e4c864cca5de/anime_0.0.0.9000.tar.gz’ had non-zero exit status

Great to see this package out there, happy to help with R bindings + docs + writeup!

@JosiahParry
Copy link
Owner

It is always worth trying to track the bug to the source. In this case the issue isn't here with this crate but rather with geoarrow see: geoarrow/geoarrow-rs#716

I'm unsure what the solution is as this is a compiler bug. I don't have more time to dedicate to this right now

@Robinlovelace
Copy link
Contributor Author

I closed it as I assumed it was an issue with the geoarrow crate but on further investigation it seems to be related to the R package: the Rust crate installs fine with

cargo build

in the rust folder but it fails with

pak::pkg_install("josiahparry/anime/r")

If someone else can reproduce the steps above that will help diagnose the root cause, I wonder whether it's platform-specific.

@Robinlovelace Robinlovelace reopened this Dec 21, 2024
@Robinlovelace
Copy link
Contributor Author

Robinlovelace commented Dec 21, 2024

Details in case of use/interest for anyone else, happy to try something else, apologies if I've missed something:

cargo build
    Updating crates.io index
  Downloaded byteorder v1.5.0
  Downloaded float_next_after v1.0.0
  Downloaded ahash v0.8.7
  Downloaded cfg-if v1.0.0
  Downloaded approx v0.5.1
  Downloaded autocfg v1.1.0
  Downloaded scopeguard v1.2.0
  Downloaded rustc_version v0.4.0
  Downloaded lazy_static v1.4.0
  Downloaded version_check v0.9.4
  Downloaded lock_api v0.4.11
  Downloaded hash32 v0.2.1
  Downloaded allocator-api2 v0.2.16
  Downloaded stable_deref_trait v1.2.0
  Downloaded either v1.9.0
  Downloaded spin v0.9.8
  Downloaded rstar v0.11.0
  Downloaded once_cell v1.19.0
  Downloaded smallvec v1.13.1
  Downloaded unicode-ident v1.0.12
  Downloaded semver v1.0.21
  Downloaded quote v1.0.35
  Downloaded serde_derive v1.0.196
  Downloaded proc-macro2 v1.0.78
  Downloaded num-traits v0.2.17
  Downloaded log v0.4.20
  Downloaded serde v1.0.196
  Downloaded heapless v0.7.17
  Downloaded itertools v0.11.0
  Downloaded hashbrown v0.14.3
  Downloaded zerocopy v0.7.32
  Downloaded libm v0.2.8
  Downloaded syn v2.0.48
  Downloaded geo v0.27.0
  Downloaded spade v2.6.0
  Downloaded robust v1.1.0
  Downloaded earcutr v0.4.3
  Downloaded geographiclib-rs v0.2.3
  Downloaded geo-types v0.7.12
  Downloaded 39 crates (3.5 MB) in 0.93s
   Compiling autocfg v1.1.0
   Compiling semver v1.0.21
   Compiling libm v0.2.8
   Compiling version_check v0.9.4
   Compiling scopeguard v1.2.0
   Compiling byteorder v1.5.0
   Compiling stable_deref_trait v1.2.0
   Compiling once_cell v1.19.0
   Compiling cfg-if v1.0.0
   Compiling zerocopy v0.7.32
   Compiling smallvec v1.13.1
   Compiling allocator-api2 v0.2.16
   Compiling either v1.9.0
   Compiling lazy_static v1.4.0
   Compiling robust v1.1.0
   Compiling log v0.4.20
   Compiling float_next_after v1.0.0
   Compiling geographiclib-rs v0.2.3
   Compiling itertools v0.11.0
   Compiling hash32 v0.2.1
   Compiling ahash v0.8.7
   Compiling num-traits v0.2.17
   Compiling lock_api v0.4.11
   Compiling rustc_version v0.4.0
   Compiling spin v0.9.8
   Compiling hashbrown v0.14.3
   Compiling heapless v0.7.17
   Compiling approx v0.5.1
   Compiling spade v2.6.0
   Compiling rstar v0.11.0
   Compiling earcutr v0.4.3
   Compiling geo-types v0.7.12
   Compiling geo v0.27.0
   Compiling anime v0.1.2 (/home/robin/github/people/josiahparry/anime/rust)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.89s
➜  rust git:(main) R

R version 4.4.2 (2024-10-31) -- "Pile of Leaves"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> pak::pkg_install("josiahparry/anime/r")
✔ Updated metadata database: 2.83 MB in 5 files.                          
✔ Updating metadata database ... done                                     
                                                                          
→ Will install 1 package.
→ The package (0 B) is cached.
+ anime   0.0.0.9000 [bld][cmp] (GitHub: 9573417) + ✔ rustc, ✔ cargo
✔ All system requirements are already installed.
  
ℹ No downloads are needed, 1 pkg is cached
✔ Got anime 0.0.0.9000 (source) (23.73 MB)
ℹ Packaging anime 0.0.0.9000
✔ Packaged anime 0.0.0.9000 (1.2s)                              
ℹ Building anime 0.0.0.9000                                     
✖ Failed to build anime 0.0.0.9000 (1m 12.8s)                   
Error:                                                          
! error in pak subprocess
Caused by error in `stop_task_build(state, worker)`:
! Failed to build source package anime.
Full installation output:
* installing *source* package ‘anime’ ...
staged installation is only possible with locking
** using non-staged installation
Using cargo 1.85.0-nightly (99dff6d77 2024-12-18)
Using rustc 1.85.0-nightly (5f23ef7d3 2024-12-20)
** libs
using C compiler: ‘gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’
rm -Rf anime.so ./rust/target/release/libanime.a entrypoint.o
gcc -I"/usr/share/R/include" -DNDEBUG       -fpic  -g -O2 -ffile-prefix-map=/build/r-base-6tgf7J/r-base-4.4.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wall -pedantic -fdiagnostics-color=always -c entrypoint.c -o entrypoint.o
# Check if NOT_CRAN is false and unzip vendor.tar.xz if so
if [ "" != "true" ]; then \
	if [ -f ./rust/vendor.tar.xz ]; then \
		tar xf rust/vendor.tar.xz && \
		mkdir -p /tmp/RtmpR3chsP/R.INSTALL9562a53dd6794/anime/src/.cargo && \
		cp rust/vendor-config.toml /tmp/RtmpR3chsP/R.INSTALL9562a53dd6794/anime/src/.cargo/config.toml; \
	fi; \
fi
export CARGO_HOME=/tmp/RtmpR3chsP/R.INSTALL9562a53dd6794/anime/src/.cargo && \
export PATH="/home/robin/.nvm/versions/node/v18.12.0/bin:/home/robin/.juliaup/bin:/home/robin/.pixi/bin:/home/robin/.gvm/bin:/home/robin/.deno/bin:/home/robin/.juliaup/bin:/home/robin/.cargo/bin:/home/robin/.local/bin:/home/robin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/robin/.pixi/bin:/usr/share/code/bin:/home/robin/.cargo/bin" && \
RUSTFLAGS=" --print=native-static-libs" cargo build  --lib --release --manifest-path=./rust/Cargo.toml --target-dir ./rust/target
    Updating git repository `https://github.com/extendr/extendr`
    Updating crates.io index
 Downloading crates ...
  Downloaded anime v0.1.2
  Downloaded arrow-json v52.2.0
  Downloaded cfg-if v1.0.0
  Downloaded semver v1.0.24
  Downloaded crunchy v0.2.2
  Downloaded chrono-tz-build v0.3.0
  Downloaded tinyvec_macros v0.1.1
  Downloaded thiserror-impl v1.0.65
  Downloaded const-random v0.1.18
  Downloaded arrow_extendr v52.0.0
  Downloaded const-random-macro v0.1.16
  Downloaded atoi v2.0.0
  Downloaded float_next_after v1.0.0
  Downloaded stable_deref_trait v1.2.0
  Downloaded scopeguard v1.2.0
  Downloaded phf_macros v0.11.2
  Downloaded equivalent v1.0.1
  Downloaded approx v0.5.1
  Downloaded byteorder v1.5.0
  Downloaded autocfg v1.4.0
  Downloaded bitflags v1.3.2
  Downloaded version_check v0.9.5
  Downloaded phf_codegen v0.11.2
  Downloaded hash32 v0.3.1
  Downloaded phf v0.11.2
  Downloaded lazy_static v1.5.0
  Downloaded itoa v1.0.14
  Downloaded num_enum v0.7.3
  Downloaded rand_core v0.6.4
  Downloaded phf_generator v0.11.2
  Downloaded phf_shared v0.11.2
  Downloaded num-integer v0.1.46
  Downloaded arrow-csv v52.2.0
  Downloaded rustc_version v0.4.1
  Downloaded thiserror v1.0.65
  Downloaded siphasher v0.3.11
  Downloaded toml_datetime v0.6.8
  Downloaded static_assertions v1.1.0
  Downloaded hash32 v0.2.1
  Downloaded num-rational v0.4.2
  Downloaded flatbuffers v24.3.25
  Downloaded csv-core v0.1.11
  Downloaded arrow-schema v52.2.0
  Downloaded arrow-row v52.2.0
  Downloaded getrandom v0.2.15
  Downloaded arrow-arith v52.2.0
  Downloaded proc-macro-crate v3.2.0
  Downloaded paste v1.0.14
  Downloaded either v1.13.0
  Downloaded arrow-string v52.2.0
  Downloaded tiny-keccak v2.0.2
  Downloaded smallvec v1.13.2
  Downloaded quote v1.0.35
  Downloaded once_cell v1.19.0
  Downloaded iana-time-zone v0.1.61
  Downloaded lock_api v0.4.12
  Downloaded arrow-data v52.2.0
  Downloaded spin v0.9.8
  Downloaded proc-macro2 v1.0.78
  Downloaded num_enum_derive v0.7.3
  Downloaded lexical-write-integer v0.8.5
  Downloaded half v2.4.1
  Downloaded tinyvec v1.8.0
  Downloaded serde_derive v1.0.210
  Downloaded ryu v1.0.18
  Downloaded unicode-ident v1.0.12
  Downloaded geo-types v0.7.14
  Downloaded bytemuck v1.20.0
  Downloaded arrow-ord v52.2.0
  Downloaded ahash v0.8.11
  Downloaded arrow v52.2.0
  Downloaded geo-index v0.1.1
  Downloaded num-complex v0.4.6
  Downloaded serde v1.0.210
  Downloaded lexical-parse-integer v0.8.6
  Downloaded toml_edit v0.22.22
  Downloaded zerocopy v0.7.35
  Downloaded rstar v0.12.2
  Downloaded num-traits v0.2.19
  Downloaded winnow v0.6.20
  Downloaded rand v0.8.5
  Downloaded syn v2.0.50
  Downloaded parse-zoneinfo v0.3.1
  Downloaded libm v0.2.11
  Downloaded itertools v0.11.0
  Downloaded itertools v0.12.1
  Downloaded spade v2.12.1
  Downloaded hashbrown v0.14.5
  Downloaded lexical-parse-float v0.8.5
  Downloaded arrow-array v52.2.0
  Downloaded aho-corasick v1.1.3
  Downloaded hashbrown v0.15.2
  Downloaded regex v1.11.1
  Downloaded geo v0.28.0
  Downloaded chrono v0.4.39
  Downloaded lexical-write-float v0.8.5
  Downloaded num-bigint v0.4.6
  Downloaded regex-syntax v0.8.5
  Downloaded chrono-tz v0.9.0
  Downloaded memchr v2.7.4
  Downloaded heapless v0.8.0
  Downloaded arrow-ipc v52.2.0
  Downloaded serde_json v1.0.133
  Downloaded robust v1.1.0
  Downloaded lexical-util v0.8.5
  Downloaded indexmap v2.7.0
  Downloaded heapless v0.7.17
  Downloaded base64 v0.22.1
  Downloaded arrow-cast v52.2.0
  Downloaded log v0.4.22
  Downloaded regex-automata v0.4.9
  Downloaded bytes v1.9.0
  Downloaded earcutr v0.4.3
  Downloaded libR-sys v0.7.1
  Downloaded bitflags v2.6.0
  Downloaded rstar v0.11.0
  Downloaded arrow-buffer v52.2.0
  Downloaded libc v0.2.169
  Downloaded allocator-api2 v0.2.21
  Downloaded geographiclib-rs v0.2.4
  Downloaded arrow-select v52.2.0
  Downloaded lexical-core v0.8.5
  Downloaded csv v1.3.1
  Downloaded num-iter v0.1.45
  Downloaded num v0.4.3
  Downloaded geo v0.27.0
  Downloaded geoarrow v0.3.0
   Compiling autocfg v1.4.0
   Compiling libm v0.2.11
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling siphasher v0.3.11
   Compiling cfg-if v1.0.0
   Compiling rand_core v0.6.4
   Compiling libc v0.2.169
   Compiling version_check v0.9.5
   Compiling once_cell v1.19.0
   Compiling regex-syntax v0.8.5
   Compiling zerocopy v0.7.35
   Compiling allocator-api2 v0.2.21
   Compiling semver v1.0.24
   Compiling bitflags v2.6.0
   Compiling bytes v1.9.0
   Compiling iana-time-zone v0.1.61
   Compiling rand v0.8.5
   Compiling phf_shared v0.11.2
   Compiling arrow-schema v52.2.0
   Compiling ahash v0.8.11
   Compiling phf v0.11.2
   Compiling num-traits v0.2.19
   Compiling static_assertions v1.1.0
   Compiling memchr v2.7.4
   Compiling byteorder v1.5.0
   Compiling lock_api v0.4.12
   Compiling ryu v1.0.18
   Compiling rustc_version v0.4.1
   Compiling lexical-util v0.8.5
   Compiling serde v1.0.210
   Compiling scopeguard v1.2.0
   Compiling stable_deref_trait v1.2.0
   Compiling quote v1.0.35
   Compiling heapless v0.7.17
   Compiling smallvec v1.13.2
   Compiling heapless v0.8.0
   Compiling syn v2.0.50
   Compiling phf_generator v0.11.2
   Compiling hash32 v0.2.1
   Compiling hash32 v0.3.1
   Compiling phf_codegen v0.11.2
   Compiling either v1.13.0
   Compiling lexical-write-integer v0.8.5
   Compiling lexical-parse-integer v0.8.6
   Compiling spin v0.9.8
   Compiling base64 v0.22.1
   Compiling itoa v1.0.14
   Compiling flatbuffers v24.3.25
   Compiling lexical-write-float v0.8.5
   Compiling aho-corasick v1.1.3
   Compiling lexical-parse-float v0.8.5
   Compiling getrandom v0.2.15
   Compiling equivalent v1.0.1
   Compiling hashbrown v0.15.2
   Compiling num-integer v0.1.46
   Compiling num-complex v0.4.6
   Compiling hashbrown v0.14.5
   Compiling num-bigint v0.4.6
   Compiling regex-automata v0.4.9
   Compiling num-iter v0.1.45
   Compiling half v2.4.1
   Compiling chrono v0.4.39
   Compiling lexical-core v0.8.5
   Compiling atoi v2.0.0
   Compiling serde_json v1.0.133
   Compiling rstar v0.11.0
   Compiling indexmap v2.7.0
   Compiling rstar v0.12.2
   Compiling approx v0.5.1
   Compiling itertools v0.11.0
   Compiling csv-core v0.1.11
   Compiling robust v1.1.0
   Compiling float_next_after v1.0.0
   Compiling libR-sys v0.7.1
   Compiling bitflags v1.3.2
   Compiling winnow v0.6.20
   Compiling toml_datetime v0.6.8
   Compiling spade v2.12.1
   Compiling geo-types v0.7.14
   Compiling geographiclib-rs v0.2.4
   Compiling thiserror v1.0.65
   Compiling num-rational v0.4.2
   Compiling log v0.4.22
   Compiling paste v1.0.14
   Compiling lazy_static v1.5.0
   Compiling extendr-api v0.7.1 (https://github.com/extendr/extendr?rev=2c2749f5e9d13d5628399c8779c47d420246a4a1#2c2749f5)
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.8.0
   Compiling num v0.4.3
   Compiling arrow-buffer v52.2.0
   Compiling bytemuck v1.20.0
   Compiling regex v1.11.1
   Compiling arrow-data v52.2.0
   Compiling earcutr v0.4.3
   Compiling parse-zoneinfo v0.3.1
   Compiling geo v0.27.0
   Compiling geo v0.28.0
   Compiling itertools v0.12.1
   Compiling chrono-tz-build v0.3.0
   Compiling toml_edit v0.22.22
   Compiling chrono-tz v0.9.0
   Compiling phf_macros v0.11.2
   Compiling serde_derive v1.0.210
   Compiling thiserror-impl v1.0.65
   Compiling extendr-macros v0.7.1 (https://github.com/extendr/extendr?rev=2c2749f5e9d13d5628399c8779c47d420246a4a1#2c2749f5)
   Compiling proc-macro-crate v3.2.0
   Compiling geo-index v0.1.1
   Compiling anime v0.1.2
   Compiling num_enum_derive v0.7.3
note: Link against the following native artifacts when linking against this static library. The order and any duplication can be significant on some platforms.

   Compiling arrow-array v52.2.0
note: native-static-libs: -lc -lm -lrt -lpthread -lgcc_s -lutil -lrt -lpthread -lm -ldl -lc

   Compiling num_enum v0.7.3
   Compiling arrow-select v52.2.0
   Compiling arrow-row v52.2.0
   Compiling arrow-arith v52.2.0
   Compiling csv v1.3.1
   Compiling arrow-cast v52.2.0
   Compiling arrow-ord v52.2.0
   Compiling arrow-string v52.2.0
   Compiling arrow-csv v52.2.0
   Compiling arrow-ipc v52.2.0
   Compiling arrow-json v52.2.0
   Compiling arrow v52.2.0
   Compiling geoarrow v0.3.0
error[E0275]: overflow evaluating the requirement `<impl GeometryTrait<T = f64> as geo_traits::geometry::GeometryTrait>::GeometryCollection<'_>: geo_traits::geometry_collection::GeometryCollectionTrait`
    |
    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`geoarrow`)
note: required for `GeometryCollectionIterator<'_, f64, ..., ...>` to implement `Iterator`
   --> /tmp/RtmpR3chsP/R.INSTALL9562a53dd6794/anime/src/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/geoarrow-0.3.0/src/geo_traits/iterator.rs:39:15
    |
37  |                   ItemType: 'a + $item_trait<T = T>,
    |                                              ----- unsatisfied trait bound introduced here
38  |                   G: $self_trait<T = T, ItemType<'a> = ItemType>,
39  |               > Iterator for $struct_name<'a, T, ItemType, G>
    |                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
109 | / impl_iterator!(
110 | |     GeometryCollectionIterator,
111 | |     GeometryCollectionTrait,
112 | |     GeometryTrait,
113 | |     geometry_unchecked
114 | | );
    | |_- in this macro invocation
    = note: required for `GeometryCollectionIterator<'_, f64, ..., ...>` to implement `IntoIterator`
    = note: the full name for the type has been written to '/tmp/RtmpR3chsP/R.INSTALL9562a53dd6794/anime/src/./rust/target/release/deps/geoarrow-7c9d87aa648593d0.long-type-12709235433588935502.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the macro `impl_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0275`.
error: could not compile `geoarrow` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
make: *** [Makevars:26: rust/target/release/libanime.a] Error 101
ERROR: compilation failed for package ‘anime’
* removing ‘/tmp/Rtmps4HGvI/pkg-lib95563299b55e4/anime’
Type .Last.error to see the more details.

@JosiahParry
Copy link
Owner

Please note that the issue is compiling geoarrow—not this crate.

error[E0275]: overflow evaluating the requirement <impl GeometryTrait<T = f64> as geo_traits::geometry::GeometryTrait>::GeometryCollection<'_>: geo_traits::geometry_collection::GeometryCollectionTrait

This is related to geoarrow/geoarrow-rs#716

Try using a stable build of rust with rustup default stable

@Robinlovelace
Copy link
Contributor Author

Will try with the stable build of Rust. Further update: after trying the latest version of geoarrow crate, as per #3, the geoarrow compilation issue seems fixed, but there's another error message:

   Compiling geoarrow v0.4.0-beta.3
   Compiling arrow_extendr v52.0.0
note: native-static-libs: -lR -lc -lm -lrt -lpthread -lgcc_s -lutil -lrt -lpthread -lm -ldl -lc

   Compiling anime_r v0.1.0 (/tmp/RtmpyBsrPn/R.INSTALL98ec21fe18745/anime/src/rust)
error[E0432]: unresolved imports `geoarrow::trait_::GeometryArrayAccessor`, `geoarrow::GeometryArrayTrait`
  --> src/lib.rs:10:29
   |
10 |     array::LineStringArray, trait_::GeometryArrayAccessor,
   |                             ^^^^^^^^---------------------
   |                             |       |
   |                             |       help: a similar name exists in the module: `GeometryArrayBuilder`
   |                             no `GeometryArrayAccessor` in `trait_`
11 |     GeometryArrayTrait,
   |     ^^^^^^^^^^^^^^^^^^ no `GeometryArrayTrait` in the root

warning: use of deprecated function `geoarrow::array::from_arrow_array`: Use NativeArrayDyn::from_arrow_array instead.
  --> src/lib.rs:56:32
   |
56 |     let res = geoarrow::array::from_arrow_array(&x, &field).map_err(|e| e.to_string())?;
   |                                ^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

For more information about this error, try `rustc --explain E0432`.
warning: `anime_r` (lib) generated 1 warning
error: could not compile `anime_r` (lib) due to 1 previous error; 1 warning emitted
make: *** [Makevars:26: rust/target/release/libanime.a] Error 101
ERROR: compilation failed for package ‘anime’

@Robinlovelace
Copy link
Contributor Author

Try using a stable build of rust with rustup default stable

Will try that next.

@Robinlovelace
Copy link
Contributor Author

Update: I tried with the stable version and it still failed, logs below.

rustup default stable
info: using existing install for 'stable-x86_64-unknown-linux-gnu'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.83.0 (90b35a623 2024-11-26)

➜  r git:(main) ✗ R

R version 4.4.2 (2024-10-31) -- "Pile of Leaves"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> q()
Save workspace image? [y/n/c]: n
➜  r git:(main) ✗ git revert HEAD 
[main f730d0b] Revert "Update geoarrow in R package"
 1 file changed, 1 insertion(+), 1 deletion(-)
➜  r git:(main) ✗ R

R version 4.4.2 (2024-10-31) -- "Pile of Leaves"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> devtools::install()
── R CMD build ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/home/robin/github/people/josiahparry/anime/r/DESCRIPTION’ ...
─  preparing ‘anime’:
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  checking for LF line-endings in source and make files and shell scripts
─  checking for empty or unneeded directories
─  building ‘anime_0.0.0.9000.tar.gz’
   
Running /usr/lib/R/bin/R CMD INSTALL /tmp/RtmpRkVIOp/anime_0.0.0.9000.tar.gz \
  --install-tests 
* installing to library ‘/home/robin/R/x86_64-pc-linux-gnu-library/4.4’
* installing *source* package ‘anime’ ...
** using staged installation
Using cargo 1.83.0 (5ffbef321 2024-10-29)
Using rustc 1.83.0 (90b35a623 2024-11-26)
** libs
using C compiler: ‘gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’
rm -Rf anime.so ./rust/target/release/libanime.a entrypoint.o
gcc -I"/usr/share/R/include" -DNDEBUG       -fpic  -g -O2 -ffile-prefix-map=/build/r-base-6tgf7J/r-base-4.4.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -c entrypoint.c -o entrypoint.o
# Check if NOT_CRAN is false and unzip vendor.tar.xz if so
if [ "" != "true" ]; then \
	if [ -f ./rust/vendor.tar.xz ]; then \
		tar xf rust/vendor.tar.xz && \
		mkdir -p /tmp/Rtmpq0rgbD/R.INSTALL9c3d3779a8043/anime/src/.cargo && \
		cp rust/vendor-config.toml /tmp/Rtmpq0rgbD/R.INSTALL9c3d3779a8043/anime/src/.cargo/config.toml; \
	fi; \
fi
export CARGO_HOME=/tmp/Rtmpq0rgbD/R.INSTALL9c3d3779a8043/anime/src/.cargo && \
export PATH="/home/robin/.nvm/versions/node/v18.12.0/bin:/home/robin/.juliaup/bin:/home/robin/.pixi/bin:/home/robin/.gvm/bin:/home/robin/.deno/bin:/home/robin/.juliaup/bin:/home/robin/.cargo/bin:/home/robin/.local/bin:/home/robin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/robin/.pixi/bin:/usr/share/code/bin:/home/robin/.cargo/bin" && \
RUSTFLAGS=" --print=native-static-libs" cargo build  --lib --release --manifest-path=./rust/Cargo.toml --target-dir ./rust/target
    Updating git repository `https://github.com/extendr/extendr`
    Updating crates.io index
 Downloading crates ...
  Downloaded ahash v0.8.11
  Downloaded rstar v0.11.0
  Downloaded rustc_version v0.4.1
  Downloaded scopeguard v1.2.0
  Downloaded ryu v1.0.18
  Downloaded aho-corasick v1.1.3
  Downloaded serde v1.0.210
  Downloaded siphasher v0.3.11
  Downloaded allocator-api2 v0.2.21
  Downloaded autocfg v1.4.0
  Downloaded approx v0.5.1
  Downloaded bitflags v1.3.2
  Downloaded atoi v2.0.0
  Downloaded serde_json v1.0.133
  Downloaded smallvec v1.13.2
  Downloaded stable_deref_trait v1.2.0
  Downloaded spin v0.9.8
  Downloaded toml_datetime v0.6.8
  Downloaded tiny-keccak v2.0.2
  Downloaded bitflags v2.6.0
  Downloaded unicode-ident v1.0.12
  Downloaded cfg-if v1.0.0
  Downloaded byteorder v1.5.0
  Downloaded base64 v0.22.1
  Downloaded version_check v0.9.5
  Downloaded semver v1.0.24
  Downloaded tinyvec_macros v0.1.1
  Downloaded tinyvec v1.8.0
  Downloaded bytemuck v1.20.0
  Downloaded toml_edit v0.22.22
  Downloaded serde_derive v1.0.210
  Downloaded const-random-macro v0.1.16
  Downloaded const-random v0.1.18
  Downloaded chrono v0.4.39
  Downloaded rstar v0.12.2
  Downloaded winnow v0.6.20
  Downloaded syn v2.0.50
  Downloaded equivalent v1.0.1
  Downloaded static_assertions v1.1.0
  Downloaded zerocopy v0.7.35
  Downloaded csv-core v0.1.11
  Downloaded thiserror v1.0.65
  Downloaded thiserror-impl v1.0.65
  Downloaded either v1.13.0
  Downloaded crunchy v0.2.2
  Downloaded itoa v1.0.14
  Downloaded itertools v0.12.1
  Downloaded itertools v0.11.0
  Downloaded iana-time-zone v0.1.61
  Downloaded heapless v0.8.0
  Downloaded heapless v0.7.17
  Downloaded hashbrown v0.15.2
  Downloaded hashbrown v0.14.5
  Downloaded hash32 v0.3.1
  Downloaded hash32 v0.2.1
  Downloaded geo v0.27.0
  Downloaded float_next_after v1.0.0
  Downloaded chrono-tz-build v0.3.0
  Downloaded log v0.4.22
  Downloaded spade v2.12.1
  Downloaded lock_api v0.4.12
  Downloaded geo-types v0.7.14
  Downloaded num_enum_derive v0.7.3
  Downloaded num_enum v0.7.3
  Downloaded num-traits v0.2.19
  Downloaded num-rational v0.4.2
  Downloaded num-iter v0.1.45
  Downloaded num-integer v0.1.46
  Downloaded num-bigint v0.4.6
  Downloaded rand_core v0.6.4
  Downloaded quote v1.0.35
  Downloaded proc-macro-crate v3.2.0
  Downloaded phf_macros v0.11.2
  Downloaded phf_generator v0.11.2
  Downloaded phf_codegen v0.11.2
  Downloaded phf v0.11.2
  Downloaded once_cell v1.19.0
  Downloaded libm v0.2.11
  Downloaded geographiclib-rs v0.2.4
  Downloaded rand v0.8.5
  Downloaded bytes v1.9.0
  Downloaded memchr v2.7.4
  Downloaded lazy_static v1.5.0
  Downloaded indexmap v2.7.0
  Downloaded half v2.4.1
  Downloaded getrandom v0.2.15
  Downloaded proc-macro2 v1.0.78
  Downloaded paste v1.0.14
  Downloaded regex v1.11.1
  Downloaded phf_shared v0.11.2
  Downloaded num-complex v0.4.6
  Downloaded chrono-tz v0.9.0
  Downloaded anime v0.1.2
  Downloaded arrow_extendr v52.0.0
  Downloaded arrow-string v52.2.0
  Downloaded num v0.4.3
  Downloaded lexical-write-integer v0.8.5
  Downloaded arrow-arith v52.2.0
  Downloaded robust v1.1.0
  Downloaded arrow-array v52.2.0
  Downloaded lexical-parse-float v0.8.5
  Downloaded arrow v52.2.0
  Downloaded regex-syntax v0.8.5
  Downloaded parse-zoneinfo v0.3.1
  Downloaded lexical-write-float v0.8.5
  Downloaded earcutr v0.4.3
  Downloaded lexical-util v0.8.5
  Downloaded lexical-parse-integer v0.8.6
  Downloaded lexical-core v0.8.5
  Downloaded arrow-row v52.2.0
  Downloaded arrow-ipc v52.2.0
  Downloaded arrow-cast v52.2.0
  Downloaded regex-automata v0.4.9
  Downloaded csv v1.3.1
  Downloaded libc v0.2.169
  Downloaded geo-index v0.1.1
  Downloaded geo v0.28.0
  Downloaded libR-sys v0.7.1
  Downloaded flatbuffers v24.3.25
  Downloaded arrow-select v52.2.0
  Downloaded arrow-schema v52.2.0
  Downloaded arrow-ord v52.2.0
  Downloaded arrow-json v52.2.0
  Downloaded arrow-data v52.2.0
  Downloaded arrow-csv v52.2.0
  Downloaded arrow-buffer v52.2.0
  Downloaded geoarrow v0.3.0
   Compiling autocfg v1.4.0
   Compiling libm v0.2.11
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling siphasher v0.3.11
   Compiling cfg-if v1.0.0
   Compiling libc v0.2.169
   Compiling rand_core v0.6.4
   Compiling version_check v0.9.5
   Compiling regex-syntax v0.8.5
   Compiling once_cell v1.19.0
   Compiling zerocopy v0.7.35
   Compiling semver v1.0.24
   Compiling allocator-api2 v0.2.21
   Compiling bytes v1.9.0
   Compiling iana-time-zone v0.1.61
   Compiling bitflags v2.6.0
   Compiling rand v0.8.5
   Compiling phf_shared v0.11.2
   Compiling static_assertions v1.1.0
   Compiling phf v0.11.2
   Compiling arrow-schema v52.2.0
   Compiling lexical-util v0.8.5
   Compiling ahash v0.8.11
   Compiling memchr v2.7.4
   Compiling num-traits v0.2.19
   Compiling byteorder v1.5.0
   Compiling lock_api v0.4.12
   Compiling rustc_version v0.4.1
   Compiling ryu v1.0.18
   Compiling phf_generator v0.11.2
   Compiling serde v1.0.210
   Compiling phf_codegen v0.11.2
   Compiling stable_deref_trait v1.2.0
   Compiling scopeguard v1.2.0
   Compiling smallvec v1.13.2
   Compiling heapless v0.8.0
   Compiling hash32 v0.2.1
   Compiling hash32 v0.3.1
   Compiling quote v1.0.35
   Compiling heapless v0.7.17
   Compiling syn v2.0.50
   Compiling aho-corasick v1.1.3
   Compiling base64 v0.22.1
   Compiling itoa v1.0.14
   Compiling getrandom v0.2.15
   Compiling lexical-write-integer v0.8.5
   Compiling lexical-parse-integer v0.8.6
   Compiling spin v0.9.8
   Compiling either v1.13.0
   Compiling lexical-parse-float v0.8.5
   Compiling flatbuffers v24.3.25
   Compiling hashbrown v0.15.2
   Compiling hashbrown v0.14.5
   Compiling lexical-write-float v0.8.5
   Compiling serde_json v1.0.133
   Compiling equivalent v1.0.1
   Compiling itertools v0.11.0
   Compiling csv-core v0.1.11
   Compiling regex-automata v0.4.9
   Compiling lexical-core v0.8.5
   Compiling indexmap v2.7.0
   Compiling toml_datetime v0.6.8
   Compiling bitflags v1.3.2
   Compiling libR-sys v0.7.1
   Compiling num-integer v0.1.46
   Compiling num-complex v0.4.6
   Compiling half v2.4.1
   Compiling chrono v0.4.39
   Compiling atoi v2.0.0
   Compiling approx v0.5.1
   Compiling rstar v0.12.2
   Compiling num-bigint v0.4.6
   Compiling num-iter v0.1.45
   Compiling rstar v0.11.0
   Compiling robust v1.1.0
   Compiling float_next_after v1.0.0
   Compiling winnow v0.6.20
   Compiling spade v2.12.1
   Compiling geo-types v0.7.14
   Compiling geographiclib-rs v0.2.4
   Compiling lazy_static v1.5.0
   Compiling paste v1.0.14
   Compiling log v0.4.22
   Compiling thiserror v1.0.65
   Compiling extendr-api v0.7.1 (https://github.com/extendr/extendr?rev=2c2749f5e9d13d5628399c8779c47d420246a4a1#2c2749f5)
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.8.0
   Compiling earcutr v0.4.3
   Compiling num-rational v0.4.2
   Compiling regex v1.11.1
   Compiling bytemuck v1.20.0
   Compiling itertools v0.12.1
   Compiling num v0.4.3
   Compiling arrow-buffer v52.2.0
   Compiling parse-zoneinfo v0.3.1
   Compiling chrono-tz-build v0.3.0
   Compiling arrow-data v52.2.0
   Compiling toml_edit v0.22.22
   Compiling geo v0.28.0
   Compiling geo v0.27.0
   Compiling chrono-tz v0.9.0
   Compiling proc-macro-crate v3.2.0
   Compiling phf_macros v0.11.2
   Compiling serde_derive v1.0.210
   Compiling thiserror-impl v1.0.65
   Compiling extendr-macros v0.7.1 (https://github.com/extendr/extendr?rev=2c2749f5e9d13d5628399c8779c47d420246a4a1#2c2749f5)
   Compiling num_enum_derive v0.7.3
   Compiling geo-index v0.1.1
   Compiling num_enum v0.7.3
   Compiling anime v0.1.2
note: Link against the following native artifacts when linking against this static library. The order and any duplication can be significant on some platforms.

note: native-static-libs: -lc -lm -lrt -lpthread -lgcc_s -lutil -lrt -lpthread -lm -ldl -lc

   Compiling arrow-array v52.2.0
   Compiling arrow-select v52.2.0
   Compiling arrow-row v52.2.0
   Compiling arrow-arith v52.2.0
   Compiling csv v1.3.1
   Compiling arrow-cast v52.2.0
   Compiling arrow-ord v52.2.0
   Compiling arrow-string v52.2.0
   Compiling arrow-ipc v52.2.0
   Compiling arrow-json v52.2.0
   Compiling arrow-csv v52.2.0
   Compiling arrow v52.2.0
   Compiling geoarrow v0.3.0
error[E0275]: overflow evaluating the requirement `<impl GeometryTrait<T = f64> as geo_traits::geometry::GeometryTrait>::GeometryCollection<'_>: geo_traits::geometry_collection::GeometryCollectionTrait`
    |
    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`geoarrow`)
note: required for `GeometryCollectionIterator<'_, f64, <... as GeometryCollectionTrait>::ItemType<'_>, ...>` to implement `Iterator`
   --> /tmp/Rtmpq0rgbD/R.INSTALL9c3d3779a8043/anime/src/.cargo/registry/src/index.crates.io-6f17d22bba15001f/geoarrow-0.3.0/src/geo_traits/iterator.rs:39:15
    |
37  |                   ItemType: 'a + $item_trait<T = T>,
    |                                              ----- unsatisfied trait bound introduced here
38  |                   G: $self_trait<T = T, ItemType<'a> = ItemType>,
39  |               > Iterator for $struct_name<'a, T, ItemType, G>
    |                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
109 | / impl_iterator!(
110 | |     GeometryCollectionIterator,
111 | |     GeometryCollectionTrait,
112 | |     GeometryTrait,
113 | |     geometry_unchecked
114 | | );
    | |_- in this macro invocation
    = note: required for `GeometryCollectionIterator<'_, f64, <... as GeometryCollectionTrait>::ItemType<'_>, ...>` to implement `IntoIterator`
    = note: the full name for the type has been written to '/tmp/Rtmpq0rgbD/R.INSTALL9c3d3779a8043/anime/src/./rust/target/release/deps/geoarrow-64d1b9f93000afec.long-type-17436611567825894246.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: the full name for the type has been written to '/tmp/Rtmpq0rgbD/R.INSTALL9c3d3779a8043/anime/src/./rust/target/release/deps/geoarrow-64d1b9f93000afec.long-type-17436611567825894246.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the macro `impl_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0275`.
error: could not compile `geoarrow` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
make: *** [Makevars:26: rust/target/release/libanime.a] Error 101
ERROR: compilation failed for package ‘anime’
* removing ‘/home/robin/R/x86_64-pc-linux-gnu-library/4.4/anime’
Error in `(function (command = NULL, args = character(), error_on_status = TRUE, …`:
! System command 'R' failed
---
Exit status: 1
stdout & stderr: <printed>
---
Type .Last.error to see the more details.

@JosiahParry
Copy link
Owner

Please try installing from main again. I've updated to arrow 53, arrow-extendr 53, and geoarrow 0.4.0-beta-3

@Robinlovelace
Copy link
Contributor Author

confirmed, thank you

@Robinlovelace
Copy link
Contributor Author

Heads-up @wangzhao0217 this should now work:

pak::pkg_install("josiahparry/anime/r")

Could you give that a try and let us know if it works.

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

2 participants