You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When installing the compiler from development on debian based systems, no apparent faults are noticed in output.
However, when compiling any encore file the code generation breaks giving the subsequent error:
alexis@alexis-zen:~/encoretest$ encorec plusplus.enc -c
/home/alexis/github/encore/release/lib/libponyrt.a(pool.o): In function `pool_pull':
/home/alexis/github/encore/src/runtime/pony/libponyrt/mem/pool.c:763: undefined reference to `__atomic_compare_exchange_16'
/home/alexis/github/encore/src/runtime/pony/libponyrt/mem/pool.c:763: undefined reference to `__atomic_compare_exchange_16'
/home/alexis/github/encore/release/lib/libponyrt.a(pool.o): In function `pool_push':
/home/alexis/github/encore/src/runtime/pony/libponyrt/mem/pool.c:726: undefined reference to `__atomic_compare_exchange_16'
/home/alexis/github/encore/release/lib/libponyrt.a(pool.o): In function `pool_pull':
/home/alexis/github/encore/src/runtime/pony/libponyrt/mem/pool.c:763: undefined reference to `__atomic_compare_exchange_16'
/home/alexis/github/encore/release/lib/libponyrt.a(pool.o): In function `pool_push':
/home/alexis/github/encore/src/runtime/pony/libponyrt/mem/pool.c:726: undefined reference to `__atomic_compare_exchange_16'
/home/alexis/github/encore/release/lib/libponyrt.a(pool.o):/home/alexis/github/encore/src/runtime/pony/libponyrt/mem/pool.c:726: more undefined references to `__atomic_compare_exchange_16' follow
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Compilation failed with exit code 1 ***
Temporary Workaround
This is a hack and should not be the correct solution
uninstall gcc
install gcc-6
make a symlink of /usr/bin/gcc to /usr/bin/gcc-6
cd PATH-TO-ENCORE && make -B
I did these steps after running debian-install.sh first,to ensure all other instructions had gone through before By uninstalling gcc you also delete local versions of cabal-install, ghc and other possible programs.
Possible Solution
When compiling ponyrt, make sure to link with libatomic and possibly when compiling encore-files, make sure to include -latomic
This issue have been managed in the pony-compiler with following PR ponylang/ponyc#2134
although this is for ponyc, not ponyrt
The text was updated successfully, but these errors were encountered:
Currently, we use gcc for building the runtime, and clang for building
the final executable when `encorec` is invoked. However, using two
compilers is not only unnecessary but error-prone as well. 465 is another bug
related to using gcc, so let's use clang in the whole build stack from
now.
Current Behavior
When installing the compiler from development on debian based systems, no apparent faults are noticed in output.
However, when compiling any encore file the code generation breaks giving the subsequent error:
Temporary Workaround
This is a hack and should not be the correct solution
I did these steps after running debian-install.sh first,to ensure all other instructions had gone through before By uninstalling gcc you also delete local versions of cabal-install, ghc and other possible programs.
Possible Solution
When compiling ponyrt, make sure to link with
libatomic
and possibly when compiling encore-files, make sure to include-latomic
This issue have been managed in the pony-compiler with following PR ponylang/ponyc#2134
although this is for ponyc, not ponyrt
The text was updated successfully, but these errors were encountered: