Gio
Hello
On a new project I did the following, but it wouldn’t compile without errors.
I also tried using the library locally, but had the same issue. {:hidraw, path: "../hidraw"}
First I added {:hidraw, "~> 0.2.2"} to the dependencies.
❯ mix deps.get
Resolving Hex dependencies…
Resolution completed in 0.134s
New:
hidraw 0.2.2
Unchanged:
bandit 1.10.3
cc_precompiler 0.1.11
db_connection 2.9.0
decimal 2.3.0
dns_cluster 0.2.0
ecto 3.13.5
ecto_sql 3.13.4
elixir_make 0.9.0
esbuild 0.10.0
expo 1.1.1
file_system 1.1.1
finch 0.21.0
fine 0.1.4
gettext 1.0.2
hpax 1.0.3
idna 6.1.1
jason 1.4.4
lazy_html 0.1.10
mime 2.0.7
mint 1.7.1
nimble_options 1.1.1
nimble_pool 1.1.0
phoenix 1.8.4
phoenix_ecto 4.7.0
phoenix_html 4.3.0
phoenix_live_dashboard 0.8.7
phoenix_live_reload 1.6.2
phoenix_live_view 1.1.24
phoenix_pubsub 2.2.0
phoenix_template 1.0.4
plug 1.19.1
plug_crypto 2.1.1
postgrex 0.22.0
req 0.5.17
swoosh 1.22.1
tailwind 0.4.1
telemetry 1.3.0
telemetry_metrics 1.1.0
telemetry_poller 1.3.0
thousand_island 1.4.3
unicode_util_compat 0.7.1
websock 0.5.3
websock_adapter 0.5.9
* Getting hidraw (Hex package)
❯ mix deps.compile
==> elixir_make
Compiling 8 files (.ex)
Generated elixir_make app
==> hidraw
Unchecked dependencies for environment prod:
* elixir_make (Hex package)
the dependency build is outdated, please run “MIX_ENV=prod mix deps.compile”
could not compile dependency :hidraw, “mix compile” failed. Errors may have been logged above. You can recompile this dependency with “mix deps.compile hidraw --force”, update it with “mix deps.update hidraw” or clean it with “mix deps.clean hidraw”
==> phoenix_hidraw_error
\*\* (Mix) Can’t continue due to errors on dependencies
I could ‘temporarily fix’ it locally by running 2x mix deps.compile hidraw. But I’m looking for a solution which will let me use deps_nix without any issues.
❯ mix deps.compile hidraw
==> elixir_make
Compiling 8 files (.ex)
Generated elixir_make app
==> hidraw
Unchecked dependencies for environment prod:
* elixir_make (Hex package)
could not find an app file at "/phoenix_hidraw_error/_build/dev/lib/elixir_make/ebin/elixir_make.app". This may happen if the dependency was not yet compiled or the dependency indeed has no app file (then you can pass app: false as option)
could not compile dependency :hidraw, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile hidraw --force", update it with "mix deps.update hidraw" or clean it with "mix deps.clean hidraw"
==> phoenix_hidraw_error
** (Mix) Can't continue due to errors on dependencies
❯ mix deps.compile hidraw
==> hidraw
mkdir -p /phoenix_hidraw_error/_build/dev/lib/hidraw/obj
mkdir -p /phoenix_hidraw_error/_build/dev/lib/hidraw/priv
gcc -c -I/nix/store/j106gi4wjl8kqr1yxgw35arb4jih4iw4-erlang-28.3.1/lib/erlang/usr/include -std=gnu99 -o /phoenix_hidraw_error/_build/dev/lib/hidraw/obj/erlcmd.o src/erlcmd.c
gcc -c -I/nix/store/j106gi4wjl8kqr1yxgw35arb4jih4iw4-erlang-28.3.1/lib/erlang/usr/include -std=gnu99 -o /phoenix_hidraw_error/_build/dev/lib/hidraw/obj/hidraw.o src/hidraw.c
gcc -c -I/nix/store/j106gi4wjl8kqr1yxgw35arb4jih4iw4-erlang-28.3.1/lib/erlang/usr/include -std=gnu99 -o /phoenix_hidraw_error/_build/dev/lib/hidraw/obj/hidraw_enum.o src/hidraw_enum.c
src/hidraw_enum.c: In function âfind_hidraw_devicesâ:
src/hidraw_enum.c:130:30: warning: â%sâ directive output may be truncated writing up to 255 bytes into a region of size 59 [-Wformat-truncation=]
130 | "%s/%s", DEV, namelist[i]->d_name);
| ^~
In file included from /nix/store/1k8f0lkj10gsbb1fh0idr1423l37yj69-glibc-2.40-218-dev/include/stdio.h:970,
from src/hidraw_enum.c:29:
In function âsnprintfâ,
inlined from âfind_hidraw_devicesâ at src/hidraw_enum.c:129:3:
/nix/store/1k8f0lkj10gsbb1fh0idr1423l37yj69-glibc-2.40-218-dev/include/bits/stdio2.h:68:10: note: â__builtin___snprintf_chkâ output between 6 and 261 bytes into a destination of size 64
68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
gcc /phoenix_hidraw_error/_build/dev/lib/hidraw/obj/erlcmd.o /phoenix_hidraw_error/_build/dev/lib/hidraw/obj/hidraw.o /phoenix_hidraw_error/_build/dev/lib/hidraw/obj/hidraw_enum.o -L/nix/store/j106gi4wjl8kqr1yxgw35arb4jih4iw4-erlang-28.3.1/lib/erlang/usr/lib -lei -o /phoenix_hidraw_error/_build/dev/lib/hidraw/priv/hidraw
echo "Not crosscompiling. To test locally, the port binary needs extra permissions."; echo "Set SUDO=sudo to set permissions. The default is to skip this step."; echo "SUDO_ASKPASS=/usr/bin/ssh-askpass"; echo "SUDO=true"; SUDO_ASKPASS=/usr/bin/ssh-askpass true -- sh -c 'chown root:root /phoenix_hidraw_error/_build/dev/lib/hidraw/priv/hidraw; chmod +s /phoenix_hidraw_error/_build/dev/lib/hidraw/priv/hidraw'
Not crosscompiling. To test locally, the port binary needs extra permissions.
Set SUDO=sudo to set permissions. The default is to skip this step.
SUDO_ASKPASS=/usr/bin/ssh-askpass
SUDO=true
Compiling 1 file (.ex)
warning: using single-quoted strings to represent charlists is deprecated.
Use ~c"" if you indeed want a charlist or use "" instead.
You may run "mix format --migrate" to change all single-quoted
strings to use the ~c sigil and fix this warning.
│
9 │ executable = :code.priv_dir(:hidraw) ++ '/hidraw'
│ ~
│
└─ lib/hidraw.ex:9:45
warning: using single-quoted strings to represent charlists is deprecated.
Use ~c"" if you indeed want a charlist or use "" instead.
You may run "mix format --migrate" to change all single-quoted
strings to use the ~c sigil and fix this warning.
│
34 │ executable = :code.priv_dir(:hidraw) ++ '/hidraw'
│ ~
│
└─ lib/hidraw.ex:34:45
❯ uname -a
Linux sl-p16 6.18.13 #1-NixOS SMP PREEMPT_DYNAMIC Thu Feb 19 15:31:37 UTC 2026 x86_64 GNU/Linux
Generated hidraw app
❯ elixir --version
Erlang/OTP 28 \[erts-16.2\] \[source\] \[64-bit\] \[smp:32:32\] \[ds:32:32:10\] \[async-threads:1\] \[jit:ns\]
Elixir 1.19.5 (compiled with Erlang/OTP 28)
❯ uname -a
Linux laptop 6.18.13 [#1](/nerves-web-kiosk/hidraw/issues/1)-NixOS SMP PREEMPT_DYNAMIC Thu Feb 19 15:31:37 UTC 2026 x86_64 GNU/Linux
Trending in Questions
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
Hello,
I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
So my question is quite simple and i have found no conclusive answer on forum, google or AI.
Should we use :erlang.float for Integer to ...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 9- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Gio
The following does run, But why? and How can this be solved.
I’d expect we can run compile once for all deps. Apparently the order isn’t right?
NobbZ
As
nixis involved, it might help to give us a full reproducer.I can not see anything obvious in the posted output, though I do not know anything about
hidrawor how it gets used, to spin up an appropriate shell spontaniously.Gio
https://github.com/gytars/phoenix_hidraw_error
I’ve pushed this test repo.
NobbZ
Sorry, I can not reproduce your issue.
nix buildfails with an error about daisy-UI, while entering the devshell fails with the following:As I am not using
devenvmyself, I have no interest in debugging this, and like to ask you to make the shell usable, such that I can reproduce your issue.hauleth
Have you used
--impureflag?NobbZ
No. I just allowed direnv and assumed it will be setup correctly.
Even with an abomination of a
nix developcall, constructed based on your mention of--impure, the contents of the.envrcand the fact that I usually disable IFD, the error remains.Gio
I’m sorry. I wrote a new minimal without devenv.
https://github.com/gytars/elixir_hidraw_error_nix
NobbZ
This is weird.
I can totally reproduce your issue, but I don’t have an explanation nor fix for this behaviour.
I am sorry.
Gio
Thank you.
My guess is, it’s unrelated to deps_nix / nix.
@linux_users
Could someone test the following on their elixir project?
compile will probably fail on all Linux systems, if
elixir_makehasn’t been compiled before.I don’t have enough Elixir knowledge either. The cause could be at one of these three.