AlexR2D2 / duckdbex

The Library embeds C++ DuckDB database into you Elixir application.
MIT License
54 stars 13 forks source link

checksum.exs file empty in hex.pm published packages #17

Open whitedr opened 4 months ago

whitedr commented 4 months ago

When pulling in any recent version of duckdbex, I'm not seeing anything populated it its checksum.exs file (it's basically an empty map %{}). As a result the compilation step which tries to pull down the precompiled library fails and it falls back to compiling duckdb from source (which unfortunately is pretty slow).

This is the error I see in the logs when doing a mix deps.compile with this version {:duckdbex, "~> 0.2.10"}

==> duckdbex
Downloading precompiled NIF to /Users/dave/Library/Caches/duckdbex-nif-2.16-aarch64-apple-darwin-0.2.10.tar.gz
Error happened while installing duckdbex from precompiled binary: "precompiled \"duckdbex-nif-2.16-aarch64-apple-darwin-0.2.10.tar.gz\" does not exist or cannot download: :enoent".

Attempting to compile duckdbex from source...

Can you check if this is being done: https://hexdocs.pm/elixir_make/precompilation_guide.html#generate-checksum-file before publishing your package to hex?

dhonysilva commented 4 months ago

I can confirm the same is happening to me. I'm receiving these messages:

==> duckdbex
Downloading precompiled NIF to /Users/machinename/Library/Caches/duckdbex-nif-2.16-aarch64-apple-darwin-0.2.10.tar.gz
Error happened while installing duckdbex from precompiled binary: "precompiled \"duckdbex-nif-2.16-aarch64-apple-darwin-0.2.10.tar.gz\" does not exist or cannot download: :enoent".
Attempting to compile duckdbex from source...
mkdir -p /Users/machinename/Library/Caches/mix/installs/elixir-1.15.7-erts-14.1.1/dfcae79ea911f7d6913083c44acadf5b/_build/dev/lib/duckdbex/priv
c++ -O3 -std=c++11 -I"/private/var/folders/fw/0z_95n3s72d5vx6zn_hb07dw0000gn/T/AppTranslocation/4B247176-BC9E-47AA-B502-88588EF54CA3/d/Livebook.app/Contents/Resources/rel/vendor/otp/erts-14.1.1/include"  -I"c_src/"  -I"c_src/duckdb/" -DNDEBUG=1 -fPIC -c c_src/nif.cpp -o /Users/dhonysilva/Library/Caches/mix/installs/elixir-1.15.7-erts-14.1.1/dfcae79ea911f7d6913083c44acadf5b/_build/dev/lib/duckdbex/priv/nif.o
c_src/nif.cpp:163:30: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]
      query_params.push_back(move(value));
vrannang1 commented 3 months ago

Hi, Is there any fix for the error "does not exist or cannot download"

AlexR2D2 commented 3 months ago

Hi! Pushed the new release but with macOS precompiled library only. I need more powerful pc to precompile all linux versions. May be little bit later.

willfore commented 1 month ago

I believe this will be resolved with pr #20