Starting to Help with Erlang Source Code, compile issues

I’m starting to look at helping with source code updated, I started looking at issue:

So I pulled down a forked version of code and looking to do an initial build,
My git log from may branch

commit 873912bf8ab4def4a23dedb55389a374381422b8 (HEAD -> 5719_CommonTest_eating_stacktraces, origin/maint, maint)
Merge: c1409c3a9e e7a44a7447
Author: Sverker Eriksson <>
Date:   Wed May 25 21:12:52 2022 +0200

    Merge PR-5987 from sverker/25/hopeful-in-fun-env/OTP-18093
    Accept incorrectly encoded fun containing export fun or bitstring

My steps for compiling are using default options:

 ./configure --prefix=/tmp/local_erl

But when I run make I get:

 LD	/home/src/otp/bin/x86_64-pc-linux-gnu/beam.jit
obj/x86_64-pc-linux-gnu/opt/jit/erl_db.o: In function `erts_rwmtx_size':
/home/src/otp/erts/emulator/beam/erl_threads.h:1889: undefined reference to `ethr_rwmutex_size'
/home/src/otp/erts/emulator/beam/erl_threads.h:1889: undefined reference to `ethr_rwmutex_size'
obj/x86_64-pc-linux-gnu/opt/jit/erl_db_hash.o: In function `erts_rwmtx_size':
/home/src/otp/erts/emulator/beam/erl_threads.h:1889: undefined reference to `ethr_rwmutex_size'
/home/src/otp/erts/emulator/beam/erl_threads.h:1889: undefined reference to `ethr_rwmutex_size'
/home/src/otp/erts/emulator/beam/erl_threads.h:1889: undefined reference to `ethr_rwmutex_size'
obj/x86_64-pc-linux-gnu/opt/jit/erl_db_hash.o:/home/src/otp/erts/emulator/beam/erl_threads.h:1889: more undefined references to `ethr_rwmutex_size' follow
collect2: error: ld returned 1 exit status
make[4]: *** [x86_64-pc-linux-gnu/Makefile:1254: /home/src/otp/bin/x86_64-pc-linux-gnu/beam.jit] Error 1
make[4]: Leaving directory '/home/src/otp/erts/emulator'
make[3]: *** [/home/src/otp/make/ opt] Error 2
make[3]: Leaving directory '/home/src/otp/erts/emulator'
make[2]: *** [Makefile:45: opt] Error 2
make[2]: Leaving directory '/home/src/otp/erts'
make[1]: *** [Makefile:60: jit] Error 2
make[1]: Leaving directory '/home/src/otp/erts'
make: *** [Makefile:496: emulator] Error 2

Wondering what I’m missing to do a pre-code change compile and install, Note: I get the same thing from master.

Also c++ files have not been updated since Feb 15.

Thanks for the help and getting going.


Ensure you have environment variable exported to the root of your erl tree:


It appears to point at /home/src/otp, which makes me think you have a Linux user named src.


I check and still was not working, so I changed to Ubuntu and followed required install stuff from the dockerfile run: otp/Dockerfile.ubuntu-base at maint · erlang/otp · GitHub

that is working fine.

Last question is when I compile to test the code. my io:format calls from the compiled erl engine look to be removed or something.

is there away to compile erlang in a “DEBUG” format so you get more verbose logging on run?

Thanks for the help, Just onboarding into coding on the erlang engine.


Common Test (the test framework used to test Erlang/OTP) captures all io:format calls and places them in the html log for that testcase. So I think that is where you want to look for the missing io:formats.


Thanks Garazdawi, I found that when doing some more digging on the html files. Thanks for all the help.

But I was able to get my first PR out to erlang to fix an issue though

:grinning: “small change but steps in learning the process”


Moved my listing of comments related to PR and Issue to the github issue. since compiling source code is good to go now.

Thanks again