jarrodm

jarrodm

Getting "unknown type name 'GLfloat'" while installing Erlang 27.x with ASDF on M1

Hi all,

I’ve been away from Elixir code for nearly a year and now just trying to get everything up to latest. As per the topic title, I’m having a bit of trouble installing Erlang with asdf on Sequoia 15.1. The log below shows the lead up to the first error. Would really appreciate any advice.

Thanks!

gmake[3]: Entering directory '/Users/admin/.asdf/plugins/erlang/kerl-home/builds/asdf_27.1.2/otp_src_27.1.2/lib/wx/c_src'
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_3.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_1.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_7.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_8.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_2.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_4.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_6.o
 CXX	aarch64-apple-darwin24.1.0/wxe_wrapper_5.o
 CXX	aarch64-apple-darwin24.1.0/wxe_events.o
 CXX	aarch64-apple-darwin24.1.0/wxe_init.o
 CXX	aarch64-apple-darwin24.1.0/wxe_func_table.o
 CC	aarch64-apple-darwin24.1.0/wxe_nif.o
 CC	aarch64-apple-darwin24.1.0/wxe_ps_init.o
 CXX	aarch64-apple-darwin24.1.0/wxe_main.o
 CXX	aarch64-apple-darwin24.1.0/wxe_impl.o
 CXX	aarch64-apple-darwin24.1.0/wxe_helpers.o
gen/wxe_init.cpp:610:57: warning: wxSTC_INDICS_MASK is deprecated. Style byte indicators are no longer used. [-W#pragma-messages]
  610 |     { WXE_ATOM_define, "wxSTC_INDICS_MASK", rt.make_int(wxSTC_INDICS_MASK) },
      |                                                         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2493:27: note: expanded from macro 'wxSTC_INDICS_MASK'
 2493 | #define wxSTC_INDICS_MASK wxSTC_DEPRECATED_MACRO_VALUE(0xE0,\
      |                           ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2473:9: note: expanded from macro 'wxSTC_DEPRECATED_MACRO_VALUE'
 2473 |         _Pragma(wxSTC_STRINGIFY(GCC warning msg)) value
      |         ^
<scratch space>:44:6: note: expanded from here
   44 |  GCC warning "wxSTC_INDICS_MASK is deprecated. Style byte indicators are no longer used."
      |      ^
gen/wxe_init.cpp:611:57: warning: wxSTC_INDIC2_MASK is deprecated. Style byte indicators are no longer used. [-W#pragma-messages]
  611 |     { WXE_ATOM_define, "wxSTC_INDIC2_MASK", rt.make_int(wxSTC_INDIC2_MASK) },
      |                                                         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2491:27: note: expanded from macro 'wxSTC_INDIC2_MASK'
 2491 | #define wxSTC_INDIC2_MASK wxSTC_DEPRECATED_MACRO_VALUE(0x80,\
      |                           ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2473:9: note: expanded from macro 'wxSTC_DEPRECATED_MACRO_VALUE'
 2473 |         _Pragma(wxSTC_STRINGIFY(GCC warning msg)) value
      |         ^
<scratch space>:47:6: note: expanded from here
   47 |  GCC warning "wxSTC_INDIC2_MASK is deprecated. Style byte indicators are no longer used."
      |      ^
gen/wxe_init.cpp:612:57: warning: wxSTC_INDIC1_MASK is deprecated. Style byte indicators are no longer used. [-W#pragma-messages]
  612 |     { WXE_ATOM_define, "wxSTC_INDIC1_MASK", rt.make_int(wxSTC_INDIC1_MASK) },
      |                                                         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2489:27: note: expanded from macro 'wxSTC_INDIC1_MASK'
 2489 | #define wxSTC_INDIC1_MASK wxSTC_DEPRECATED_MACRO_VALUE(0x40,\
      |                           ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2473:9: note: expanded from macro 'wxSTC_DEPRECATED_MACRO_VALUE'
 2473 |         _Pragma(wxSTC_STRINGIFY(GCC warning msg)) value
      |         ^
<scratch space>:50:6: note: expanded from here
   50 |  GCC warning "wxSTC_INDIC1_MASK is deprecated. Style byte indicators are no longer used."
      |      ^
gen/wxe_init.cpp:613:57: warning: wxSTC_INDIC0_MASK is deprecated. Style byte indicators are no longer used. [-W#pragma-messages]
  613 |     { WXE_ATOM_define, "wxSTC_INDIC0_MASK", rt.make_int(wxSTC_INDIC0_MASK) },
      |                                                         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2487:27: note: expanded from macro 'wxSTC_INDIC0_MASK'
 2487 | #define wxSTC_INDIC0_MASK wxSTC_DEPRECATED_MACRO_VALUE(0x20,\
      |                           ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2/wx/stc/stc.h:2473:9: note: expanded from macro 'wxSTC_DEPRECATED_MACRO_VALUE'
 2473 |         _Pragma(wxSTC_STRINGIFY(GCC warning msg)) value
      |         ^
<scratch space>:53:6: note: expanded from here
   53 |  GCC warning "wxSTC_INDIC0_MASK is deprecated. Style byte indicators are no longer used."
      |      ^
 CXX	aarch64-apple-darwin24.1.0/wxe_callback_impl.o
 CXX	aarch64-apple-darwin24.1.0/wxe_return.o
 CXX	aarch64-apple-darwin24.1.0/wxe_gl.o
 CXX	aarch64-apple-darwin24.1.0/gl_nif.o
 CXX	aarch64-apple-darwin24.1.0/glu_nif.o
In file included from gen/glu_nif.cpp:25:
gen/../egl_impl.h:144:54: error: unknown type name 'GLfloat'; did you mean 'float'?
  144 | int egl_get_float(ErlNifEnv* env, ERL_NIF_TERM term, GLfloat* dp);
      |                                                      ^~~~~~~
      |                                                      float

Marked As Solved

D4no0

D4no0

Most probably a wx version mismatch, if you don’t use wx you can easily do the following before trying to install otp:

export KERL_CONFIGURE_OPTIONS="--without-wx"

This should disable the wx application from getting built.

Also Liked

dimitarvp

dimitarvp

mise can use all asdf plugins and it’s faster. It’s the better program with no drawbacks.

almirsarajcic

almirsarajcic

If you’re not obligated to use asdf, I recommend you use mise together with .kerlrc file that works on Apple Silicon. I’m using this one on M1.

jarrodm

jarrodm

I hadn’t heard of it before. I’m using ASDF for development on other platforms, and I’d like to keep it consistent, but thanks for the suggestion.

Right on the money! I downgraded wxWidgets from 3.2 to 3.0 and that works. Thanks for the help.

Where Next?

Popular in Questions Top

sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
LegitStack
I’m trying to make a websocket server in Phoenix or raw Elixir. I heard about gun, I think I could use cowboy, but since I’m not that sma...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs &amp; Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3268 119930 1237
New
sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
beno
I will often find my self writing things similar to: case some_value do nil -&gt; something() "" -&gt; something() _ -&gt; someth...
New

We're in Beta

About us Mission Statement