Erlang build error related to wxwidgets

I am on a Macbook M1 chip running Sequoia 15.7.4. I want to be able to use “observer” from Elixir. I installed wxwidgets with --enable-compat30. That installed fine and I can run wx-config as expected. When I use “asdf” to install Erlang I get the following errors:

gen/wxe_init.cpp:1311:78: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_STRING_VERBATIM_EOL'
 1311 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_STRING_VERBATIM_EOL", rt.make_int(wxSTC_VISUALPROLOG_STRING_VERBATIM_EOL) },
      |                                                                              ^
gen/wxe_init.cpp:1312:82: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_STRING_VERBATIM_SPECIAL'
 1312 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_STRING_VERBATIM_SPECIAL", rt.make_int(wxSTC_VISUALPROLOG_STRING_VERBATIM_SPECIAL) },
      |                                                                                  ^
gen/wxe_init.cpp:1313:74: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_STRING_VERBATIM'
 1313 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_STRING_VERBATIM", rt.make_int(wxSTC_VISUALPROLOG_STRING_VERBATIM) },
      |                                                                          ^
gen/wxe_init.cpp:1314:74: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_STRING_EOL_OPEN'
 1314 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_STRING_EOL_OPEN", rt.make_int(wxSTC_VISUALPROLOG_STRING_EOL_OPEN) },
      |                                                                          ^
gen/wxe_init.cpp:1318:81: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_CHARACTER_ESCAPE_ERROR'
 1318 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_CHARACTER_ESCAPE_ERROR", rt.make_int(wxSTC_VISUALPROLOG_CHARACTER_ESCAPE_ERROR) },
      |                                                                                 ^
gen/wxe_init.cpp:1319:77: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_CHARACTER_TOO_MANY'
 1319 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_CHARACTER_TOO_MANY", rt.make_int(wxSTC_VISUALPROLOG_CHARACTER_TOO_MANY) },
      |                                                                             ^
gen/wxe_init.cpp:1320:68: error: use of undeclared identifier 'wxSTC_VISUALPROLOG_CHARACTER'
 1320 |     { WXE_ATOM_define, "wxSTC_VISUALPROLOG_CHARACTER", rt.make_int(wxSTC_VISUALPROLOG_CHARACTER) },
      |                                                                    ^
gen/wxe_init.cpp:2434:55: error: use of undeclared identifier 'wxSTC_CSS_MEDIA'
 2434 |     { WXE_ATOM_define, "wxSTC_CSS_MEDIA", rt.make_int(wxSTC_CSS_MEDIA) },
      |                                                       ^
gen/wxe_wrapper_5.cpp:6950:3: warning: expression result unused [-Wunused-value]
 6950 |   wxString(title_bin.data, wxConvUTF8, title_bin.size);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gen/wxe_init.cpp:7177:18: error: invalid application of 'sizeof' to an incomplete type 'wxe_defs[]'
 7177 |   int sz = sizeof(defs) / sizeof(defs[0]);

I have tried installing different versions of Erlang built wxwidgets from source and lots of other thrashing about. I Does anyone have any insight on this? Thanks.

I gave up on installing erlang through asdf because the builds broke. Now I install Erlang from homebrew and set the erlang version to system with asdf. Within asdf, make sure to install elixir versions that correspond to the OTP of the homebrew erlang. Not ideal for using asdf as intended, but observer works :slight_smile:

1 Like

probably not the answer you are looking for
but maybe you should try mise https://mise.jdx.dev/

i tested on wsl linux and seem to work fine

and by tested, i mean, i just installed wxGTK-devel
and then installed erlang and it all went fine, mise didnt complain abut missing wxwidget , which it usually did when i didnt have wxGTK-devel installed

I’ve been using GitHub - michallepicki/asdf-erlang-prebuilt-macos: Erlang plugin for asdf version manager, using Erlang builds by erlef/otp_builds for macOS for a while. Not compiling erlang in the first place.

2 Likes

Thank you :slight_smile: I had not seen that before. I used that plugin for asdf and installed erlang with out problems and got observer! Thank you very much.

I was not aware of Mise. I will check it out. I used the solution provided by LostKobrakai, but thank you for responding and making me aware of Mise.