Giter VIP home page Giter VIP logo

diode_server's People

Contributors

dominicletz avatar sc0vu avatar silviot avatar willcharlton avatar zachongit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

diode_server's Issues

During initial sync EdgeHandler ports should not yet be opened

currently EdgeHandler ports open at bootup causing all kind of nasty behaviour since they don't have all blocks yet:

    (stdlib 3.11.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: {:ssl, {:sslsocket, {:gen_tcp, #Port<0.933>, :tls_connection, [option_tracker: #PID<0.2452.0>, session_tickets_tracker: :disabled]}, [#PID<0.4641.0>, #PID<0.4640.0>]}, "[\"getblockheader2\",71854]"}
State: %{compression: nil, extra_flags: [], last_ticket: nil, node_address: {45, 79, 224, 174}, node_id: {:wallet, nil, <<2, 184, 32, 103, 108, 254, 245, 91, 6, 245, 146, 11, 98, 14, 60, 64, 209, 61, 80, 115, 15, 254, 107, 27, 153, 79, 73, 188, 38, 115, 226, 42, 224>>, <<132, 196, 133, 198, 44, 221, 135, 140, 231, 149, 170, 144, 242, 105, 248, 75, 90, 228, 250, 14>>}, ports: %Network.EdgeHandler.PortCollection{refs: %{}}, server_port: 41045, socket: {:sslsocket, {:gen_tcp, #Port<0.933>, :tls_connection, [option_tracker: #PID<0.2452.0>, session_tickets_tracker: :disabled]}, [#PID<0.4641.0>, #PID<0.4640.0>]}, unpaid_bytes: 0, unpaid_rx_bytes: 0}
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.4715.0> EdgeHandler: dove_negative (0x84c4) @ {45,79,224,174}: accepted connection

14:43:38.844 [error] GenServer #PID<0.4715.0> terminating
** (MatchError) no match of right hand side value: []
    (Elixir.Diode 0.0.1) lib/chain.ex:167: Chain.block/1
    (Elixir.Diode 0.0.1) lib/network/edgehandler.ex:705: Network.EdgeHandler.block_header/1
    (Elixir.Diode 0.0.1) lib/network/edgehandler.ex:194: Network.EdgeHandler.handle_msg/2
    (Elixir.Diode 0.0.1) lib/network/edgehandler.ex:333: Network.EdgeHandler.handle_info/2
    (stdlib 3.11.2) gen_server.erl:637: :gen_server.try_dispatch/4
    (stdlib 3.11.2) gen_server.erl:711: :gen_server.handle_msg/6
    (stdlib 3.11.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: {:ssl, {:sslsocket, {:gen_tcp, #Port<0.935>, :tls_connection, [option_tracker: #PID<0.2452.0>, session_tickets_tracker: :disabled]}, [#PID<0.4714.0>, #PID<0.4713.0>]}, "[\"getblockheader2\",71854]"}
State: %{compression: nil, extra_flags: [], last_ticket: nil, node_address: {45, 79, 224, 174}, node_id: {:wallet, nil, <<2, 184, 32, 103, 108, 254, 245, 91, 6, 245, 146, 11, 98, 14, 60, 64, 209, 61, 80, 115, 15, 254, 107, 27, 153, 79, 73, 188, 38, 115, 226, 42, 224>>, <<132, 196, 133, 198, 44, 221, 135, 140, 231, 149, 170, 144, 242, 105, 248, 75, 90, 228, 250, 14>>}, ports: %Network.EdgeHandler.PortCollection{refs: %{}}, server_port: 41045, socket: {:sslsocket, {:gen_tcp, #Port<0.935>, :tls_connection, [option_tracker: #PID<0.2452.0>, session_tickets_tracker: :disabled]}, [#PID<0.4714.0>, #PID<0.4713.0>]}, unpaid_bytes: 0, unpaid_rx_bytes: 0}
<0.4679.0> PeerHandler: grain_silk (0x937c) @ {172,105,85,69}: hello from: grain_silk       (0x937c492a77ae90de971986d003ffbc5f8bb2232c)
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.4679.0> PeerHandler: grain_silk (0x937c) @ {172,105,85,69}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.2459.0> PeerHandler: catch_also (0x68e0) @ {172,104,119,67}: Syncing ...
<0.4679.0> PeerHandler: grain_silk (0x937c) @ {172,105,85,69}: Syncing ...
<0.4753.0> EdgeHandler: dove_negative (0x84c4) @ {45,79,224,174}: accepted connection

14:43:40.060 [error] GenServer #PID<0.4753.0> terminating
** (MatchError) no match of right hand side value: []

Convert EdgeProtocol from JSON to RLP or similiar

Currently the EdgeProtocol is implemented in JSON for easy debugging. But especially for port-send/receive this requires BASE64 encoding of binary payloads and increases the bandwidth requirements unnecessarily.

Change ticket signature message from BERT to RLP

The DiodeRegistry is assuming ticket signatures to happen on an RLP encoded ticket representation. The current client and server implementations though create signatures on BERT encoded ticket representations. Server and client need to be updated

Server stuck syncing

My server was running for a long time. It stoped when I ran out of disk space. I extended the disk and now it's stuck syncing blocks. It starts extending from 4610000 and goes to 4620000 but then turns back to 4610000. It's stuck in that block. While extending, it's printing out extended alt messages multiple times.

Chain.add_block: Extending main #4611312[0x000049134a](1 TX) @enrich_turtle 
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle
Chain.add_block: Extended   alt #4611312[0x000049134a](1 TX) @enrich_turtle | (@#4611312[0x000049134a](1 TX) @enrich_turtle

And constantly printing out this error:

Ancestors: [Model.Sql, Diode.Supervisor, #PID<0.343.0>]
Message Queue Length: 17
Messages: ["$gen_cast": {:submit, ......I cut this part because it was so long....... }]
Links: [#PID<0.23491.0>, #PID<0.23506.0>, #PID<0.346.0>]
Dictionary: [{Stats, ""}]
Trapping Exits: false
Status: :running
Heap Size: 833026
Stack Size: 29
Reductions: 5852961
Neighbours:
    #PID<0.23491.0>
        Initial Call: Sqlitex.Server.init/1
        Current Call: :gen_server.loop/7
        Ancestors: [Model.ChainSql.Writer, Model.Sql, Diode.Supervisor, #PID<0.343.0>]
        Message Queue Length: 0
        Links: [#PID<0.23489.0>]
        Trapping Exits: false
        Status: :waiting
        Heap Size: 2984878
        Stack Size: 12
        Reductions: 781153
        Current Stacktrace:
            (stdlib 3.17.1) gen_server.erl:443: :gen_server.loop/7
            (stdlib 3.17.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3

14:54:47.249 [error] Child Model.ChainSql.Writer of Supervisor Model.Sql terminated
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in Chain.Block.state/1
    (Elixir.Diode 1.0.3) lib/chain/block.ex:41: Chain.Block.state(nil)
    (Elixir.Diode 1.0.3) lib/model/chainsql.ex:523: Model.ChainSql.prepare_state/1
    (Elixir.Diode 1.0.3) lib/model/chainsql.ex:254: Model.ChainSql.do_put_new_block/2
    (Elixir.Diode 1.0.3) lib/model/chainsql.ex:124: Model.ChainSql.Writer.write/1
    (Elixir.Diode 1.0.3) lib/model/chainsql.ex:98: Model.ChainSql.Writer.handle_cast/2
    (stdlib 3.17.1) gen_server.erl:695: :gen_server.try_dispatch/4
    (stdlib 3.17.1) gen_server.erl:771: :gen_server.handle_msg/6
    (stdlib 3.17.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Pid: #PID<0.23489.0>
Start Call: Model.ChainSql.Writer.start_link([])
Restart: :permanentShutdown: 5000
Type: :worker

What might be the problem?

Couldn't run application when execute ./run_beta

I saw this error when execute ./run_beta second time. ./run_beta will work if I clean the cached data in clones/man.

Error output:

====== Coinbase ======
clog_april       (0x7d7c4cb64035e7b0edf08a30f07c4e603982b95c)

=======> Elixir.Model.Sql loaded after 0.02s
Starting Elixir.Channels...
=======> Elixir.Channels loaded after 0.0s
Starting Elixir.PubSub...
=======> Elixir.PubSub loaded after 0.0s
Starting Elixir.Chain.BlockCache...
=======> Elixir.Chain.BlockCache loaded after 0.001s
Starting Elixir.Chain...
=======> Elixir.Chain loaded after 0.002s
** (Mix) Could not start application Elixir.Diode: Diode.start(:normal, []) returned an error: shutdown: failed to start child: Chain
    ** (EXIT) an exception was raised:
        ** (ArgumentError) argument error
            :erlang.binary_to_term(<<131, 116, 0, 0, 0, 5, 100, 0, 10, 95, 95, 115, 116, 114, 117, 99, 116, 95, 95, 100, 0, 18, 69, 108, 105, 120, 105, 114, 46, 67, 104, 97, 105, 110, 46, 66, 108, 111, 99, 107, 100, 0, 8, 99, 111, 105, 110, 98, 97, 115, ...>>, [:safe])
            (Elixir.Diode 0.2.9) lib/bert.ex:23: BertInt.decode!/1
            (Elixir.Diode 0.2.9) lib/chain.ex:245: Chain.load_blocks/0
            (Elixir.Diode 0.2.9) lib/chain.ex:28: Chain.init/1
            (stdlib 3.13.2) gen_server.erl:417: :gen_server.init_it/2
            (stdlib 3.13.2) gen_server.erl:385: :gen_server.init_it/6
            (stdlib 3.13.2) proc_lib.erl:226: :proc_lib.init_p_do_apply/3

Running Diffrent Servers with the Same Wallet

Hello, I am running a server now and I want to run more servers on different machines. Since staking is really important for diode mining, I want to use the same wallet for other servers. Is it possible to implement a feature to support running multiple servers with the same wallet?

Miner Crashing

After the update and issuing a ./run the miner runs for a few hours and then crashes

Dump log below

=erl_crash_dump:0.5 Thu May 5 19:27:13 2022 Slogan: sys_alloc: Cannot allocate 71302344 bytes of memory (of type "heap"). System version: Erlang/OTP 24 [erts-12.1.5] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] Compiled: Mon Nov 29 10:29:45 2021 Taints: asn1rt_nif,Elixir.Niffler,crypto,keccakf1600,libsecp256k1,esqlite3_nif Atoms: 27223 Calling Thread: scheduler:0 =scheduler:1 Scheduler Sleep Info Flags: SLEEPING | POLL_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK Current Process: =scheduler:2 Scheduler Sleep Info Flags: Scheduler Sleep Info Aux Work: Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 1 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: NONEMPTY_NORMAL | OUT_OF_WORK | HALFTIME_OUT_OF_WORK | NONEMPTY Current Process: =scheduler:3 Scheduler Sleep Info Flags: Scheduler Sleep Info Aux Work: THR_PRGR_LATER_OP | CNCLD_TMRS_THR_PRGR Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK | NONEMPTY | EXEC Current Process: <0.360.0> Current Process State: Running Current Process Internal State: ACT_PRIO_LOW | USR_PRIO_LOW | PRQ_PRIO_LOW | ACTIVE | RUNNING Current Process Program counter: 0x00007f39d811dc40 (erlang:put/2 + 24) Current Process Limited Stack Trace: 0x00007e9dddb53ac0:SReturn addr 0xD14EAE30 ('Elixir.Chain':'_lookup'/1 + 120) 0x00007e9dddb53ac8:SReturn addr 0xD14EC0A4 ('Elixir.Chain':ets_lookup/2 + 124) 0x00007e9dddb53ae0:SReturn addr 0xD14F4FAC ('Elixir.ProcessLru':fetch/3 + 340) 0x00007e9dddb53b00:SReturn addr 0xD83F4624 (timer:tc/1 + 228) 0x00007e9dddb53b18:SReturn addr 0xD13F8168 ('Elixir.Stats':'tc!'/2 + 888) 0x00007e9dddb53b40:SReturn addr 0xD13F7DC8 ('Elixir.Stats':tc/2 + 80) 0x00007e9dddb53b48:SReturn addr 0xD14D4920 ('Elixir.Chain.Block':difficulty/2 + 216) 0x00007e9dddb53b58:SReturn addr 0xD1691100 ('Elixir.Evm':init/5 + 632) 0x00007e9dddb53bb0:SReturn addr 0xD167D068 ('Elixir.Chain.Transaction':do_apply/6 + 912) 0x00007e9dddb53c00:SReturn addr 0xD152802C ('Elixir.Shell':call_tx/2 + 196) 0x00007e9dddb53c18:SReturn addr 0xD1522890 ('Elixir.Contract.Registry':call/4 + 240) 0x00007e9dddb53c20:SReturn addr 0xD1522CBC ('Elixir.Contract.Registry':min_transaction_fee/1 + 116) 0x00007e9dddb53c28:SReturn addr 0xD14FE384 ('Elixir.Chain.Worker':update_parent/1 + 412) 0x00007e9dddb53c50:SReturn addr 0xD14FCA88 ('Elixir.Chain.Worker':do_update/1 + 88) 0x00007e9dddb53c60:SReturn addr 0xD14FDAFC ('Elixir.Chain.Worker':handle_cast/2 + 404) 0x00007e9dddb53c68:SReturn addr 0xD8204BC4 (gen_server:try_dispatch/4 + 260) 0x00007e9dddb53cb0:SReturn addr 0xD8205A84 (gen_server:handle_msg/6 + 1380) 0x00007e9dddb53ce8:SReturn addr 0xD8231854 (proc_lib:init_p_do_apply/3 + 196) 0x00007e9dddb53d08:SReturn addr 0xD80A6948 (<terminate process normally>) 0x00007e9dddb53d10:SReturn addr 0xD80A6948 (<terminate process normally>) =scheduler:4 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK Current Process: =scheduler:5 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | INACTIVE Current Process: =scheduler:6 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: THR_PRGR_LATER_OP Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | INACTIVE Current Process: =scheduler:7 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | INACTIVE Current Process: =scheduler:8 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Port: Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | INACTIVE Current Process: =dirty_cpu_scheduler:9 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_scheduler:10 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_scheduler:11 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_scheduler:12 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_scheduler:13 Scheduler Sleep Info Flags: Scheduler Sleep Info Aux Work: Current Process: <0.358.0> Current Process State: Garbing Current Process Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | ACTIVE | GC | DIRTY_ACTIVE_SYS | DIRTY_RUNNING_SYS Current Process Program counter: 0x00007f39d80a51b0 (unknown function) Current Process Limited Stack Trace: 0x00007ea163fffb90:SReturn addr 0xD142335C ('Elixir.BertInt':'encode!'/1 + 108) 0x00007ea163fffb98:SReturn addr 0xD14CEBF4 ('Elixir.Model.ChainSql':prepare_state/1 + 220) 0x00007ea163fffba8:SReturn addr 0xD14CECCC ('Elixir.Model.ChainSql':put_block/1 + 100) 0x00007ea163fffbc0:SReturn addr 0xD14F0D9C ('Elixir.Chain':'-handle_call/3-fun-1-'/4 + 2164) 0x00007ea163fffc08:SReturn addr 0xD83F4624 (timer:tc/1 + 228) 0x00007ea163fffc20:SReturn addr 0xD13F8168 ('Elixir.Stats':'tc!'/2 + 888) 0x00007ea163fffc48:SReturn addr 0xD13F7DC8 ('Elixir.Stats':tc/2 + 80) 0x00007ea163fffc50:SReturn addr 0xD82050A8 (gen_server:try_handle_call/4 + 248) 0x00007ea163fffc70:SReturn addr 0xD82055EC (gen_server:handle_msg/6 + 204) 0x00007ea163fffcc8:SReturn addr 0xD82319E4 (proc_lib:wake_up/3 + 228) 0x00007ea163fffce8:SReturn addr 0xD80A6948 (<terminate process normally>) 0x00007ea163fffcf0:SReturn addr 0xD80A6948 (<terminate process normally>) =dirty_cpu_scheduler:14 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_scheduler:15 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_scheduler:16 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_cpu_run_queue Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK =dirty_io_scheduler:17 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:18 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:19 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:20 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:21 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:22 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:23 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:24 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:25 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_scheduler:26 Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING Scheduler Sleep Info Aux Work: Current Process: =dirty_io_run_queue Run Queue Max Length: 0 Run Queue High Length: 0 Run Queue Normal Length: 0 Run Queue Low Length: 0 Run Queue Port Length: 0 Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK =hash_table:atom_tab size: 32768 used: 18454 objs: 27222 depth: 7 =index_table:atom_tab size: 27648 limit: 1048576 entries: 27223 =hash_table:module_code size: 512 used: 367 objs: 531 depth: 4 =index_table:module_code size: 1024 limit: 65536 entries: 531 =hash_table:export_list size: 8192 used: 6223 objs: 11686 depth: 8 =index_table:export_list size: 12288 limit: 524288 entries: 11686 =hash_table:export_list size: 8192 used: 6222 objs: 11679 depth: 8 =hash_table:process_reg size: 128 used: 78 objs: 113 depth: 4 =hash_table:fun_table size: 4096 used: 2330 objs: 3693 depth: 5 =hash_table:node_table size: 16 used: 1 objs: 1 depth: 1 =hash_table:dist_table size: 16 used: 1 objs: 1 depth: 1 =allocated_areas sys_misc: 69016 static: 2107328 atom_space: 426088 418860 atom_table: 483465 module_table: 251568 export_table: 491940 export_list: 2337200 register_table: 1140 fun_table: 32882 module_refs: 25488 loaded_code: 16376864 dist_table: 635 node_table: 291 bits_bufs_size: 0 bif_timer: 0 process_table: 3145728 port_table: 1572864 ets_misc: 131072 external_alloc: 16376864 =allocator:sys_alloc option e: true option m: libc option tt: 131072 option tp: 0 =allocator:temp_alloc[0] versions: 2.1 3.0 option e: true option t: 9 option ramv: false option atags: false option sbct: 524288 option asbcst: 4145152 option rsbcst: 90 option rsbcmt: 80 option rmbcmt: 100 option mmbcs: 131072 option mmsbc: 256 option mmmbc: 18446744073709551615 option lmbcs: 10485760 option smbcs: 1048576 option mbcgs: 10 option acul: 0 option acnl: 0 option acfml: 0 option cp: undefined option mbsd: 3 option as: gf mbcs blocks[sys_alloc] count: 0 0 0 mbcs blocks[sys_alloc] size: 0 0 0 mbcs blocks[temp_alloc] count: 1 5 5 mbcs blocks[temp_alloc] size: 65544 65544 65544 mbcs blocks[sl_alloc] count: 0 0 0 mbcs blocks[sl_alloc] size: 0 0 0 mbcs blocks[std_alloc] count: 0 0 0 mbcs blocks[std_alloc] size: 0 0 0 mbcs blocks[ll_alloc] count: 0 0 0 mbcs blocks[ll_alloc] size: 0 0 0 mbcs blocks[eheap_alloc] count: 0 0 0 mbcs blocks[eheap_alloc] size: 0 0 0 mbcs blocks[ets_alloc] count: 0 0 0 mbcs blocks[ets_alloc] size: 0 0 0 mbcs blocks[fix_alloc] count: 0 0 0 mbcs blocks[fix_alloc] size: 0 0 0 mbcs blocks[literal_alloc] count: 0 0 0 mbcs blocks[literal_alloc] size: 0 0 0 mbcs blocks[binary_alloc] count: 0 0 0 mbcs blocks[binary_alloc] size: 0 0 0 mbcs blocks[driver_alloc] count: 0 0 0 mbcs blocks[driver_alloc] size: 0 0 0 mbcs blocks[test_alloc] count: 0 0 0 mbcs blocks[test_alloc] size: 0 0 0 mbcs carriers: 1 1 1 mbcs mseg carriers: 0 mbcs sys_alloc carriers: 1 mbcs carriers size: 131072 131072 131072 mbcs mseg carriers size: 0 mbcs sys_alloc carriers size: 131072 sbcs blocks[sys_alloc] count: 0 0 0 sbcs blocks[sys_alloc] size: 0 0 0 sbcs blocks[temp_alloc] count: 0 1 1 sbcs blocks[temp_alloc] size: 0 71302384 71302384 sbcs blocks[sl_alloc] count: 0 0 0 sbcs blocks[sl_alloc] size: 0 0 0 sbcs blocks[std_alloc] count: 0 0 0 sbcs blocks[std_alloc] size: 0 0 0 sbcs blocks[ll_alloc] count: 0 0 0 sbcs blocks[ll_alloc] size: 0 0 0 sbcs blocks[eheap_alloc] count: 0 0 0 sbcs blocks[eheap_alloc] size: 0 0 0 sbcs blocks[ets_alloc] count: 0 0 0 sbcs blocks[ets_alloc] size: 0 0 0 sbcs blocks[fix_alloc] count: 0 0 0 sbcs blocks[fix_alloc] size: 0 0 0 sbcs blocks[literal_alloc] count: 0 0 0 sbcs blocks[literal_alloc] size: 0 0 0 sbcs blocks[binary_alloc] count: 0 0 0 sbcs blocks[binary_alloc] size: 0 0 0 sbcs blocks[driver_alloc] count: 0 0 0 sbcs blocks[driver_alloc] size: 0 0 0 sbcs blocks[test_alloc] count: 0 0 0 sbcs blocks[test_alloc] size: 0 0 0 sbcs carriers: 0 1 1 sbcs mseg carriers: 0 sbcs sys_alloc carriers: 0 sbcs carriers size: 0 71303168 71303168 sbcs mseg carriers size: 0 sbcs sys_alloc carriers size: 0 temp_alloc calls: 2476 temp_free calls: 2475 temp_realloc calls: 0 mseg_alloc calls: 150 mseg_dealloc calls: 150 mseg_realloc calls: 0 sys_alloc calls: 1 sys_free calls: 0 sys_realloc calls: 0 =allocator:temp_alloc[1] versions: 0.9 3.0 option e: true option t: 9 option ramv: false option atags: false option sbct: 524288 option asbcst: 4145152 option rsbcst: 90 option rsbcmt: 80 option rmbcmt: 100 option mmbcs: 131072 option mmsbc: 256 option mmmbc: 18446744073709551615 option lmbcs: 10485760 option smbcs: 1048576 option mbcgs: 10 option acul: 0 option acnl: 0 option acfml: 0 option cp: undefined option as: af mbcs blocks[sys_alloc] count: 0 0 0 mbcs blocks[sys_alloc] size: 0 0 0 mbcs blocks[temp_alloc] count: 0 6 6 mbcs blocks[temp_alloc] size: 0 639032 639032 mbcs blocks[sl_alloc] count: 0 0 0 mbcs blocks[sl_alloc] size: 0 0 0 mbcs blocks[std_alloc] count: 0 0 0 mbcs blocks[std_alloc] size: 0 0 0 mbcs blocks[ll_alloc] count: 0 0 0 mbcs blocks[ll_alloc] size: 0 0 0 mbcs blocks[eheap_alloc] count: 0 0 0 mbcs blocks[eheap_alloc] size: 0 0 0 mbcs blocks[ets_alloc] count: 0 0 0 mbcs blocks[ets_alloc] size: 0 0 0 mbcs blocks[fix_alloc] count: 0 0 0 mbcs blocks[fix_alloc] size: 0 0 0 mbcs blocks[literal_alloc] count: 0 0 0 mbcs blocks[literal_alloc] size: 0 0 0 mbcs blocks[binary_alloc] count: 0 0 0 mbcs blocks[binary_alloc] size: 0 0 0 mbcs blocks[driver_alloc] count: 0 0 0 mbcs blocks[driver_alloc] size: 0 0 0 mbcs blocks[test_alloc] count: 0 0 0 mbcs blocks[test_alloc] size: 0 0 0 mbcs carriers: 1 2 2 mbcs mseg carriers: 0 mbcs sys_alloc carriers: 1 mbcs carriers size: 131072 1179648 1179648 mbcs mseg carriers size: 0 mbcs sys_alloc carriers size: 131072 sbcs blocks[sys_alloc] count: 0 0 0 sbcs blocks[sys_alloc] size: 0 0 0 sbcs blocks[temp_alloc] count: 0 1 1 sbcs blocks[temp_alloc] size: 0 4194312 4194312 sbcs blocks[sl_alloc] count: 0 0 0 sbcs blocks[sl_alloc] size: 0 0 0 sbcs blocks[std_alloc] count: 0 0 0 sbcs blocks[std_alloc] size: 0 0 0 sbcs blocks[ll_alloc] count: 0 0 0 sbcs blocks[ll_alloc] size: 0 0 0 sbcs blocks[eheap_alloc] count: 0 0 0 sbcs blocks[eheap_alloc] size: 0 0 0 sbcs blocks[ets_alloc] count: 0 0 0 sbcs blocks[ets_alloc] size: 0 0 0 sbcs blocks[fix_alloc] count: 0 0 0 sbcs blocks[fix_alloc] size: 0 0 0 sbcs blocks[literal_alloc] count: 0 0 0 sbcs blocks[literal_alloc] size: 0 0 0 sbcs blocks[binary_alloc] count: 0 0 0 sbcs blocks[binary_alloc] size: 0 0 0 sbcs blocks[driver_alloc] count: 0 0 0 sbcs blocks[driver_alloc] size: 0 0 0 sbcs blocks[test_alloc] count: 0 0 0 sbcs blocks[test_alloc] size: 0 0 0 sbcs carriers: 0 1 1 sbcs mseg carriers: 0 sbcs sys_alloc carriers: 0 sbcs carriers size: 0 4210688 4210688 sbcs mseg carriers size: 0 sbcs sys_alloc carriers size: 0 temp_alloc calls: 11320093 temp_free calls: 11320093 temp_realloc calls: 443404 mseg_alloc calls: 22280 mseg_dealloc calls: 22280 mseg_realloc calls: 68 sys_alloc calls: 1 sys_free calls: 0 sys_realloc calls: 0 =allocator:temp_alloc[2] versions: 0.9 3.0 option e: true option t: 9 option ramv: false option atags: false option sbct: 524288 option asbcst: 4145152 option rsbcst: 90 option rsbcmt: 80 option rmbcmt: 100 option mmbcs: 131072 option mmsbc: 256 option mmmbc: 18446744073709551615 option lmbcs: 10485760 option smbcs: 1048576 option mbcgs: 10 option acul: 0 option acnl: 0 option acfml: 0 option cp: undefined option as: af mbcs blocks[sys_alloc] count: 0 0 0 mbcs blocks[sys_alloc] size: 0 0 0 mbcs blocks[temp_alloc] count: 0 5 5 mbcs blocks[temp_alloc] size: 0 502896 502896 mbcs blocks[sl_alloc] count: 0 0 0 mbcs blocks[sl_alloc] size: 0 0 0 mbcs blocks[std_alloc] count: 0 0 0 mbcs blocks[std_alloc] size: 0 0 0 mbcs blocks[ll_alloc] count: 0 0 0 mbcs blocks[ll_alloc] size: 0 0 0 mbcs blocks[eheap_alloc] count: 0 0 0 mbcs blocks[eheap_alloc] size: 0 0 0 mbcs blocks[ets_alloc] count: 0 0 0 mbcs blocks[ets_alloc] size: 0 0 0 mbcs blocks[fix_alloc] count: 0 0 0 mbcs blocks[fix_alloc] size: 0 0 0 mbcs blocks[literal_alloc] count: 0 0 0 mbcs blocks[literal_alloc] size: 0 0 0 mbcs blocks[binary_alloc] count: 0 0 0 mbcs blocks[binary_alloc] size: 0 0 0 mbcs blocks[driver_alloc] count: 0 0 0 mbcs blocks[driver_alloc] size: 0 0 0

I checked that I am already synced with master.

this appears to an out of sync mix.exs file that caused a memory unbounded issue,

fixed it with a last resort of git reset --hard origin/master

New Ubuntu Server 18.04 Dependencies Issue on Compile

Hi guys the previous errors are resolved and now I have a dependency error when compiling elixir.diode

as always all assistance greatly appreciated

Build details Ubuntu LTS 18.04 minimal server install
GNU Make 4.1
gcc version 7.5.0
g++ | >= 4:7.2
gcc | >= 4:7.2

dpkg -s libboost-dev | grep Version
Version: 1.65.1.0ubuntu1
autoconf (GNU Autoconf) 2.69
Erlang/OTP 23 [erts-11.1.7] [source] [64-bit] [smp:32:32] [ds:32:32:10] [async-threads:1] [hipe]
Elixir 1.11.2 (compiled with Erlang/OTP 23)
dpkg -s libtool-bin | grep 'Version'
Version: 2.4.6-2
dpkg -s libboost-dev | grep 'Version'
Version: 1.65.1.0ubuntu1
dpkg -s build-essential | grep 'Version'
Version: 12.4ubuntu1

Error:
Generated plug_cowboy app
**==> Elixir.Diode
Unchecked dependencies for environment dev:

  • profiler (Hex package)
    could not find an app file at "_build/dev/lib/profiler/ebin/profiler.app". This may happen if the dependency was not yet compiled or the dependency indeed has no app file (then you can pass app: false as option)
    ** (Mix) Can't continue due to errors on dependencies**

Build Begins
mix deps.get
Could not find Hex, which is needed to build dependency :benchee
Shall I install Hex? (if running non-interactively, use "mix local.hex --force") [Yn] Y

  • creating /home/pxcghost/.mix/archives/hex-0.21.1
  • Getting keccakf1600 (https://github.com/hayesgm/erlang-keccakf1600.git)
    remote: Enumerating objects: 166, done.
    remote: Total 166 (delta 0), reused 0 (delta 0), pack-reused 166
    Receiving objects: 100% (166/166), 84.28 KiB | 358.00 KiB/s, done.
    Resolving deltas: 100% (93/93), done.
  • Getting sqlitex (https://github.com/diodechain/sqlitex.git)
    remote: Enumerating objects: 139, done.
    remote: Counting objects: 100% (139/139), done.
    remote: Compressing objects: 100% (93/93), done.
    remote: Total 1498 (delta 53), reused 97 (delta 44), pack-reused 1359
    Receiving objects: 100% (1498/1498), 286.35 KiB | 805.00 KiB/s, done.
    Resolving deltas: 100% (781/781), done.
    Resolving Hex dependencies...
    Dependency resolution completed:
    Unchanged:
    benchee 1.0.1
    cowboy 1.1.2
    cowlib 1.0.2
    debouncer 0.1.3
    decimal 1.8.1
    deep_merge 1.0.0
    earmark 1.4.4
    elixir_make 0.6.0
    esqlite 0.4.1
    ex_doc 0.21.3
    libsecp256k1 0.1.10
    makeup 1.0.1
    makeup_elixir 0.14.0
    mime 1.3.1
    mix_erlang_tasks 0.1.0
    nimble_parsec 0.5.3
    plug 1.10.0
    plug_cowboy 1.0.0
    plug_crypto 1.1.2
    poison 3.1.0
    profiler 0.2.2
    ranch 1.3.2
    while 0.2.2
  • Getting benchee (Hex package)
  • Getting debouncer (Hex package)
  • Getting elixir_make (Hex package)
  • Getting ex_doc (Hex package)
  • Getting libsecp256k1 (Hex package)
  • Getting plug_cowboy (Hex package)
  • Getting plug (Hex package)
  • Getting poison (Hex package)
  • Getting profiler (Hex package)
  • Getting while (Hex package)
  • Getting esqlite (Hex package)
  • Getting decimal (Hex package)
  • Getting mime (Hex package)
  • Getting plug_crypto (Hex package)
  • Getting cowboy (Hex package)
  • Getting cowlib (Hex package)
  • Getting ranch (Hex package)
  • Getting mix_erlang_tasks (Hex package)
  • Getting earmark (Hex package)
  • Getting makeup_elixir (Hex package)
  • Getting makeup (Hex package)
  • Getting nimble_parsec (Hex package)
  • Getting deep_merge (Hex package)
    ┌─[pxcghost@ghost-server1-virtualserver01]─[~/diode_server_ex]
    └──╼ $mix compile
    warning: variable "description" does not exist and is being expanded to "description()", please use parentheses to remove the ambiguity or change the variable name
    /home/pxcghost/diode_server_ex/deps/mix_erlang_tasks/mix.exs:9: MixErlangTasks.Mixfile.project/0

warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
/home/pxcghost/diode_server_ex/deps/mix_erlang_tasks/mix.exs:10: MixErlangTasks.Mixfile.project/0

==> mix_erlang_tasks
Compiling 4 files (.ex)
warning: :ct.run_test/1 defined in application :common_test is used by the current application but the current application does not directly depend on :common_test. To fix this, you must do one of:

  1. If :common_test is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :common_test is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :common_test, you may optionally skip this warning by adding [xref: [exclude: :ct]] to your "def project" in mix.exs

lib/mix/tasks/ct.ex:30: Mix.Tasks.Ct.run/1

warning: :edoc.application/3 defined in application :edoc is used by the current application but the current application does not directly depend on :edoc. To fix this, you must do one of:

  1. If :edoc is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :edoc is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :edoc, you may optionally skip this warning by adding [xref: [exclude: :edoc]] to your "def project" in mix.exs

lib/mix/tasks/edoc.ex:8: Mix.Tasks.Edoc.run/1

warning: :eunit.test/2 defined in application :eunit is used by the current application but the current application does not directly depend on :eunit. To fix this, you must do one of:

  1. If :eunit is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :eunit is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :eunit, you may optionally skip this warning by adding [xref: [exclude: :eunit]] to your "def project" in mix.exs

lib/mix/tasks/eunit.ex:32: Mix.Tasks.Eunit.run/1

warning: String.to_char_list/1 is deprecated. Use String.to_charlist/1 instead
Found at 2 locations:
lib/util.ex:13: MixErlangTasks.Util.compile_files/2
lib/util.ex:14: MixErlangTasks.Util.compile_files/2

warning: String.to_char_list/1 is deprecated. Use String.to_charlist/1 instead
Found at 2 locations:
lib/mix/tasks/ct.ex:31: Mix.Tasks.Ct.run/1
lib/mix/tasks/ct.ex:32: Mix.Tasks.Ct.run/1

Generated mix_erlang_tasks app
==> Elixir.Diode
Could not find "rebar3", which is needed to build dependency :esqlite
I can install a local copy which is just used by Mix
Shall I install rebar3? (if running non-interactively, use "mix local.rebar --force") [Yn] Y

  • creating /home/pxcghost/.mix/rebar
  • creating /home/pxcghost/.mix/rebar3
    ===> Fetching pc v1.12.0
    ===> Downloaded package, caching at /home/pxcghost/.cache/rebar3/hex/hexpm/packages/pc-1.12.0.tar
    ===> Compiling pc
    ===> Compiling esqlite
    ===> Compiling c_src/esqlite3_nif.c
    ===> Compiling c_src/queue.c
    ===> Compiling c_src/sqlite3/sqlite3.c
    ===> Linking /home/pxcghost/diode_server_ex/deps/esqlite/priv/esqlite3_nif.so
    c_src/build_deps.sh
    Cloning into 'secp256k1'...
    remote: Enumerating objects: 1, done.
    remote: Counting objects: 100% (1/1), done.
    remote: Total 6145 (delta 0), reused 0 (delta 0), pack-reused 6144
    Receiving objects: 100% (6145/6145), 2.58 MiB | 3.63 MiB/s, done.
    Resolving deltas: 100% (4300/4300), done.
    HEAD is now at d333521 Merge #494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS
    libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
    libtoolize: copying file 'build-aux/ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
    libtoolize: copying file 'build-aux/m4/libtool.m4'
    libtoolize: copying file 'build-aux/m4/ltoptions.m4'
    libtoolize: copying file 'build-aux/m4/ltsugar.m4'
    libtoolize: copying file 'build-aux/m4/ltversion.m4'
    libtoolize: copying file 'build-aux/m4/lt~obsolete.m4'
    configure.ac:10: installing 'build-aux/compile'
    configure.ac:5: installing 'build-aux/config.guess'
    configure.ac:5: installing 'build-aux/config.sub'
    configure.ac:9: installing 'build-aux/install-sh'
    configure.ac:9: installing 'build-aux/missing'
    Makefile.am: installing 'build-aux/depcomp'
    parallel-tests: installing 'build-aux/test-driver'
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking how to print strings... printf
    checking for style of include used by make... GNU
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... gcc3
    checking for a sed that does not truncate output... /bin/sed
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for fgrep... /bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @file support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for a working dd... /bin/dd
    checking how to truncate binary pipes... /bin/dd bs=4096 count=1
    checking for mt... mt
    checking if mt is a manifest tool... no
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking whether make supports nested variables... (cached) yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for ar... /usr/bin/ar
    checking for ranlib... /usr/bin/ranlib
    checking for strip... /usr/bin/strip
    checking for gcc... gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking whether gcc understands -c and -o together... (cached) yes
    checking dependency style of gcc... (cached) gcc3
    checking how to run the C preprocessor... gcc -E
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... gcc3
    checking if gcc supports -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function -Wno-long-long -Wno-overlength-strings... yes
    checking if gcc supports -fvisibility=hidden... yes
    checking for __int128... yes
    checking for __builtin_expect... yes
    checking native compiler: gcc... ok
    checking for x86_64 assembly availability... yes
    checking gmp.h usability... no
    checking gmp.h presence... no
    checking for gmp.h... no
    checking for CRYPTO... no
    checking openssl/crypto.h usability... no
    checking openssl/crypto.h presence... no
    checking for openssl/crypto.h... no
    checking for javac... no
    configure: WARNING: cannot find JDK; try setting $JAVAC or $JAVA_HOME
    checking jni headers... none
    configure: WARNING: jni headers/dependencies not found. jni support disabled
    checking whether byte ordering is bigendian... no
    configure: Using static precomputation: yes
    configure: Using assembly optimizations: x86_64
    configure: Using field implementation: 64bit
    configure: Using bignum implementation: no
    configure: Using scalar implementation: 64bit
    configure: Using endomorphism optimizations: no
    configure: Building benchmarks: yes
    configure: Building for coverage analysis: no
    configure: Building ECDH module: no
    configure: Building ECDSA pubkey recovery module: yes
    configure: Using jni: no
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating libsecp256k1.pc
    config.status: creating src/libsecp256k1-config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    make[1]: Entering directory '/home/pxcghost/diode_server_ex/deps/libsecp256k1/c_src/secp256k1'
    gcc -I. -g -O2 -Wall -Wextra -Wno-unused-function -c src/gen_context.c -o gen_context.o
    gcc gen_context.o -o gen_context
    ./gen_context
    CC src/libsecp256k1_la-secp256k1.lo
    CCLD libsecp256k1.la
    /usr/bin/ar: u' modifier ignored since D' is the default (see `U')
    CC src/bench_verify.o
    CCLD bench_verify
    CC src/bench_sign.o
    CCLD bench_sign
    CC src/bench_internal-bench_internal.o
    CCLD bench_internal
    CC src/bench_ecmult-bench_ecmult.o
    CCLD bench_ecmult
    CC src/tests-tests.o
    CCLD tests
    CC src/exhaustive_tests-tests_exhaustive.o
    CCLD exhaustive_tests
    CC src/bench_recover.o
    CCLD bench_recover
    make[1]: Leaving directory '/home/pxcghost/diode_server_ex/deps/libsecp256k1/c_src/secp256k1'
    cc -I/usr/lib/erlang/erts-11.1.7/include -I c_src/secp256k1 -I c_src/secp256k1/src -I c_src/secp256k1/include -I../libsecp256k1/src -fPIC -shared -o priv/libsecp256k1_nif.so c_src/libsecp256k1_nif.c c_src/secp256k1/.libs/libsecp256k1.a -lgmp
    c_src/libsecp256k1_nif.c: In function ‘ecdsa_sign’:
    c_src/libsecp256k1_nif.c:494:51: warning: passing argument 2 of ‘secp256k1_ecdsa_signature_serialize_der’ from incompatible pointer type [-Wincompatible-pointer-types]
    if (secp256k1_ecdsa_signature_serialize_der(ctx, &intermediatesig, &siglen, &signature) != 1) {
    ^
    In file included from c_src/libsecp256k1_nif.c:9:0:
    c_src/secp256k1/src/secp256k1.c:261:5: note: expected ‘unsigned char ’ but argument is of type ‘unsigned char ()[74]’
    int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context* ctx, unsigned char output, size_t outputlen, const secp256k1_ecdsa_signature sig) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from c_src/secp256k1/src/secp256k1.c:9:0,
    from c_src/libsecp256k1_nif.c:9:
    c_src/libsecp256k1_nif.c:497:64: warning: passing argument 3 of ‘secp256k1_ecdsa_signature_parse_der’ from incompatible pointer type [-Wincompatible-pointer-types]
    CHECK(secp256k1_ecdsa_signature_parse_der(ctx, &signature, &intermediatesig, siglen) == 1);
    ^
    c_src/secp256k1/src/util.h:40:39: note: in definition of macro ‘EXPECT’
    #define EXPECT(x,c) __builtin_expect((x),(c))
    ^
    c_src/libsecp256k1_nif.c:497:5: note: in expansion of macro ‘CHECK’
    CHECK(secp256k1_ecdsa_signature_parse_der(ctx, &signature, &intermediatesig, siglen) == 1);
    ^~~~~
    In file included from c_src/libsecp256k1_nif.c:9:0:
    c_src/secp256k1/src/secp256k1.c:224:5: note: expected ‘const unsigned char ’ but argument is of type ‘unsigned char ()[74]’
    int secp256k1_ecdsa_signature_parse_der(const secp256k1_context
    ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/bin/ld: cannot find -lgmp
    collect2: error: ld returned 1 exit status
    make: *** [priv/libsecp256k1_nif.so] Error 1
    Makefile:30: recipe for target 'priv/libsecp256k1_nif.so' failed
    ==> libsecp256k1
    warning: Mix compiler :make_bindings was supposed to return {:ok | :noop | :error, [diagnostic]} but it returned :error
    Compiling 1 file (.erl)
    src/libsecp256k1.erl:146: Warning: function not_loaded/1 is unused
    Generated libsecp256k1 app
    ==> nimble_parsec
    Compiling 4 files (.ex)
    Generated nimble_parsec app
    ==> makeup
    Compiling 44 files (.ex)
    Generated makeup app
    ===> Compiling ranch
    src/ranch_ssl.erl:128: Warning: ssl:ssl_accept/2 is deprecated and will be removed in OTP 24; use use ssl_handshake/1,2,3 instead
    src/ranch_ssl.erl:233: Warning: ssl:cipher_suites/0 is deprecated and will be removed in OTP 24; use use cipher_suites/2,3 instead
    src/ranch_ssl.erl:235: Warning: ssl:cipher_suites/0 is deprecated and will be removed in OTP 24; use use cipher_suites/2,3 instead

==> decimal
Compiling 1 file (.ex)
Generated decimal app
warning: String.strip/1 is deprecated. Use String.trim/1 instead
/home/pxcghost/diode_server_ex/deps/poison/mix.exs:4: Poison.Mixfile

==> poison
Compiling 4 files (.ex)
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
lib/poison/encoder.ex:173: Poison.Encoder.BitString.seq/1

Generated poison app
===> Compiling keccakf1600
make: Entering directory '/home/pxcghost/diode_server_ex/deps/keccakf1600/c_src'
C decaf-utils.c
C keccakf1600_nif.c
C shake.c
In file included from /usr/include/assert.h:35:0,
from /home/pxcghost/diode_server_ex/deps/keccakf1600/c_src/shake.c:43:
/usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]

warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"

^~~~~~~
LD keccakf1600.so
make: Leaving directory '/home/pxcghost/diode_server_ex/deps/keccakf1600/c_src'
==> while
Compiling 1 file (.ex)
Generated while app
==> elixir_make
Compiling 1 file (.ex)
Generated elixir_make app
==> earmark
Compiling 1 file (.yrl)
Compiling 2 files (.xrl)
Compiling 3 files (.erl)
Compiling 32 files (.ex)
Generated earmark app
warning: Mix.Local.path_for/1 is deprecated. Use Mix.path_for/1 instead
mix.exs:68: MakeupElixir.Mixfile.build_docs/1

==> makeup_elixir
Compiling 4 files (.ex)
Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)
Generated makeup_elixir app
==> ex_doc
Compiling 20 files (.ex)
warning: :crypto.strong_rand_bytes/1 defined in application :crypto is used by the current application but the current application does not directly depend on :crypto. To fix this, you must do one of:

  1. If :crypto is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :crypto is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :crypto, you may optionally skip this warning by adding [xref: [exclude: :crypto]] to your "def project" in mix.exs

lib/ex_doc/formatter/epub.ex:166: ExDoc.Formatter.EPUB.uuid4/0

Generated ex_doc app
==> debouncer
Compiling 1 file (.ex)
warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead
lib/debouncer.ex:135: Debouncer.start/2

Generated debouncer app
warning: redefining module Profiler.MixProject (current version defined in memory)
/home/pxcghost/diode_server_ex/deps/profiler/mix.exs:1

===> Compiling cowlib
src/cow_multipart.erl:392: Warning: crypto:rand_bytes/1 is removed; use crypto:strong_rand_bytes/1 instead

===> Compiling cowboy
src/cowboy_handler.erl:87: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace
src/cowboy_handler.erl:116: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace
src/cowboy_handler.erl:235: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace
src/cowboy_handler.erl:290: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace

src/cowboy_rest.erl:69: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace
src/cowboy_rest.erl:1006: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace

src/cowboy_websocket.erl:147: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace
src/cowboy_websocket.erl:645: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace
src/cowboy_websocket.erl:755: Warning: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace

==> mime
Compiling 2 files (.ex)
Generated mime app
==> sqlitex
Compiling 9 files (.ex)
Generated sqlitex app
==> plug_crypto
Compiling 5 files (.ex)
warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/crypto/key_generator.ex:56

warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/crypto/message_verifier.ex:24

warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/crypto/message_verifier.ex:33

warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/crypto/message_encryptor.ex:37

warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/crypto/message_encryptor.ex:47

Generated plug_crypto app
==> plug
Compiling 1 file (.erl)
Compiling 40 files (.ex)
warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/conn/wrapper_error.ex:23

Generated plug app
==> plug_cowboy
Compiling 5 files (.ex)
warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/cowboy/handler.ex:24

warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/cowboy/handler.ex:30

warning: System.stacktrace/0 is deprecated, use STACKTRACE instead
lib/plug/cowboy/handler.ex:35

Generated plug_cowboy app
**==> Elixir.Diode
Unchecked dependencies for environment dev:

  • profiler (Hex package)
    could not find an app file at "_build/dev/lib/profiler/ebin/profiler.app". This may happen if the dependency was not yet compiled or the dependency indeed has no app file (then you can pass app: false as option)
    ** (Mix) Can't continue due to errors on dependencies**

$hex

Command 'hex' not found, but can be installed with:

sudo apt install basez

$mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
benchee 1.0.1
cowboy 1.1.2
cowlib 1.0.2
debouncer 0.1.3
decimal 1.8.1
deep_merge 1.0.0
earmark 1.4.4
elixir_make 0.6.0
esqlite 0.4.1
ex_doc 0.21.3
libsecp256k1 0.1.10
makeup 1.0.1
makeup_elixir 0.14.0
mime 1.3.1
mix_erlang_tasks 0.1.0
nimble_parsec 0.5.3
plug 1.10.0
plug_cowboy 1.0.0
plug_crypto 1.1.2
poison 3.1.0
profiler 0.2.2
ranch 1.3.2
while 0.2.2

Help

`GLIBC_2.25 not found

Fix travis CI

Some networking tests always fail in the travis CI environment. This needs to be investigated and either fixed within the Travis configuration or in the tests them self is possible.

Building New Server

Hi All,
I am running vagrant with ubuntu-bionic-18.04. I updated my dev environment with the required make etc I installed esl-erlang as follows:
Add Erlang Solutions repository: wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb && sudo dpkg -i erlang-solutions_2.0_all.deb
Run: sudo apt-get update
Install the Erlang/OTP platform and all of its applications: sudo apt-get install esl-erlang
Install Elixir: sudo apt-get install elixir

mix deps.get shows the following:
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
benchee 1.0.1
cowboy 1.1.2
cowlib 1.0.2
debouncer 0.1.3
decimal 1.8.1
deep_merge 1.0.0
earmark 1.4.4
elixir_make 0.6.0
esqlite 0.4.1
ex_doc 0.21.3
keccakf1600_orig 2.0.0
libsecp256k1 0.1.10
makeup 1.0.1
makeup_elixir 0.14.0
mime 1.3.1
mix_erlang_tasks 0.1.0
nimble_parsec 0.5.3
plug 1.10.0
plug_cowboy 1.0.0
plug_crypto 1.1.2
poison 3.1.0
profiler 0.2.2
ranch 1.3.2
while 0.2.2
All dependencies are up to date

when running mix compile a number of issues show up:

mix compile
warning: variable "description" does not exist and is being expanded to "description()", please use parentheses to remove the ambiguity or change the variable name
/home/vagrant/diode_server_ex/deps/mix_erlang_tasks/mix.exs:9: MixErlangTasks.Mixfile.project/0

warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
/home/vagrant/diode_server_ex/deps/mix_erlang_tasks/mix.exs:10: MixErlangTasks.Mixfile.project/0

==> mix_erlang_tasks
Compiling 4 files (.ex)
warning: :ct.run_test/1 defined in application :common_test is used by the current application but the current application does not directly depend on :common_test. To fix this, you must do one of:

  1. If :common_test is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :common_test is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :common_test, you may optionally skip this warning by adding [xref: [exclude: :ct]] to your "def project" in mix.exs

lib/mix/tasks/ct.ex:30: Mix.Tasks.Ct.run/1

warning: :edoc.application/3 defined in application :edoc is used by the current application but the current application does not directly depend on :edoc. To fix this, you must do one of:

  1. If :edoc is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :edoc is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :edoc, you may optionally skip this warning by adding [xref: [exclude: :edoc]] to your "def project" in mix.exs

lib/mix/tasks/edoc.ex:8: Mix.Tasks.Edoc.run/1

warning: :eunit.test/2 defined in application :eunit is used by the current application but the current application does not directly depend on :eunit. To fix this, you must do one of:

  1. If :eunit is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :eunit is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :eunit, you may optionally skip this warning by adding [xref: [exclude: :eunit]] to your "def project" in mix.exs

lib/mix/tasks/eunit.ex:32: Mix.Tasks.Eunit.run/1

warning: String.to_char_list/1 is deprecated. Use String.to_charlist/1 instead
Found at 2 locations:
lib/mix/tasks/ct.ex:31: Mix.Tasks.Ct.run/1
lib/mix/tasks/ct.ex:32: Mix.Tasks.Ct.run/1

warning: String.to_char_list/1 is deprecated. Use String.to_charlist/1 instead
Found at 2 locations:
lib/util.ex:13: MixErlangTasks.Util.compile_files/2
lib/util.ex:14: MixErlangTasks.Util.compile_files/2

Generated mix_erlang_tasks app
==> Elixir.Diode
Could not find "rebar3", which is needed to build dependency :esqlite
I can install a local copy which is just used by Mix
Shall I install rebar3? (if running non-interactively, use "mix local.rebar --force") [Yn] Y

  • creating /home/vagrant/.mix/rebar
  • creating /home/vagrant/.mix/rebar3
    ===> Fetching pc v1.11.0
    ===> Downloaded package, caching at /home/vagrant/.cache/rebar3/hex/hexpm/packages/pc-1.11.0.tar
    ===> Compiling pc
    ===> Compiling esqlite
    ===> Compiling c_src/esqlite3_nif.c
    ===> Compiling c_src/queue.c
    ===> Compiling c_src/sqlite3/sqlite3.c
    ===> Linking /home/vagrant/diode_server_ex/deps/esqlite/priv/esqlite3_nif.so
    c_src/build_deps.sh
    Cloning into 'secp256k1'...
    remote: Enumerating objects: 88, done.
    remote: Counting objects: 100% (88/88), done.
    remote: Compressing objects: 100% (86/86), done.
    remote: Total 6007 (delta 10), reused 15 (delta 0), pack-reused 5919
    Receiving objects: 100% (6007/6007), 2.66 MiB | 5.49 MiB/s, done.
    Resolving deltas: 100% (4161/4161), done.
    HEAD is now at d333521 Merge #494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS
    libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
    libtoolize: copying file 'build-aux/ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
    libtoolize: copying file 'build-aux/m4/libtool.m4'
    libtoolize: copying file 'build-aux/m4/ltoptions.m4'
    libtoolize: copying file 'build-aux/m4/ltsugar.m4'
    libtoolize: copying file 'build-aux/m4/ltversion.m4'
    libtoolize: copying file 'build-aux/m4/lt~obsolete.m4'
    configure.ac:10: installing 'build-aux/compile'
    configure.ac:5: installing 'build-aux/config.guess'
    configure.ac:5: installing 'build-aux/config.sub'
    configure.ac:9: installing 'build-aux/install-sh'
    configure.ac:9: installing 'build-aux/missing'
    Makefile.am: installing 'build-aux/depcomp'
    parallel-tests: installing 'build-aux/test-driver'
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking how to print strings... printf
    checking for style of include used by make... GNU
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... gcc3
    checking for a sed that does not truncate output... /bin/sed
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for fgrep... /bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @file support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for a working dd... /bin/dd
    checking how to truncate binary pipes... /bin/dd bs=4096 count=1
    checking for mt... mt
    checking if mt is a manifest tool... no
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking whether make supports nested variables... (cached) yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for ar... /usr/bin/ar
    checking for ranlib... /usr/bin/ranlib
    checking for strip... /usr/bin/strip
    checking for gcc... gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking whether gcc understands -c and -o together... (cached) yes
    checking dependency style of gcc... (cached) gcc3
    checking how to run the C preprocessor... gcc -E
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... gcc3
    checking if gcc supports -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function -Wno-long-long -Wno-overlength-strings... yes
    checking if gcc supports -fvisibility=hidden... yes
    checking for __int128... yes
    checking for __builtin_expect... yes
    checking native compiler: gcc... ok
    checking for x86_64 assembly availability... yes
    checking gmp.h usability... no
    checking gmp.h presence... no
    checking for gmp.h... no
    checking for CRYPTO... no
    checking openssl/crypto.h usability... no
    checking openssl/crypto.h presence... no
    checking for openssl/crypto.h... no
    checking for javac... no
    configure: WARNING: cannot find JDK; try setting $JAVAC or $JAVA_HOME
    checking jni headers... none
    configure: WARNING: jni headers/dependencies not found. jni support disabled
    checking whether byte ordering is bigendian... no
    configure: Using static precomputation: yes
    configure: Using assembly optimizations: x86_64
    configure: Using field implementation: 64bit
    configure: Using bignum implementation: no
    configure: Using scalar implementation: 64bit
    configure: Using endomorphism optimizations: no
    configure: Building benchmarks: yes
    configure: Building for coverage analysis: no
    configure: Building ECDH module: no
    configure: Building ECDSA pubkey recovery module: yes
    configure: Using jni: no
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating libsecp256k1.pc
    config.status: creating src/libsecp256k1-config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    make[1]: Entering directory '/home/vagrant/diode_server_ex/deps/libsecp256k1/c_src/secp256k1'
    gcc -I. -g -O2 -Wall -Wextra -Wno-unused-function -c src/gen_context.c -o gen_context.o
    gcc gen_context.o -o gen_context
    ./gen_context
    CC src/libsecp256k1_la-secp256k1.lo
    CCLD libsecp256k1.la
    /usr/bin/ar: u' modifier ignored since D' is the default (see `U')
    CC src/bench_verify.o
    CCLD bench_verify
    CC src/bench_sign.o
    CCLD bench_sign
    CC src/bench_internal-bench_internal.o
    CCLD bench_internal
    CC src/bench_ecmult-bench_ecmult.o
    CCLD bench_ecmult
    CC src/tests-tests.o
    CCLD tests
    CC src/exhaustive_tests-tests_exhaustive.o
    CCLD exhaustive_tests
    CC src/bench_recover.o
    CCLD bench_recover
    make[1]: Leaving directory '/home/vagrant/diode_server_ex/deps/libsecp256k1/c_src/secp256k1'
    cc -I/usr/lib/erlang/erts-11.1.4/include -I c_src/secp256k1 -I c_src/secp256k1/src -I c_src/secp256k1/include -I../libsecp256k1/src -fPIC -shared -o priv/libsecp256k1_nif.so c_src/libsecp256k1_nif.c c_src/secp256k1/.libs/libsecp256k1.a -lgmp
    c_src/libsecp256k1_nif.c: In function ‘ecdsa_sign’:
    c_src/libsecp256k1_nif.c:494:51: warning: passing argument 2 of ‘secp256k1_ecdsa_signature_serialize_der’ from incompatible pointer type [-Wincompatible-pointer-types]
    if (secp256k1_ecdsa_signature_serialize_der(ctx, &intermediatesig, &siglen, &signature) != 1) {
    ^
    In file included from c_src/libsecp256k1_nif.c:9:0:
    c_src/secp256k1/src/secp256k1.c:261:5: note: expected ‘unsigned char ’ but argument is of type ‘unsigned char ()[74]’
    int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context* ctx, unsigned char output, size_t outputlen, const secp256k1_ecdsa_signature sig) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from c_src/secp256k1/src/secp256k1.c:9:0,
    from c_src/libsecp256k1_nif.c:9:
    c_src/libsecp256k1_nif.c:497:64: warning: passing argument 3 of ‘secp256k1_ecdsa_signature_parse_der’ from incompatible pointer type [-Wincompatible-pointer-types]
    CHECK(secp256k1_ecdsa_signature_parse_der(ctx, &signature, &intermediatesig, siglen) == 1);
    ^
    c_src/secp256k1/src/util.h:40:39: note: in definition of macro ‘EXPECT’
    #define EXPECT(x,c) __builtin_expect((x),(c))
    ^
    c_src/libsecp256k1_nif.c:497:5: note: in expansion of macro ‘CHECK’
    CHECK(secp256k1_ecdsa_signature_parse_der(ctx, &signature, &intermediatesig, siglen) == 1);
    ^~~~~
    In file included from c_src/libsecp256k1_nif.c:9:0:
    c_src/secp256k1/src/secp256k1.c:224:5: note: expected ‘const unsigned char ’ but argument is of type ‘unsigned char ()[74]’
    int secp256k1_ecdsa_signature_parse_der(const secp256k1_context
    ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/bin/ld: cannot find -lgmp
    collect2: error: ld returned 1 exit status
    make: *** [priv/libsecp256k1_nif.so] Error 1
    Makefile:30: recipe for target 'priv/libsecp256k1_nif.so' failed
    ==> libsecp256k1
    warning: Mix compiler :make_bindings was supposed to return {:ok | :noop | :error, [diagnostic]} but it returned :error
    Compiling 1 file (.erl)
    src/libsecp256k1.erl:146: Warning: function not_loaded/1 is unused
    Generated libsecp256k1 app
    ==> nimble_parsec
    Compiling 4 files (.ex)
    Generated nimble_parsec app
    ==> makeup
    Compiling 44 files (.ex)
    Generated makeup app
    ===> Compiling ranch
    src/ranch_ssl.erl:128: Warning: ssl:ssl_accept/2 is deprecated and will be removed in OTP 24; use use ssl_handshake/1,2,3 instead
    src/ranch_ssl.erl:233: Warning: ssl:cipher_suites/0 is deprecated and will be removed in OTP 24; use use cipher_suites/2,3 instead
    src/ranch_ssl.erl:235: Warning: ssl:cipher_suites/0 is deprecated and will be removed in OTP 24; use use cipher_suites/2,3 instead

==> decimal
Compiling 1 file (.ex)
Generated decimal app
warning: String.strip/1 is deprecated. Use String.trim/1 instead
/home/vagrant/diode_server_ex/deps/poison/mix.exs:4: Poison.Mixfile

==> poison
Compiling 4 files (.ex)
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
lib/poison/encoder.ex:173: Poison.Encoder.BitString.seq/1

Generated poison app
===> Compiling keccakf1600
make: Entering directory '/home/vagrant/diode_server_ex/deps/keccakf1600/c_src'
C decaf-utils.c
C keccakf1600_nif.c
C shake.c
In file included from /usr/include/assert.h:35:0,
from /home/vagrant/diode_server_ex/deps/keccakf1600/c_src/shake.c:43:
/usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]

warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"

^~~~~~~
LD keccakf1600.so
/usr/bin/ld: cannot find -lerl_interface
collect2: error: ld returned 1 exit status
Makefile:140: recipe for target '/home/vagrant/diode_server_ex/deps/keccakf1600/c_src/../priv/keccakf1600.so' failed
make: *** [/home/vagrant/diode_server_ex/deps/keccakf1600/c_src/../priv/keccakf1600.so] Error 1
make: Leaving directory '/home/vagrant/diode_server_ex/deps/keccakf1600/c_src'
===> Hook for compile failed!

==> Elixir.Diode
** (Mix) Could not compile dependency :keccakf1600, "/home/vagrant/.mix/rebar3 bare compile --paths /home/vagrant/diode_server_ex/_build/dev/lib/*/ebin" command failed. You can recompile this dependency with "mix deps.compile keccakf1600", update it with "mix deps.update keccakf1600" or clean it with "mix deps.clean keccakf1600"

I have tried rebuilding this environment a few times and this is the furthest I have managed to reach, any help in resolving these issues during compile would be appreciated.

Dockerfile Failed Compilation

When starting v1.0.5 using the ./docker script, this warning occurs during compilation:

warning: :queue.delete_with/2 is undefined or private
         lib/block_process:258 BlockProcess.queue_delete/2

Compilation is successful if line 4 of the Dockerfile is updated from FROM elixir:1.11.4 to FROM elixir:1.12

Host IP is set to local ip

I am running a miner using Docker. Everything runs without a problem but on the explorer, my miner's host ip is my Docker container's local IP. I am adding the explorer screenshot. Miner is: 0x4353350a63a680b2799f7576612ef856f7d786ea

It's also printing a TLS alert:
23:17:07.374 [info] TLS :server: In state :hello at tls_handshake.erl:346 generated SERVER ALERT: Fatal - Insufficient Security - :no_suitable_ciphers 'Elixir.Network.EdgeV2' Handshake error: {tls_alert,{insufficient_security,"TLS server: In state hello at tls_handshake.erl:346 generated SERVER ALERT: Fatal - Insufficient Security\n no_suitable_ciphers"}} {ok,{{185,7,214,218},35850}}

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.