alloverse / alloplace

[elixir] Server for a VR/AR/3D "window manager" and collaborative workspace
https://alloverse.com
10 stars 1 forks source link

Dockerize and run on server #9

Closed nevyn closed 5 years ago

nevyn commented 5 years ago

Upvote & Fund

Fund with Polar

nevyn commented 5 years ago
==> allo_placeserv
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at src/allonet/lib/enet/CMakeLists.txt:3 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    PROJECT_VERSION
    PROJECT_VERSION_MAJOR
    PROJECT_VERSION_MINOR
    PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for poll
-- Looking for poll - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - found
-- Looking for gethostbyaddr_r
-- Looking for gethostbyaddr_r - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Looking for inet_ntop
-- Looking for inet_ntop - found
-- Performing Test HAS_MSGHDR_FLAGS
-- Performing Test HAS_MSGHDR_FLAGS - Success
-- Check size of socklen_t
-- Check size of socklen_t - done
CMake Warning (dev) at src/allonet/lib/cJSON/CMakeLists.txt:4 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    PROJECT_VERSION
    PROJECT_VERSION_MAJOR
    PROJECT_VERSION_MINOR
    PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Performing Test FLAG_SUPPORTED_stdc89
-- Performing Test FLAG_SUPPORTED_stdc89 - Success
-- Performing Test FLAG_SUPPORTED_pedantic
-- Performing Test FLAG_SUPPORTED_pedantic - Success
-- Performing Test FLAG_SUPPORTED_Wall
-- Performing Test FLAG_SUPPORTED_Wall - Success
-- Performing Test FLAG_SUPPORTED_Wextra
-- Performing Test FLAG_SUPPORTED_Wextra - Success
-- Performing Test FLAG_SUPPORTED_Werror
-- Performing Test FLAG_SUPPORTED_Werror - Success
-- Performing Test FLAG_SUPPORTED_Wstrictprototypes
-- Performing Test FLAG_SUPPORTED_Wstrictprototypes - Success
-- Performing Test FLAG_SUPPORTED_Wwritestrings
-- Performing Test FLAG_SUPPORTED_Wwritestrings - Success
-- Performing Test FLAG_SUPPORTED_Wshadow
-- Performing Test FLAG_SUPPORTED_Wshadow - Success
-- Performing Test FLAG_SUPPORTED_Winitself
-- Performing Test FLAG_SUPPORTED_Winitself - Success
-- Performing Test FLAG_SUPPORTED_Wcastalign
-- Performing Test FLAG_SUPPORTED_Wcastalign - Success
-- Performing Test FLAG_SUPPORTED_Wformat2
-- Performing Test FLAG_SUPPORTED_Wformat2 - Success
-- Performing Test FLAG_SUPPORTED_Wmissingprototypes
-- Performing Test FLAG_SUPPORTED_Wmissingprototypes - Success
-- Performing Test FLAG_SUPPORTED_Wstrictoverflow2
-- Performing Test FLAG_SUPPORTED_Wstrictoverflow2 - Success
-- Performing Test FLAG_SUPPORTED_Wcastqual
-- Performing Test FLAG_SUPPORTED_Wcastqual - Success
-- Performing Test FLAG_SUPPORTED_Wundef
-- Performing Test FLAG_SUPPORTED_Wundef - Success
-- Performing Test FLAG_SUPPORTED_Wswitchdefault
-- Performing Test FLAG_SUPPORTED_Wswitchdefault - Success
-- Performing Test FLAG_SUPPORTED_Wconversion
-- Performing Test FLAG_SUPPORTED_Wconversion - Success
-- Performing Test FLAG_SUPPORTED_Wccompat
-- Performing Test FLAG_SUPPORTED_Wccompat - Success
-- Performing Test FLAG_SUPPORTED_fstackprotectorstrong
-- Performing Test FLAG_SUPPORTED_fstackprotectorstrong - Success
-- Performing Test FLAG_SUPPORTED_Wcomma
-- Performing Test FLAG_SUPPORTED_Wcomma - Failed
-- Performing Test FLAG_SUPPORTED_Wdoublepromotion
-- Performing Test FLAG_SUPPORTED_Wdoublepromotion - Success
-- Performing Test FLAG_SUPPORTED_Wparentheses
-- Performing Test FLAG_SUPPORTED_Wparentheses - Success
-- Performing Test FLAG_SUPPORTED_Wformatoverflow
-- Performing Test FLAG_SUPPORTED_Wformatoverflow - Failed
-- Performing Test FLAG_SUPPORTED_Wunusedmacros
-- Performing Test FLAG_SUPPORTED_Wunusedmacros - Success
-- Performing Test FLAG_SUPPORTED_Wmissingvariabledeclarations
-- Performing Test FLAG_SUPPORTED_Wmissingvariabledeclarations - Failed
-- Performing Test FLAG_SUPPORTED_Wusedbutmarkedunused
-- Performing Test FLAG_SUPPORTED_Wusedbutmarkedunused - Failed
-- Performing Test FLAG_SUPPORTED_Wswitchenum
-- Performing Test FLAG_SUPPORTED_Wswitchenum - Success
-- Performing Test FLAG_SUPPORTED_fvisibilityhidden
-- Performing Test FLAG_SUPPORTED_fvisibilityhidden - Success
-- Using Erlang OTP: /usr/local/lib/erlang - found OTP version 21
-- Using erl_interface version: /usr/local/lib/erlang/lib/erl_interface-3.11
-- Using erts version: erts-10.3
ei
-- Configuring done
-- Generating done
-- Build files have been written to: /app/_cmake

Scanning dependencies of target cjson-static
[  1%] Building C object src/allonet/lib/cJSON/CMakeFiles/cjson-static.dir/cJSON.c.o
[  3%] Linking C static library libcjson.a
[  3%] Built target cjson-static
Scanning dependencies of target enet
[  4%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/callbacks.c.o
[  6%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/compress.c.o
[  7%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/host.c.o
[  9%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/list.c.o
[ 10%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/packet.c.o
[ 12%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/peer.c.o
[ 14%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/protocol.c.o
[ 15%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/unix.c.o
[ 17%] Building C object src/allonet/lib/enet/CMakeFiles/enet.dir/win32.c.o
[ 18%] Linking C static library libenet.a
[ 18%] Built target enet
Scanning dependencies of target allonet
[ 20%] Building C object src/allonet/CMakeFiles/allonet.dir/src/client.c.o
[ 21%] Building C object src/allonet/CMakeFiles/allonet.dir/src/server.c.o
[ 23%] Building C object src/allonet/CMakeFiles/allonet.dir/src/state.c.o
[ 25%] Building C object src/allonet/CMakeFiles/allonet.dir/src/util.c.o
[ 26%] Linking C shared library liballonet.so
[ 26%] Built target allonet
Scanning dependencies of target AllonetPort
[ 28%] Building C object CMakeFiles/AllonetPort.dir/src/erl_comm.c.o
[ 29%] Building C object CMakeFiles/AllonetPort.dir/src/main.c.o
/app/src/main.c: In function ‘handle_erl’:
/app/src/main.c:50:28: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
         void *client_ptr = ERL_LL_UVALUE(e_client_ptr);
                            ^~~~~~~~~~~~~
/app/src/main.c:73:28: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
         void *client_ptr = ERL_LL_UVALUE(e_client_ptr);
                            ^~~~~~~~~~~~~
/app/src/main.c: In function ‘clients_changed’:
/app/src/main.c:108:88: warning: passing argument 1 of ‘erl_mk_ulonglong’ makes integer from pointer without a cast [-Wint-conversion]
         scoped_comp ETERM *msg = erl_format("{client_connected, ~w}", erl_mk_ulonglong(added));
                                                                                        ^~~~~
In file included from /app/src/main.c:2:0:
/usr/local/lib/erlang/usr/include/erl_interface.h:394:8: note: expected ‘long long unsigned int’ but argument is of type ‘alloserver_client * {aka struct alloserver_client *}’
 ETERM *erl_mk_ulonglong(unsigned long long);
        ^~~~~~~~~~~~~~~~
/app/src/main.c:111:91: warning: passing argument 1 of ‘erl_mk_ulonglong’ makes integer from pointer without a cast [-Wint-conversion]
         scoped_comp ETERM *msg = erl_format("{client_disconnected, ~w}", erl_mk_ulonglong(removed));
                                                                                           ^~~~~~~
In file included from /app/src/main.c:2:0:
/usr/local/lib/erlang/usr/include/erl_interface.h:394:8: note: expected ‘long long unsigned int’ but argument is of type ‘alloserver_client * {aka struct alloserver_client *}’
 ETERM *erl_mk_ulonglong(unsigned long long);
        ^~~~~~~~~~~~~~~~
/app/src/main.c: In function ‘client_sent’:
/app/src/main.c:118:83: warning: passing argument 1 of ‘erl_mk_ulonglong’ makes integer from pointer without a cast [-Wint-conversion]
     scoped_comp ETERM *msg = erl_format("{client_sent, ~w, ~w}", erl_mk_ulonglong(client), erl_mk_binary((const char*)data, data_length));
                                                                                   ^~~~~~
In file included from /app/src/main.c:2:0:
/usr/local/lib/erlang/usr/include/erl_interface.h:394:8: note: expected ‘long long unsigned int’ but argument is of type ‘alloserver_client * {aka struct alloserver_client *}’
 ETERM *erl_mk_ulonglong(unsigned long long);
        ^~~~~~~~~~~~~~~~
[ 31%] Linking C executable ../priv/AllonetPort
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_atom_ptr_latin1':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:171: undefined reference to `utf8_to_latin1'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:181: undefined reference to `utf8_to_latin1'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_atom_ptr_utf8':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:192: undefined reference to `latin1_to_utf8'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:198: undefined reference to `latin1_to_utf8'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_mk_atom':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:161: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_mk_pid_helper':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:302: undefined reference to `ei_internal_use_r9_pids_ports'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_mk_pid':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:291: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_mk_port_helper':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:337: undefined reference to `ei_internal_use_r9_pids_ports'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_mk_port':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:328: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `__erl_mk_reference':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:364: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_mk_var':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:608: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_copy_term':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:913: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_init':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:68: undefined reference to `ei_init'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_set_compat_rel':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:73: undefined reference to `ei_set_compat_rel'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_malloc.o): In function `erl_malloc':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_malloc.c:234: undefined reference to `ei_malloc'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_malloc.o): In function `erl_realloc':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_malloc.c:244: undefined reference to `ei_realloc'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_malloc.o): In function `erl_free':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_malloc.c:251: undefined reference to `ei_free'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `encode_atom':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:177: undefined reference to `ei_encode_atom_len_as'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:181: undefined reference to `ei_encode_atom_len_as'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `erl_term_len_helper':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:665: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `read_atom':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:698: undefined reference to `ei_decode_atom_as'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `erl_decode_it':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1029: undefined reference to `ei_decode_double'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_small_float':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1952: undefined reference to `ei_decode_long'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1953: undefined reference to `ei_decode_double'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_small_big':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1910: undefined reference to `ei_decode_long'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1912: undefined reference to `ei_get_type'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1915: undefined reference to `ei_alloc_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1916: undefined reference to `ei_small_to_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1921: undefined reference to `ei_alloc_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1926: undefined reference to `ei_decode_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1932: undefined reference to `ei_big_comp'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1934: undefined reference to `ei_free_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1935: undefined reference to `ei_free_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1927: undefined reference to `ei_free_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1928: undefined reference to `ei_free_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1922: undefined reference to `ei_free_big'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o):/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1917: more undefined references to `ei_free_big' follow
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_float_big':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1974: undefined reference to `ei_decode_double'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1976: undefined reference to `ei_get_type'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1977: undefined reference to `ei_alloc_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1978: undefined reference to `ei_decode_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1981: undefined reference to `ei_big_to_double'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1988: undefined reference to `ei_free_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1984: undefined reference to `ei_free_big'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_exe2':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1845: undefined reference to `ei_decode_double'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1849: undefined reference to `ei_decode_double'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1740: undefined reference to `ei_decode_pid'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1773: undefined reference to `ei_decode_port'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1774: undefined reference to `ei_decode_port'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:1741: undefined reference to `ei_decode_pid'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_big_big':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2043: undefined reference to `ei_get_type'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2044: undefined reference to `ei_get_type'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2046: undefined reference to `ei_alloc_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2047: undefined reference to `ei_alloc_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2052: undefined reference to `ei_decode_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2053: undefined reference to `ei_decode_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2055: undefined reference to `ei_big_comp'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2057: undefined reference to `ei_free_big'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2058: undefined reference to `ei_free_big'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_float_float':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2025: undefined reference to `ei_decode_double'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2026: undefined reference to `ei_decode_double'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_small_small':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2002: undefined reference to `ei_decode_long'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2006: undefined reference to `ei_decode_long'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_marshal.o): In function `cmp_big_big':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_marshal.c:2048: undefined reference to `ei_free_big'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_fix_alloc.o): In function `erl_init_eterm_alloc':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:73: undefined reference to `ei_mutex_create'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:86: undefined reference to `__erl_errno_place'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_fix_alloc.o): In function `erl_eterm_alloc':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:104: undefined reference to `ei_mutex_lock'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:122: undefined reference to `ei_mutex_unlock'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:112: undefined reference to `__erl_errno_place'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:114: undefined reference to `ei_mutex_unlock'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_fix_alloc.o): In function `erl_eterm_free':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:148: undefined reference to `ei_mutex_lock'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_fix_alloc.o): In function `erl_eterm_release':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:169: undefined reference to `ei_mutex_lock'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_fix_alloc.o): In function `erl_eterm_free':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:156: undefined reference to `ei_mutex_unlock'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_fix_alloc.o): In function `erl_eterm_release':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_fix_alloc.c:180: undefined reference to `ei_mutex_unlock'
collect2: error: ld returned 1 exit status
CMakeFiles/AllonetPort.dir/build.make:123: recipe for target '../priv/AllonetPort' failed
make[2]: *** [../priv/AllonetPort] Error 1
CMakeFiles/Makefile2:69: recipe for target 'CMakeFiles/AllonetPort.dir/all' failed
make[1]: *** [CMakeFiles/AllonetPort.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Compiling 7 files (.ex)
Generated allo_placeserv app
Removing intermediate container d1de823dee6a
 ---> f21f5901f7d1
Step 8/8 : CMD ls -laR && mix run --no-halt
 ---> Running in 35d83b3d0709
Removing intermediate container 35d83b3d0709
 ---> 77b13788eb5a
Successfully built 77b13788eb5a
nevyn@nevyns-place ~/alloplace> 
nevyn commented 5 years ago

utf8_to_latin1 is in liberl_interface.a according to nm.

Libs are in /usr/local/lib/erlang/usr/lib

Verbose linking:

/usr/bin/cmake -E cmake_link_script CMakeFiles/AllonetPort.dir/link.txt --verbose=1
/usr/bin/cc     CMakeFiles/AllonetPort.dir/src/erl_comm.c.o CMakeFiles/AllonetPort.dir/src/main.c.o  -o ../priv/AllonetPort  -L/usr/local/lib/erlang/usr/lib -Wl,-rpath,/usr/local/lib/erlang/usr/lib:/app/_cmake/src/allonet -rdynamic -lei -lerl_interface src/allonet/liballonet.so src/allonet/lib/enet/libenet.a src/allonet/lib/cJSON/libcjson.a -lm 
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_atom_ptr_latin1':
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:171: undefined reference to `utf8_to_latin1'
/usr/src/otp_src_21.3/lib/erl_interface/src/legacy/erl_eterm.c:181: undefined reference to `utf8_to_latin1'
/usr/local/lib/erlang/usr/lib/liberl_interface.a(erl_eterm.o): In function `erl_atom_ptr_utf8':
nevyn commented 5 years ago

OK linking must be in the correct order: -lerl_interface and THEN -lei. Now I get:

root@bc45808e5fc1:/app/_cmake# /usr/bin/cc     CMakeFiles/AllonetPort.dir/src/erl_comm.c.o CMakeFiles/AllonetPort.dir/src/main.c.o  -o ../priv/AllonetPort  -L/usr/local/lib/erlang/usr/lib -Wl,-rpath,/usr/local/lib/erlang/usr/lib:/app/_cmake/src/allonet -rdynamic -lerl_interface -lei src/allonet/liballonet.so src/allonet/lib/enet/libenet.a src/allonet/lib/cJSON/libcjson.a -lm 
/usr/local/lib/erlang/usr/lib/libei.a(ei_pthreads.o): In function `__erl_errno_place':
/usr/src/otp_src_21.3/lib/erl_interface/src/misc/ei_pthreads.c:195: undefined reference to `pthread_once'
/usr/src/otp_src_21.3/lib/erl_interface/src/misc/ei_pthreads.c:201: undefined reference to `pthread_getspecific'
/usr/src/otp_src_21.3/lib/erl_interface/src/misc/ei_pthreads.c:211: undefined reference to `pthread_setspecific'
/usr/src/otp_src_21.3/lib/erl_interface/src/misc/ei_pthreads.c:211: undefined reference to `pthread_getspecific'
/usr/local/lib/erlang/usr/lib/libei.a(ei_pthreads.o): In function `erl_errno_key_alloc':
/usr/src/otp_src_21.3/lib/erl_interface/src/misc/ei_pthreads.c:172: undefined reference to `pthread_key_create'
/usr/local/lib/erlang/usr/lib/libei.a(ei_pthreads.o): In function `ei_m_trylock':
/usr/src/otp_src_21.3/lib/erl_interface/src/misc/ei_pthreads.c:139: undefined reference to `pthread_mutex_trylock'
nevyn commented 5 years ago

And ei needs pthread on linux. Container now builds. Now for deployment.

nevyn commented 5 years ago

run: sudo docker run -d -p 21337:21337/udp 887381407260