Author

Topic: [ANN][XEL] Elastic Project - The Decentralized Supercomputer - page 200. (Read 450523 times)

newbie
Activity: 7
Merit: 0
How about an article on coindesk or cointelegraphy?

this is a very exciting project.but good technology should do more promotions,otherwise some bad project will draw people's attention!


Quote
Elastic Compared to Other Competitors
Disclaimer: if you are involved in one of the following projects and have the feeling that we described something wrong, please feel free to contact us so we can change it.

Ethereum

Acording to [5] Ethereum is a “world-computer”. However the use-case of Ethereum is entirely different than the one of Elastic. Ethereum is not used to obtain a certain amount of computation power which can be directed at a complex algorithm that someone wants to have solved. It is more to be understood as a world computer with only one single processor without the support for multi-threading or parallel execution. As a matter of fact, Ethereum can be used to execute arbitrary code and the consensus algorithm ensures that the code is executed correctly. While handy to code, e.g., smart contracts which are then executed by all peers that participate in the Ethereum ecosystem, it cannot be used to bundle the computational power of the peers. The very simple reason is that every peer executes the same thing: Ethereum executes the same code at many many peers redundandly.

Elastic on the other hand has different aims: it does not want everyone to execute the same thing, but to execute something different. One could say, in Elastic your work is split into many different small parts which every peer in the Elastic network executes a subset of. This way, the computational power of all “miners” is bundled.

On the contrary, Elastic cannot be used to implement smart contracts or any other code constructs which are meant to be executed the same way on all nodes. It's just a totally different use case.

Gridcoin

Gridcoin uses a mechanism termed “Proof-of-Research” to measure the amount of computational contribution of the “miners”. According to [1], this mechanism is premised on BOINC, a centralized third-party service. More precisely, “miners” download the BOINC software which provides idle CPU processing power to various projects which likewise are centrally hosted. The amount of computational contribution is then measured in a formula named the Recent Average Credit (RAC). The distribution of Gridcoins (GRC) is then conducted dependent on the miners' individual RAC.

The problem with this approach is the involvement of a central authority. The distribution of Gridcoins (GRC) can be tampered arbitrarily the moment an attacker gains access to the centralized service. Also, the existence of Gridcoin depends on the existence of BOINC. If the latter service dies, so does Gridcoin unless an update is rolled out which moves the Proof-of-Research mechanism to a different service.

In Elastic, we do not have such problems: we do not rely on any other third party service and neither do we depend the payout process on any kind of external (not tamper proof) factors. Instead, the measurement of the amount of computational contribution as well as the payout process is done entirely in the protocol itself.

Zennet

Zennet can be understood as an open market platform for computational resources. According to [3], a publisher (the entity who is in demand of computational resources) negotiates a contract with a provider (the entity who provides the requested computational resources) using the blockchain. In this context, the publisher may specify special requirements, e.g., in terms of hardware capabilities that the provider has to match. After the negotiation is completed, the provider creates a virtual machine and gives the publisher SSH access to it.

The payment process is modeled as follows: the publisher allocates a certain amount of XenCoins (the underlying cryptocurrency). Then, periodically, accumulated usage measurements are read. Based on those measurements a micropayments protocol is used to periodically pay out small amounts of the allocated funds to the provider.

[3] identifies the problem of this “trust based system” itself: the provider may use a handcrafted VM which lies about its benchmarks score claiming to provide more resources than it actually does. It's the publishers sole responsibility to verify that the claimed amount of computational power reflects the reality. Due to the micropayments protocol, malicious behaviour (if manually detected) can be penalized by cancelling the contract and charge back the remainder of the funds. A reputation system keeps track of such malicious behavior to help publishers separating the honest providers from malicious ones.

From our perspective, this system is not ideal as it adds some overhead in terms of manual responsibility for monitoring the honesty. Also, if very large amounts of computational power are needed which can only be obtained by renting multiple providers, the publisher has to take care about parallelization and distributing his work across multiple SSH instances himself. Moreover, the provider has to verify himself that the VM is actually doing what it is supposed to do and not, e.g., performing the calculations erroneously. According to privacy, the SSH access (if not used via a VPN or TOR) may expose the IP address (and so the own identity) to the provider.

While we think that this scheme is perfectly valid and works flawlessly, Elastic tries to get rid of any trust-based factors entirely. In Elastic, the verification of correctly performed work as well as the true amount of invested computational effort is done by the protocol itself.

However, since Elastic uses the protocol to verify “work” and “computational” resources, Elastic is limited to the common denominator in terms of hardware … the CPU. That is, GPU tasks could not be verified by nodes that are equipped with CPUs only (But still, since the operations of Elastic's own programming language ElasticPL are very basic, GPU enhanced miners are of course possible). Still, especially when looking for VMs with special capabilities, Zennet is superior to Elastic.

On the contrary, Elastic in our eyes overtakes when it comes down to get computational tasks done quickly without any trust and without the requirement to manually verify anything or synchronizing tasks across multiple virtual machines: you just create a program which is then distributed to as many miners as possible, and you can be sure that the result you get back has been calculated correctly. Please refer to How Does Mining Work to learn about the advantages (and of course disadvantages) of our scheme.

Voltcoin

According to [4], Voltcoin works very similar to Zennet.

Golem

Golem also tries to bring together those who have spare computational power and those who require it. According to [2] these entities are termed requester nodes, these nodes that announce computing tasks, and compute nodes, nodes that perform computations. As of now, the computation tasks are limited to rendering tasks using blender. Neverthelss, However, Golem seems to be just a “peer-to-peer market” for computational resources and not a cryptographically secure protocol to ensure the correct distribution of, and payment for computational power.

The biggest problem in our eyes, and at the same time the reason why from our perspective Golem does NOT constitute a decentralized computer, is that the submitted results are not automatically verified for correctness. That means, that the result someone sends may very well be garbage and so it has to be checked manually by the requester nodes before he acknowledges the release of the funds. At the same time, malicious requester nodes may claim that their work was not carried out correctly and charge back the funds even though the compute node has carried out the task correctly.

While a ranking/reputation mechanism, as implemented here, helps to identify malicious users (similar to the reputation system of online auctions where you can “over time” seperate honest sellers from malicious ones) this concept differs totally from what we want to achieve in Elastic.

We do not want to build a peer-to-peer market where users may betray each other, mitigating malicious behavior only by using trust-based reputation systems! We rather want to build a system which is robust agains such kinds of attacks due to a “higher force”, i.e., the protocol, making sure that work is carried out correctly, and workers are guaranteed to be paid out for their efforts.

TAU-Chain

Honestly, I don't understand the TAU chain 8-o/quote]
hero member
Activity: 952
Merit: 501
also want to know do we a timeline for the mainnet release?

thank you very much EK!
hero member
Activity: 952
Merit: 501
would like to donate some XEL to fix the bugs or do the code audit.

legendary
Activity: 1260
Merit: 1168

Yeah, a full security audit by HMC sounds nice. Just throw him some BTCs and he brings on the good stuff.  Grin

I will contact him, lets see if his interested at all.

Lol, I'm on welfare but I think I can come up with a few BTC.
I will send Lannister one of those Bitmessages that sometimes arrive and sometimes not, I think this shouldn't be a problem at all.
But I agree, we need Hunterminercrafter. Even if he always is sort of modest he is one of the most brilliant people I have seen so far.

Agree.

If Lannister doesn't respond i have no issue paying him. I really liked that focused and precise way of hunting down bugs. He fitted quite well into our project with his attitude.  Smiley

I totally agree, and the worst thing is having to fix bugs afterwards with dubious hard forks and chain rollbacks ... (see Ethereum). So it is of highest importance to get rid of them now ;-)
ImI
legendary
Activity: 1946
Merit: 1019

Yeah, a full security audit by HMC sounds nice. Just throw him some BTCs and he brings on the good stuff.  Grin

I will contact him, lets see if his interested at all.

Lol, I'm on welfare but I think I can come up with a few BTC.
I will send Lannister one of those Bitmessages that sometimes arrive and sometimes not, I think this shouldn't be a problem at all.
But I agree, we need Hunterminercrafter. Even if he always is sort of modest he is one of the most brilliant people I have seen so far.

Agree.

If Lannister doesn't respond i have no issue paying him. I really liked that focused and precise way of hunting down bugs. He fitted quite well into our project with his attitude.  Smiley
legendary
Activity: 1260
Merit: 1168

Yeah, a full security audit by HMC sounds nice. Just throw him some BTCs and he brings on the good stuff.  Grin

I will contact him, lets see if his interested at all.

Lol, I'm on welfare but I think I can come up with a few BTC.
I will send Lannister one of those Bitmessages that sometimes arrive and sometimes not, I think this shouldn't be a problem at all.
But I agree, we need Hunterminercrafter. Even if he always is sort of modest he is one of the most brilliant people I have seen so far.
ImI
legendary
Activity: 1946
Merit: 1019

Yeah, a full security audit by HMC sounds nice. Just throw him some BTCs and he brings on the good stuff.  Grin

I will contact him, lets see if his interested at all.
legendary
Activity: 1260
Merit: 1168
Am I right in assuming, that the contest is over? Any results?

It's not over yet  Wink But nobody seems to want 2 BTC except one guy so far. His work is amazing though. Let's see if something better comes

Thought about activating Hunterminercrafter? He for sure added some high-quality content to our project.

I know where he usually hangs out, eventually i could contact him.

I think the retarget will be fine as we get it from the contest. After all, the retarget mechanism is irrelevant to blockchain security.But we need Hunterminercrafter for more security research. I have never seen anybody who identifies bugs with such a precision as he does. Maybe we can get him to do a full security audit?

EDIT: maybe we can motivate him (and others) with a public bug program. But we need to organize it ;-) Me and coralreefer are totally tied up in coding at the moment.

EDIT2: A few open (possible) bugs will be closed soon, so maybe we could start off tomorrow evening or so? On the 0.9.0 testnet which is coming soon?
ImI
legendary
Activity: 1946
Merit: 1019
Am I right in assuming, that the contest is over? Any results?

It's not over yet  Wink But nobody seems to want 2 BTC except one guy so far. His work is amazing though. Let's see if something better comes

Thought about activating Hunterminercrafter? He for sure added some high-quality content to our project.

I know where he usually hangs out, eventually i could contact him.
legendary
Activity: 1050
Merit: 1000
@z38630610: just had the same issue here. I think the miner is jut not yet ready for macos, its still pending work and relies on the function dlmopen that's not supported on MacOS. We will have to come up with something more "cross platform"
ok thanks
we waitting new miner Grin Grin
legendary
Activity: 1260
Merit: 1168
@z38630610: just had the same issue here. I think the miner is jut not yet ready for macos, its still pending work and relies on the function dlmopen that's not supported on MacOS. We will have to come up with something more "cross platform"
legendary
Activity: 1050
Merit: 1000
Use this command without putting quotes around the path:

Code:
OPENSSL_ROOT_DIR=/usr/local/opt/openssl/ cmake ..
[/quote]

Code:
MacdeiMac:build mac$ OPENSSL_ROOT_DIR=/usr/local/opt/openssl/ cmake ..
-- The C compiler identification is AppleClang 7.3.0.7030031
-- The CXX compiler identification is AppleClang 7.3.0.7030031
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/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: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenSSL: /usr/local/opt/openssl/lib/libssl.dylib;/usr/local/opt/openssl/lib/libcrypto.dylib (found version "1.0.2j")
-- CURL: Found
--[color=red] SSL: Not Found![/color]
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mac/xel_miner/build
MacdeiMac:build mac$ [color=red]make[/color]
Scanning dependencies of target jansson
[  3%] Building C object compat/jansson/CMakeFiles/jansson.dir/dump.c.o
[  7%] Building C object compat/jansson/CMakeFiles/jansson.dir/error.c.o
[ 10%] Building C object compat/jansson/CMakeFiles/jansson.dir/hashtable.c.o
[ 14%] Building C object compat/jansson/CMakeFiles/jansson.dir/hashtable_seed.c.o
[ 17%] Building C object compat/jansson/CMakeFiles/jansson.dir/load.c.o
[ 21%] Building C object compat/jansson/CMakeFiles/jansson.dir/memory.c.o
[ 25%] Building C object compat/jansson/CMakeFiles/jansson.dir/pack_unpack.c.o
[ 28%] Building C object compat/jansson/CMakeFiles/jansson.dir/strbuffer.c.o
[ 32%] Building C object compat/jansson/CMakeFiles/jansson.dir/strconv.c.o
[ 35%] Building C object compat/jansson/CMakeFiles/jansson.dir/utf.c.o
[ 39%] Building C object compat/jansson/CMakeFiles/jansson.dir/value.c.o
[ 42%] Linking C static library libjansson.a
[ 42%] Built target jansson
Scanning dependencies of target xel_miner
[ 46%] Building C object CMakeFiles/xel_miner.dir/xel_miner.c.o
In file included from /Users/mac/xel_miner/xel_miner.c:24:
/Users/mac/xel_miner/miner.h:51:29: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/xel_miner.c:78:22: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
__thread _ALIGN(64) *vm_mem = NULL;
~~~~~~~~             ^
/Users/mac/xel_miner/xel_miner.c:255:12: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                        rpc_url = strdup(arg);
                                ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:263:12: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                        rpc_url = (char*)malloc(strlen(ap) + 8);
                                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:264:12: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                        sprintf(rpc_url, "http://%s", ap);
                                ^~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:268:38: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                        rpc_url = realloc(rpc_url, strlen(rpc_url) + 5);
                                                          ^~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:269:12: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                        sprintf(rpc_url, "%s/nxt", rpc_url);
                                ^~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:275:12: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                rpc_pass = strdup(arg);
                         ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:279:14: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                passphrase = strdup(arg);
                           ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:284:29: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                sha256(passphrase, strlen(passphrase), hash_sha256);
                                          ^~~~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:284:42: warning: passing 'char *' to parameter of type 'unsigned char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                sha256(passphrase, strlen(passphrase), hash_sha256);
                                                       ^~~~~~~~~~~
/Users/mac/xel_miner/crypto/sha2.h:57:28: note: passing argument to parameter 'digest' here
            unsigned char *digest);
                           ^
/Users/mac/xel_miner/xel_miner.c:292:31: warning: passing 'char *' to parameter of type 'const uint8_t *'
      (aka 'const unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
                curve25519_donna(publickey, hash_sha256, basepoint);
                                            ^~~~~~~~~~~
/Users/mac/xel_miner/miner.h:294:56: note: passing argument to parameter 'secret' here
int curve25519_donna(uint8_t *mypublic, const uint8_t *secret, const uint8_t *basepoint);
                                                       ^
/Users/mac/xel_miner/xel_miner.c:337:12: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                rpc_user = strdup(arg);
                         ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:357:10: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                strcpy(test_filename, arg);
                       ^~~~~~~~~~~~~
/usr/include/secure/_string.h:83:27: note: expanded from macro 'strcpy'
  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
                          ^~~~
/Users/mac/xel_miner/xel_miner.c:364:10: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                strcpy(test_filename, arg);
                       ^~~~~~~~~~~~~
/usr/include/secure/_string.h:83:27: note: expanded from macro 'strcpy'
  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
                          ^~~~
/Users/mac/xel_miner/xel_miner.c:429:13: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        fp = fopen(test_filename, "r");
                   ^~~~~~~~~~~~~
/usr/include/stdio.h:242:36: note: passing argument to parameter here
FILE    *fopen(const char * __restrict, const char * __restrict) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHO...
                                      ^
/Users/mac/xel_miner/xel_miner.c:445:90: warning: format specifies type 'int' but the argument has type 'size_t'
      (aka 'unsigned long') [-Wformat]
                fprintf(stderr, "ERROR: Test file exceeds max size (%d): %d bytes\n", MAX_SOURCE_SIZE, len);
                                                                         ~~                            ^~~
                                                                         %zu
/Users/mac/xel_miner/xel_miner.c:460:12: warning: implicit declaration of function 'tolower' is invalid in C99
      [-Wimplicit-function-declaration]
                buf[i] = tolower(buf[i]);
                         ^
/Users/mac/xel_miner/xel_miner.c:560:6: warning: passing 'char [80]' to parameter of type 'const unsigned char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        MD5(msg, 80, hash);
            ^~~
/usr/local/opt/openssl/include/openssl/md5.h:113:41: note: passing argument to parameter 'd' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                        ^
/Users/mac/xel_miner/xel_miner.c:560:15: warning: passing 'char [16]' to parameter of type 'unsigned char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        MD5(msg, 80, hash);
                     ^~~~
/usr/local/opt/openssl/include/openssl/md5.h:113:69: note: passing argument to parameter 'md' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                                                    ^
/Users/mac/xel_miner/xel_miner.c:628:7: warning: passing 'char [64]' to parameter of type 'const unsigned char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                MD5(msg, 64, hash);
                    ^~~
/usr/local/opt/openssl/include/openssl/md5.h:113:41: note: passing argument to parameter 'd' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                        ^
/Users/mac/xel_miner/xel_miner.c:628:16: warning: passing 'char *' to parameter of type 'unsigned char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                MD5(msg, 64, hash);
                             ^~~~
/usr/local/opt/openssl/include/openssl/md5.h:113:69: note: passing argument to parameter 'md' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                                                    ^
/Users/mac/xel_miner/xel_miner.c:692:29: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "requestType=getMineableWork&n=1", &err);
                                          ^~~~~~~
/Users/mac/xel_miner/miner.h:285:54: note: passing argument to parameter 'url' here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *userpass, const char *req, int *curl_err);
                                                     ^
/Users/mac/xel_miner/xel_miner.c:692:38: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "requestType=getMineableWork&n=1", &err);
                                                   ^~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:285:71: note: passing argument to parameter 'userpass' here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *userpass, const char *req, int *curl_err);
                                                                      ^
/Users/mac/xel_miner/xel_miner.c:696:24: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                val = JSON_LOAD_FILE(test_filename, &err_val);
                                     ^~~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:42:54: note: expanded from macro 'JSON_LOAD_FILE'
#define JSON_LOAD_FILE(path, err_ptr) json_load_file(path, 0, err_ptr)
                                                     ^~~~
/Users/mac/xel_miner/compat/jansson/jansson.h:277:36: note: passing argument to parameter 'path' here
json_t *json_load_file(const char *path, size_t flags, json_error_t *error);
                                   ^
/Users/mac/xel_miner/xel_miner.c:736:22: warning: passing 'unsigned char [22]' to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                strncpy(g_work_id, work.work_str, 21);
                                   ^~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:737:22: warning: passing 'unsigned char [50]' to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                strncpy(g_work_nm, work.work_nm, 49);
                                   ^~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:738:11: warning: passing 'unsigned char [33]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                sprintf(g_pow_target_str, "%08X%08X%08X...", work.pow_target[0], work.pow_target[1], work.p...
                        ^~~~~~~~~~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:840:12: warning: passing 'unsigned char [22]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                        strncpy(work_package.work_str, str, 21);
                                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:844:12: warning: passing 'unsigned char [50]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                        strncpy(work_package.work_nm, str, 49);
                                ^~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:866:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                        rc = ascii85dec(elastic_src, MAX_SOURCE_SIZE, str);
                                        ^~~~~~~~~~~
/Users/mac/xel_miner/miner.h:282:39: note: passing argument to parameter 'str' here
extern bool ascii85dec(unsigned char *str, int strsz, const char *ascii85);
                                      ^
/Users/mac/xel_miner/xel_miner.c:899:27: warning: passing 'unsigned char [22]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                                if (!compile_and_link(work_package.work_str)) {
                                                      ^~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:290:29: note: passing argument to parameter 'file_name' here
bool compile_and_link(char* file_name);
                            ^
/Users/mac/xel_miner/xel_miner.c:953:48: warning: passing 'unsigned char [22]' to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                else if (opt_pref == PREF_WORKID && (!strcmp(g_work_package[work_pkg_id].work_str, pref_workid))) {
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/string.h:77:25: note: passing argument to parameter here
int      strcmp(const char *, const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:976:19: warning: passing 'char *' to parameter of type 'unsigned char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                rc = ascii85dec(elastic_src, MAX_SOURCE_SIZE, best_src);
                                ^~~~~~~~~~~
/Users/mac/xel_miner/miner.h:282:39: note: passing argument to parameter 'str' here
extern bool ascii85dec(unsigned char *str, int strsz, const char *ascii85);
                                      ^
/Users/mac/xel_miner/xel_miner.c:1003:10: warning: passing 'unsigned char [22]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        strncpy(work->work_str, g_work_package[best_pkg].work_str, 21);
                ^~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:1003:26: warning: passing 'unsigned char [22]' to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        strncpy(work->work_str, g_work_package[best_pkg].work_str, 21);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:1004:10: warning: passing 'unsigned char [50]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        strncpy(work->work_nm, g_work_package[best_pkg].work_nm, 49);
                ^~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:1004:25: warning: passing 'unsigned char [50]' to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        strncpy(work->work_nm, g_work_package[best_pkg].work_nm, 49);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:1023:25: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        url = calloc(1, strlen(rpc_url) + 50);
                               ^~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:1053:33: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        val = json_rpc_call(curl, url, rpc_userpass, data, &err);
                                       ^~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:285:71: note: passing argument to parameter 'userpass' here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *userpass, const char *req, int *curl_err);
                                                                      ^
/Users/mac/xel_miner/xel_miner.c:1214:27: warning: passing 'unsigned char [22]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                                create_instance(inst, work.work_str);
                                                      ^~~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:291:51: note: passing argument to parameter 'file_name' here
void create_instance(struct instance* inst, char *file_name);
                                                  ^
/Users/mac/xel_miner/xel_miner.c:1274:12: warning: passing 'unsigned char [65]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                        sprintf(hash_str, "%08X%08X%08X...", swap32(hash32[0]), swap32(hash32[1]), swap32(h...
                                ^~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:1275:12: warning: passing 'unsigned char [65]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                        sprintf(gpow_str, "%08X%08X%08X...", (g_pow_target[0]), (g_pow_target[1]), (g_pow_t...
                                ^~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:1342:29: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "requestType=longpoll&randomId=1", &err);
                                          ^~~~~~~
/Users/mac/xel_miner/miner.h:285:54: note: passing argument to parameter 'url' here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *userpass, const char *req, int *curl_err);
                                                     ^
/Users/mac/xel_miner/xel_miner.c:1342:38: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "requestType=longpoll&randomId=1", &err);
                                                   ^~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:285:71: note: passing argument to parameter 'userpass' here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *userpass, const char *req, int *curl_err);
                                                                      ^
/Users/mac/xel_miner/xel_miner.c:1530:10: warning: passing 'unsigned char [22]' to parameter of type 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        strncpy(g_submit_req[g_submit_req_cnt].work_str, work->work_str, 21);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:1530:51: warning: passing 'unsigned char [22]' to parameter of type 'const char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
        strncpy(g_submit_req[g_submit_req_cnt].work_str, work->work_str, 21);
                                                         ^~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:1590:8: warning: implicit declaration of function 'toupper' is invalid in C99
      [-Wimplicit-function-declaration]
                ch = toupper(ch);
                     ^
/Users/mac/xel_miner/xel_miner.c:1611:100: warning: address of array 'g_work_nm' will always evaluate to 'true'
      [-Wpointer-bool-conversion]
  ..."Run Time: %02d Days %02d:%02d:%02d\t\tWork Name: %s", day, hour, min, sec, g_work_nm ? g_work_nm : "");
                                                                                 ^~~~~~~~~ ~
/Users/mac/xel_miner/xel_miner.c:1612:78: warning: address of array 'g_work_id' will always evaluate to 'true'
      [-Wpointer-bool-conversion]
  ...applog(LOG_WARNING, "Bounty Pending:\t%3d\t\tWork ID:   %s", pending_bty, g_work_id ? g_work_id : "");
                                                                               ^~~~~~~~~ ~
/Users/mac/xel_miner/xel_miner.c:1723:11: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                rpc_url = strdup("http://127.0.0.1:6876/nxt");
                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:1726:39: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                rpc_userpass = (char*)malloc(strlen(rpc_user) + strlen(rpc_pass) + 2);
                                                    ^~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:1726:58: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                rpc_userpass = (char*)malloc(strlen(rpc_user) + strlen(rpc_pass) + 2);
                                                                       ^~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:1726:16: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
      converts between pointers to integer types with different sign [-Wpointer-sign]
                rpc_userpass = (char*)malloc(strlen(rpc_user) + strlen(rpc_pass) + 2);
                             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:1729:11: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
      'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
                sprintf(rpc_userpass, "%s:%s", rpc_user, rpc_pass);
                        ^~~~~~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
55 warnings generated.
[ 50%] Building C object CMakeFiles/xel_miner.dir/xel_compiler.c.o
In file included from /Users/mac/xel_miner/xel_compiler.c:7:
/Users/mac/xel_miner/miner.h:51:29: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/xel_compiler.c:89:13: warning: format string is not a string literal (potentially insecure)
      [-Wformat-security]
        fprintf(f, &code[0]);
                   ^~~~~~~~
/Users/mac/xel_miner/xel_compiler.c:96:19: warning: format string is not a string literal (potentially insecure)
      [-Wformat-security]
                fprintf(stdout, code);
                                ^~~~
/Users/mac/xel_miner/xel_compiler.c:160:15: warning: implicit declaration of function 'dlmopen' is invalid in C99
      [-Wimplicit-function-declaration]
        inst->hndl = dlmopen(LM_ID_BASE, file_name, RTLD_NOW);
                     ^
/Users/mac/xel_miner/xel_compiler.c:160:13: warning: incompatible integer to pointer conversion assigning to
      'void *' from 'int' [-Wint-conversion]
        inst->hndl = dlmopen(LM_ID_BASE, file_name, RTLD_NOW);
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
[ 53%] Building C object CMakeFiles/xel_miner.dir/util.c.o
In file included from /Users/mac/xel_miner/util.c:23:
/Users/mac/xel_miner/miner.h:51:29: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/util.c:286:10: warning: passing 'unsigned char *' to parameter of type 'char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
        sprintf(str, "%s", buf);
                ^~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
2 warnings generated.
[ 57%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPL.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPL.c:13:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier missing, defaults to 'int'
      [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/ElasticPL/ElasticPL.c:85:23: warning: format specifies type 'int' but the argument has type
      'long' [-Wformat]
                        sprintf(val, "%d", root->value);
                                      ~~   ^~~~~~~~~~~
                                      %ld
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
2 warnings generated.
[ 60%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPLTokenManager.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPLTokenManager.c:13:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier missing, defaults to 'int'
      [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
1 warning generated.
[ 64%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPLParser.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPLParser.c:14:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier missing, defaults to 'int'
      [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/ElasticPL/ElasticPLParser.c:269:10: warning: enumeration value 'EXP_NONE' not handled in
      switch [-Wswitch]
        switch (token->exp) {
                ^
2 warnings generated.
[ 67%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPLInterpreter.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPLInterpreter.c:18:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier missing, defaults to 'int'
      [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/ElasticPL/ElasticPLInterpreter.c:66:27: warning: format specifies type 'int' but the argument
      has type 'long' [-Wformat]
                                sprintf(result, "%d", exp->value);
                                                 ~~   ^~~~~~~~~~
                                                 %ld
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
/Users/mac/xel_miner/ElasticPL/ElasticPLInterpreter.c:72:32: warning: format specifies type 'int' but the argument
      has type 'long' [-Wformat]
                                sprintf(result, "mem[%d]", exp->value);
                                                     ~~    ^~~~~~~~~~
                                                     %ld
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
3 warnings generated.
[ 71%] Building C object CMakeFiles/xel_miner.dir/crypto/elasticpl_crypto.c.o
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:281:11: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx < 0) || (len <= 0) || ((idx + n) >= VM_MEMORY_SIZE))
             ~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:377:12: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE) || ((idx2 + uncomp_sz) >= VM...
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:377:26: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE) || ((idx2 + uncomp_sz) >= VM...
                           ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:478:12: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE) || ((idx2 + uncomp_sz) >= VM...
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:478:26: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE) || ((idx2 + uncomp_sz) >= VM...
                           ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:573:12: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE))
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:656:12: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE) || ((idx2 + n2) >= VM_MEMORY_SIZE))
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:656:26: warning: comparison of unsigned expression < 0 is always
      false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE) || ((idx2 + n2) >= VM_MEMORY_SIZE))
                           ~~~~ ^ ~
8 warnings generated.
[ 75%] Building C object CMakeFiles/xel_miner.dir/crypto/curve25519-donna.c.o
[ 78%] Building C object CMakeFiles/xel_miner.dir/crypto/sha2.c.o
[ 82%] Building C object CMakeFiles/xel_miner.dir/crypto/whirlpool.c.o
[ 85%] Linking C executable ../xel_miner
Undefined symbols for architecture x86_64:
  "_dlmopen", referenced from:
      _create_instance in xel_compiler.c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../xel_miner] Error 1
make[1]: *** [CMakeFiles/xel_miner.dir/all] Error 2
make: *** [all] Error 2
legendary
Activity: 1260
Merit: 1168
Am I right in assuming, that the contest is over? Any results?

It's not over yet  Wink But nobody seems to want 2 BTC except one guy so far. His work is amazing though. Let's see if something better comes
hero member
Activity: 994
Merit: 513
Am I right in assuming, that the contest is over? Any results?
legendary
Activity: 1260
Merit: 1168
sr. member
Activity: 464
Merit: 260
legendary
Activity: 1050
Merit: 1000
xel_miner not install
help thanks
Code:
Last login: Fri Dec  2 23:16:41 on ttys000
MacdeiMac:~ mac$ cd xel_miner/build/
MacdeiMac:build mac$ OPENSSL_ROOT_DIR=“/usr/local/opt/openssl/” cmake ..
-- The C compiler identification is AppleClang 7.3.0.7030031
-- The CXX compiler identification is AppleClang 7.3.0.7030031
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/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: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenSSL: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib (found version "1.0.2j")
-- CURL: Found
-- SSL: Not Found!
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mac/xel_miner/build
MacdeiMac:build mac$ make
Scanning dependencies of target jansson
[  3%] Building C object compat/jansson/CMakeFiles/jansson.dir/dump.c.o
[  7%] Building C object compat/jansson/CMakeFiles/jansson.dir/error.c.o
[ 10%] Building C object compat/jansson/CMakeFiles/jansson.dir/hashtable.c.o
[ 14%] Building C object compat/jansson/CMakeFiles/jansson.dir/hashtable_seed.c.o
[ 17%] Building C object compat/jansson/CMakeFiles/jansson.dir/load.c.o
[ 21%] Building C object compat/jansson/CMakeFiles/jansson.dir/memory.c.o
[ 25%] Building C object compat/jansson/CMakeFiles/jansson.dir/pack_unpack.c.o
[ 28%] Building C object compat/jansson/CMakeFiles/jansson.dir/strbuffer.c.o
[ 32%] Building C object compat/jansson/CMakeFiles/jansson.dir/strconv.c.o
[ 35%] Building C object compat/jansson/CMakeFiles/jansson.dir/utf.c.o
[ 39%] Building C object compat/jansson/CMakeFiles/jansson.dir/value.c.o
[ 42%] Linking C static library libjansson.a
[ 42%] Built target jansson
Scanning dependencies of target xel_miner
[ 46%] Building C object CMakeFiles/xel_miner.dir/xel_miner.c.o
In file included from /Users/mac/xel_miner/xel_miner.c:24:
/Users/mac/xel_miner/miner.h:51:29: warning: type specifier missing, defaults to
      'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/xel_miner.c:78:22: warning: type specifier missing,
      defaults to 'int' [-Wimplicit-int]
__thread _ALIGN(64) *vm_mem = NULL;
~~~~~~~~             ^
/Users/mac/xel_miner/xel_miner.c:255:12: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                        rpc_url = strdup(arg);
                                ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:263:12: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                        rpc_url = (char*)malloc(strlen(ap) + 8);
                                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:264:12: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
                        sprintf(rpc_url, "http://%s", ap);
                                ^~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:268:38: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                        rpc_url = realloc(rpc_url, strlen(rpc_url) + 5);
                                                          ^~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:269:12: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
                        sprintf(rpc_url, "%s/nxt", rpc_url);
                                ^~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:275:12: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                rpc_pass = strdup(arg);
                         ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:279:14: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                passphrase = strdup(arg);
                           ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:284:29: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                sha256(passphrase, strlen(passphrase), hash_sha256);
                                          ^~~~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:284:42: warning: passing 'char *' to parameter
      of type 'unsigned char *' converts between pointers to integer types with
      different sign [-Wpointer-sign]
                sha256(passphrase, strlen(passphrase), hash_sha256);
                                                       ^~~~~~~~~~~
/Users/mac/xel_miner/crypto/sha2.h:57:28: note: passing argument to parameter
      'digest' here
            unsigned char *digest);
                           ^
/Users/mac/xel_miner/xel_miner.c:292:31: warning: passing 'char *' to parameter
      of type 'const uint8_t *' (aka 'const unsigned char *') converts between
      pointers to integer types with different sign [-Wpointer-sign]
                curve25519_donna(publickey, hash_sha256, basepoint);
                                            ^~~~~~~~~~~
/Users/mac/xel_miner/miner.h:294:56: note: passing argument to parameter
      'secret' here
int curve25519_donna(uint8_t *mypublic, const uint8_t *secret, const uin...
                                                       ^
/Users/mac/xel_miner/xel_miner.c:337:12: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                rpc_user = strdup(arg);
                         ^ ~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:357:10: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
                strcpy(test_filename, arg);
                       ^~~~~~~~~~~~~
/usr/include/secure/_string.h:83:27: note: expanded from macro 'strcpy'
  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
                          ^~~~
/Users/mac/xel_miner/xel_miner.c:364:10: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
                strcpy(test_filename, arg);
                       ^~~~~~~~~~~~~
/usr/include/secure/_string.h:83:27: note: expanded from macro 'strcpy'
  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
                          ^~~~
/Users/mac/xel_miner/xel_miner.c:429:13: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
        fp = fopen(test_filename, "r");
                   ^~~~~~~~~~~~~
/usr/include/stdio.h:242:36: note: passing argument to parameter here
FILE    *fopen(const char * __restrict, const char * __restrict) __DARWI...
                                      ^
/Users/mac/xel_miner/xel_miner.c:445:90: warning: format specifies type 'int'
      but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
  ...Test file exceeds max size (%d): %d bytes\n", MAX_SOURCE_SIZE, len);
                                      ~~                            ^~~
                                      %zu
/Users/mac/xel_miner/xel_miner.c:460:12: warning: implicit declaration of
      function 'tolower' is invalid in C99 [-Wimplicit-function-declaration]
                buf[i] = tolower(buf[i]);
                         ^
/Users/mac/xel_miner/xel_miner.c:560:6: warning: passing 'char [80]' to
      parameter of type 'const unsigned char *' converts between pointers to
      integer types with different sign [-Wpointer-sign]
        MD5(msg, 80, hash);
            ^~~
/usr/local/opt/openssl/include/openssl/md5.h:113:41: note: passing argument to
      parameter 'd' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                        ^
/Users/mac/xel_miner/xel_miner.c:560:15: warning: passing 'char [16]' to
      parameter of type 'unsigned char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
        MD5(msg, 80, hash);
                     ^~~~
/usr/local/opt/openssl/include/openssl/md5.h:113:69: note: passing argument to
      parameter 'md' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                                                    ^
/Users/mac/xel_miner/xel_miner.c:628:7: warning: passing 'char [64]' to
      parameter of type 'const unsigned char *' converts between pointers to
      integer types with different sign [-Wpointer-sign]
                MD5(msg, 64, hash);
                    ^~~
/usr/local/opt/openssl/include/openssl/md5.h:113:41: note: passing argument to
      parameter 'd' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                        ^
/Users/mac/xel_miner/xel_miner.c:628:16: warning: passing 'char *' to parameter
      of type 'unsigned char *' converts between pointers to integer types with
      different sign [-Wpointer-sign]
                MD5(msg, 64, hash);
                             ^~~~
/usr/local/opt/openssl/include/openssl/md5.h:113:69: note: passing argument to
      parameter 'md' here
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
                                                                    ^
/Users/mac/xel_miner/xel_miner.c:692:29: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "reques...
                                          ^~~~~~~
/Users/mac/xel_miner/miner.h:285:54: note: passing argument to parameter 'url'
      here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *us...
                                                     ^
/Users/mac/xel_miner/xel_miner.c:692:38: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "reques...
                                                   ^~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:285:71: note: passing argument to parameter
      'userpass' here
  ...json_rpc_call(CURL *curl, const char *url, const char *userpass, const c...
                                                            ^
/Users/mac/xel_miner/xel_miner.c:696:24: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                val = JSON_LOAD_FILE(test_filename, &err_val);
                                     ^~~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:42:54: note: expanded from macro 'JSON_LOAD_FILE'
#define JSON_LOAD_FILE(path, err_ptr) json_load_file(path, 0, err_ptr)
                                                     ^~~~
/Users/mac/xel_miner/compat/jansson/jansson.h:277:36: note: passing argument to
      parameter 'path' here
json_t *json_load_file(const char *path, size_t flags, json_error_t *error);
                                   ^
/Users/mac/xel_miner/xel_miner.c:736:22: warning: passing 'unsigned char [22]'
      to parameter of type 'const char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                strncpy(g_work_id, work.work_str, 21);
                                   ^~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:737:22: warning: passing 'unsigned char [50]'
      to parameter of type 'const char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                strncpy(g_work_nm, work.work_nm, 49);
                                   ^~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:738:11: warning: passing 'unsigned char [33]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                sprintf(g_pow_target_str, "%08X%08X%08X...", work.pow_ta...
                        ^~~~~~~~~~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:840:12: warning: passing 'unsigned char [22]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                        strncpy(work_package.work_str, str, 21);
                                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:844:12: warning: passing 'unsigned char [50]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                        strncpy(work_package.work_nm, str, 49);
                                ^~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:866:20: warning: passing 'char *' to parameter
      of type 'unsigned char *' converts between pointers to integer types with
      different sign [-Wpointer-sign]
                        rc = ascii85dec(elastic_src, MAX_SOURCE_SIZE, str);
                                        ^~~~~~~~~~~
/Users/mac/xel_miner/miner.h:282:39: note: passing argument to parameter 'str'
      here
extern bool ascii85dec(unsigned char *str, int strsz, const char *ascii85);
                                      ^
/Users/mac/xel_miner/xel_miner.c:899:27: warning: passing 'unsigned char [22]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                                if (!compile_and_link(work_package.work_str)) {
                                                      ^~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:290:29: note: passing argument to parameter
      'file_name' here
bool compile_and_link(char* file_name);
                            ^
/Users/mac/xel_miner/xel_miner.c:953:48: warning: passing 'unsigned char [22]'
      to parameter of type 'const char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
  ...== PREF_WORKID && (!strcmp(g_work_package[work_pkg_id].work_str, pref_wo...
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/string.h:77:25: note: passing argument to parameter here
int      strcmp(const char *, const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:976:19: warning: passing 'char *' to parameter
      of type 'unsigned char *' converts between pointers to integer types with
      different sign [-Wpointer-sign]
                rc = ascii85dec(elastic_src, MAX_SOURCE_SIZE, best_src);
                                ^~~~~~~~~~~
/Users/mac/xel_miner/miner.h:282:39: note: passing argument to parameter 'str'
      here
extern bool ascii85dec(unsigned char *str, int strsz, const char *ascii85);
                                      ^
/Users/mac/xel_miner/xel_miner.c:1003:10: warning: passing 'unsigned char [22]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
        strncpy(work->work_str, g_work_package[best_pkg].work_str, 21);
                ^~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:1003:26: warning: passing 'unsigned char [22]'
      to parameter of type 'const char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
        strncpy(work->work_str, g_work_package[best_pkg].work_str, 21);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:1004:10: warning: passing 'unsigned char [50]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
        strncpy(work->work_nm, g_work_package[best_pkg].work_nm, 49);
                ^~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:1004:25: warning: passing 'unsigned char [50]'
      to parameter of type 'const char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
        strncpy(work->work_nm, g_work_package[best_pkg].work_nm, 49);
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:1023:25: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
        url = calloc(1, strlen(rpc_url) + 50);
                               ^~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:1053:33: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
        val = json_rpc_call(curl, url, rpc_userpass, data, &err);
                                       ^~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:285:71: note: passing argument to parameter
      'userpass' here
  ...json_rpc_call(CURL *curl, const char *url, const char *userpass, const c...
                                                            ^
/Users/mac/xel_miner/xel_miner.c:1214:27: warning: passing 'unsigned char [22]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                                create_instance(inst, work.work_str);
                                                      ^~~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:291:51: note: passing argument to parameter
      'file_name' here
void create_instance(struct instance* inst, char *file_name);
                                                  ^
/Users/mac/xel_miner/xel_miner.c:1274:12: warning: passing 'unsigned char [65]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                        sprintf(hash_str, "%08X%08X%08X...", swap32(hash...
                                ^~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:1275:12: warning: passing 'unsigned char [65]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
                        sprintf(gpow_str, "%08X%08X%08X...", (g_pow_targ...
                                ^~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
/Users/mac/xel_miner/xel_miner.c:1342:29: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "reques...
                                          ^~~~~~~
/Users/mac/xel_miner/miner.h:285:54: note: passing argument to parameter 'url'
      here
extern json_t* json_rpc_call(CURL *curl, const char *url, const char *us...
                                                     ^
/Users/mac/xel_miner/xel_miner.c:1342:38: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                val = json_rpc_call(curl, rpc_url, rpc_userpass, "reques...
                                                   ^~~~~~~~~~~~
/Users/mac/xel_miner/miner.h:285:71: note: passing argument to parameter
      'userpass' here
  ...json_rpc_call(CURL *curl, const char *url, const char *userpass, const c...
                                                            ^
/Users/mac/xel_miner/xel_miner.c:1530:10: warning: passing 'unsigned char [22]'
      to parameter of type 'char *' converts between pointers to integer types
      with different sign [-Wpointer-sign]
        strncpy(g_submit_req[g_submit_req_cnt].work_str, work->work_str, 21);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:28: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                           ^~~~
/Users/mac/xel_miner/xel_miner.c:1530:51: warning: passing 'unsigned char [22]'
      to parameter of type 'const char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
        strncpy(g_submit_req[g_submit_req_cnt].work_str, work->work_str, 21);
                                                         ^~~~~~~~~~~~~~
/usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
/Users/mac/xel_miner/xel_miner.c:1590:8: warning: implicit declaration of
      function 'toupper' is invalid in C99 [-Wimplicit-function-declaration]
                ch = toupper(ch);
                     ^
/Users/mac/xel_miner/xel_miner.c:1611:100: warning: address of array 'g_work_nm'
      will always evaluate to 'true' [-Wpointer-bool-conversion]
  ...%02d:%02d:%02d\t\tWork Name: %s", day, hour, min, sec, g_work_nm ? g_wor...
                                                            ^~~~~~~~~ ~
/Users/mac/xel_miner/xel_miner.c:1612:78: warning: address of array 'g_work_id'
      will always evaluate to 'true' [-Wpointer-bool-conversion]
  ..."Bounty Pending:\t%3d\t\tWork ID:   %s", pending_bty, g_work_id ? g_work...
                                                           ^~~~~~~~~ ~
/Users/mac/xel_miner/xel_miner.c:1723:11: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
                rpc_url = strdup("http://127.0.0.1:6876/nxt");
                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:1726:39: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
                rpc_userpass = (char*)malloc(strlen(rpc_user) + strlen(r...
                                                    ^~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:1726:58: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'const char *' converts
      between pointers to integer types with different sign [-Wpointer-sign]
  ...rpc_userpass = (char*)malloc(strlen(rpc_user) + strlen(rpc_pass) + 2);
                                                            ^~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
/Users/mac/xel_miner/xel_miner.c:1726:16: warning: assigning to 'uint8_t *'
      (aka 'unsigned char *') from 'char *' converts between pointers to integer
      types with different sign [-Wpointer-sign]
  ...rpc_userpass = (char*)malloc(strlen(rpc_user) + strlen(rpc_pass) + 2);
                  ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mac/xel_miner/xel_miner.c:1729:11: warning: passing 'uint8_t *'
      (aka 'unsigned char *') to parameter of type 'char *' converts between
      pointers to integer types with different sign [-Wpointer-sign]
                sprintf(rpc_userpass, "%s:%s", rpc_user, rpc_pass);
                        ^~~~~~~~~~~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
55 warnings generated.
[ 50%] Building C object CMakeFiles/xel_miner.dir/xel_compiler.c.o
In file included from /Users/mac/xel_miner/xel_compiler.c:7:
/Users/mac/xel_miner/miner.h:51:29: warning: type specifier missing, defaults to
      'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/xel_compiler.c:89:13: warning: format string is not a
      string literal (potentially insecure) [-Wformat-security]
        fprintf(f, &code[0]);
                   ^~~~~~~~
/Users/mac/xel_miner/xel_compiler.c:96:19: warning: format string is not a
      string literal (potentially insecure) [-Wformat-security]
                fprintf(stdout, code);
                                ^~~~
/Users/mac/xel_miner/xel_compiler.c:160:15: warning: implicit declaration of
      function 'dlmopen' is invalid in C99 [-Wimplicit-function-declaration]
        inst->hndl = dlmopen(LM_ID_BASE, file_name, RTLD_NOW);
                     ^
/Users/mac/xel_miner/xel_compiler.c:160:13: warning: incompatible integer to
      pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
        inst->hndl = dlmopen(LM_ID_BASE, file_name, RTLD_NOW);
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
[ 53%] Building C object CMakeFiles/xel_miner.dir/util.c.o
In file included from /Users/mac/xel_miner/util.c:23:
/Users/mac/xel_miner/miner.h:51:29: warning: type specifier missing, defaults to
      'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/util.c:286:10: warning: passing 'unsigned char *' to
      parameter of type 'char *' converts between pointers to integer types with
      different sign [-Wpointer-sign]
        sprintf(str, "%s", buf);
                ^~~
/usr/include/secure/_stdio.h:47:28: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                           ^~~
2 warnings generated.
[ 57%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPL.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPL.c:13:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier
      missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/ElasticPL/ElasticPL.c:85:23: warning: format specifies type
      'int' but the argument has type 'long' [-Wformat]
                        sprintf(val, "%d", root->value);
                                      ~~   ^~~~~~~~~~~
                                      %ld
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
2 warnings generated.
[ 60%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPLTokenManager.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPLTokenManager.c:13:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier
      missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
1 warning generated.
[ 64%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPLParser.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPLParser.c:14:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier
      missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/ElasticPL/ElasticPLParser.c:269:10: warning: enumeration
      value 'EXP_NONE' not handled in switch [-Wswitch]
        switch (token->exp) {
                ^
2 warnings generated.
[ 67%] Building C object CMakeFiles/xel_miner.dir/ElasticPL/ElasticPLInterpreter.c.o
In file included from /Users/mac/xel_miner/ElasticPL/ElasticPLInterpreter.c:18:
/Users/mac/xel_miner/ElasticPL/../miner.h:51:29: warning: type specifier
      missing, defaults to 'int' [-Wimplicit-int]
extern __thread _ALIGN(64) *vm_mem;
~~~~~~~~~~~~~~~             ^
/Users/mac/xel_miner/ElasticPL/ElasticPLInterpreter.c:66:27: warning: format
      specifies type 'int' but the argument has type 'long' [-Wformat]
                                sprintf(result, "%d", exp->value);
                                                 ~~   ^~~~~~~~~~
                                                 %ld
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
/Users/mac/xel_miner/ElasticPL/ElasticPLInterpreter.c:72:32: warning: format
      specifies type 'int' but the argument has type 'long' [-Wformat]
                                sprintf(result, "mem[%d]", exp->value);
                                                     ~~    ^~~~~~~~~~
                                                     %ld
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
3 warnings generated.
[ 71%] Building C object CMakeFiles/xel_miner.dir/crypto/elasticpl_crypto.c.o
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:281:11: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx < 0) || (len <= 0) || ((idx + n) >= VM_MEMORY_SIZE))
             ~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:377:12: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY...
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:377:26: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY...
                           ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:478:12: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY...
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:478:26: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY...
                           ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:573:12: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY_SIZE))
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:656:12: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY...
             ~~~~ ^ ~
/Users/mac/xel_miner/crypto/elasticpl_crypto.c:656:26: warning: comparison of
      unsigned expression < 0 is always false [-Wtautological-compare]
        if ((idx1 < 0) || (idx2 < 0) || ((idx1 + uncomp_sz) >= VM_MEMORY...
                           ~~~~ ^ ~
8 warnings generated.
[ 75%] Building C object CMakeFiles/xel_miner.dir/crypto/curve25519-donna.c.o
[ 78%] Building C object CMakeFiles/xel_miner.dir/crypto/sha2.c.o
[ 82%] Building C object CMakeFiles/xel_miner.dir/crypto/whirlpool.c.o
[ 85%] Linking C executable ../xel_miner
Undefined symbols for architecture x86_64:
  "_dlmopen", referenced from:
      _create_instance in xel_compiler.c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../xel_miner] Error 1
make[1]: *** [CMakeFiles/xel_miner.dir/all] Error 2
make: *** [all] Error 2
MacdeiMac:build mac$
full member
Activity: 154
Merit: 100
This is my way, this is my path.
this is the most promising project since nxt coin ico.

small money,but big project.

thank you very much EK, you have the spirit of satoshi!

Fully agree with you, by far the best coin right now.
sr. member
Activity: 243
Merit: 250
I am totally fucked up by out current retargeting mechanism. I think its time for a contest ;-)

I have 2 BTC to spare for the "right" few lines of python! The work can probably be done under the shower, it's just I cannot see the solution at the moment.

https://bitcointalk.org/index.php?topic=1699601.new#new

Is this offer still running?


yee
hero member
Activity: 952
Merit: 501
this is the most promising project since nxt coin ico.

small money,but big project.

thank you very much EK, you have the spirit of satoshi!
Jump to: