I've had similar issues and was able to resolve them by setting the `CC` environment variable:
CC=gcc mix build hth, pukkamustard Jaft <[email protected]> writes: > I installed Elixir (from the Guix repo.s) and was trying to install > some dependencies. I don't know if anyone will know how to help but > I'm entirely out of my depth so I figured I'd at least ask around. > > Unfortunately, some of these dependencies have bits of C that ~mix~ > attempts to compile. Usually, these require the use of ~rebar3~ so I > installed that and pointed ~mix~ towards my Guix binary. That seems > fine. > > It then asks for ~make~ and ~gcc~; in an attempt to just see if it > would work, I tried just installing those (~gcc~ version 10, 11, and > 12 were tried). > > While it asks for ~gcc~, ~cc~ attempts to be used; so, again trying to > see if it would work, I make a soft link of ~cc~ to the installed > ~gcc~. > > This starts to compile but results in the error I'll post > below. …anyone have any ideas about how to solve/work-around this? > Very much thanks in advance. > > > > mkdir -p /home/jaft/MEGA/gits/Swanye/_build/dev/lib/argon2_elixir/priv > cc -g -O3 -pthread -Wall -Wno-format-truncation > -I"/gnu/store/7m5g7dc6qkgv1ri92al3ims6cmdscwn9-erlang-25.0.2/lib/erlang/erts-13.0.2/include" > -Iargon2/include -Iargon2/src -Ic_src -shared -fPIC > -fvisibility=hidden -Wl,-soname,libargon2.so.0 argon2/src/argon2.c > argon2/src/core.c argon2/src/blake2/blake2b.c argon2/src/thread.c > argon2/src/encoding.c argon2/src/ref.c c_src/argon2_nif.c -o > /home/jaft/MEGA/gits/Swanye/_build/dev/lib/argon2_elixir/priv/argon2_nif.so > In file included from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/posix1_lim.h:161, > from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/syslimits.h:7, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:34, > from argon2/include/argon2.h:23, > from argon2/src/argon2.c:22: > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/local_lim.h:38:10: > fatal error: linux/limits.h: No such file or directory > 38 | #include <linux/limits.h> > | ^~~~~~~~~~~~~~~~ > compilation terminated. > In file included from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/posix1_lim.h:161, > from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/syslimits.h:7, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:34, > from argon2/include/argon2.h:23, > from argon2/src/core.h:21, > from argon2/src/core.c:35: > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/local_lim.h:38:10: > fatal error: linux/limits.h: No such file or directory > 38 | #include <linux/limits.h> > | ^~~~~~~~~~~~~~~~ > compilation terminated. > In file included from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/posix1_lim.h:161, > from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/syslimits.h:7, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:34, > from argon2/include/argon2.h:23, > from argon2/src/blake2/blake2.h:21, > from argon2/src/blake2/blake2b.c:22: > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/local_lim.h:38:10: > fatal error: linux/limits.h: No such file or directory > 38 | #include <linux/limits.h> > | ^~~~~~~~~~~~~~~~ > compilation terminated. > In file included from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/posix1_lim.h:161, > from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/syslimits.h:7, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:34, > from argon2/src/encoding.c:21: > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/local_lim.h:38:10: > fatal error: linux/limits.h: No such file or directory > 38 | #include <linux/limits.h> > | ^~~~~~~~~~~~~~~~ > compilation terminated. > In file included from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/posix1_lim.h:161, > from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/syslimits.h:7, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:34, > from argon2/include/argon2.h:23, > from argon2/src/ref.c:22: > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/local_lim.h:38:10: > fatal error: linux/limits.h: No such file or directory > 38 | #include <linux/limits.h> > | ^~~~~~~~~~~~~~~~ > compilation terminated. > In file included from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/posix1_lim.h:161, > from > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:195, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/syslimits.h:7, > from > /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include-fixed/limits.h:34, > from argon2/include/argon2.h:23, > from c_src/argon2_nif.c:30: > /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include/bits/local_lim.h:38:10: > fatal error: linux/limits.h: No such file or directory > 38 | #include <linux/limits.h> > | ^~~~~~~~~~~~~~~~ > compilation terminated. > make: *** [Makefile:66: > /home/jaft/MEGA/gits/Swanye/_build/dev/lib/argon2_elixir/priv/argon2_nif.so] > Error 1 > could not compile dependency :argon2_elixir, "mix compile" > failed. Errors may have been logged above. You can recompile this > dependency with "mix deps.compile argon2_elixir", update it with "mix > deps.update argon2_elixir" or clean it with "mix deps.clean > argon2_elixir" > ==> swanye > ** (Mix) Could not compile with "make" (exit status: 2). > You need to have gcc and make installed. If you are using > Ubuntu or any other Debian-based system, install the packages > "build-essential". Also install "erlang-dev" package if not > included in your Erlang/OTP version. If you're on Fedora, run > "dnf group install 'Development Tools'".
