Pages:
Author

Topic: Slimcoin | First Proof of Burn currency | Decentralized Web - page 84. (Read 137076 times)

legendary
Activity: 2254
Merit: 1290
I have tested the changes you made, but unfortunately on my system there are still errors when compiling, as follows:

Here is the thread where I found the fix if it is any use:

https://github.com/peercoin/peercoin/pull/153?

Ah, good catch - I'd somehow omitted one change: https://github.com/backpacker69/ppcoin/commit/fdc540e775f83eed12b670286adb90e673619825#diff-54e45787cdb38fd8469fe6d1c48e67beR378

I effected the change, pushed the commit and successfully compiled the binaries under Arch Linux. There is one failing key test, annotated:

     // R length on 9 bytes
      // Rejected by OpenSSL 64 bits, so it should be always rejected


looks like it isn't rejected under 1.1.

Quote
Does this mean that you will provide AUR packages for Arch Linux or will I still need to do so?
I'm just getting to grips with the model, made some progress, it seems straightforward enough. I'll report back on further progress.

Cheers

Graham
jr. member
Activity: 61
Merit: 3
Hello,

Thanks for the quick code updates.

Yes, you were correct that I was mainly wanting to work with a working codebase, but I would also like to learn how the whole system works too.

I have tested the changes you made, but unfortunately on my system there are still errors when compiling, as follows:

Code:
src/key.cpp: In member function ‘bool CKey::SetCompactSignature(uint256, const std::vector&)’:
src/key.cpp:380:30: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
   BN_bin2bn(&vchSig[1],32,sig->r);
                              ^~
In file included from /usr/include/openssl/ecdsa.h:10:0,
                 from src/key.cpp:9:
/usr/include/openssl/ec.h:1039:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
src/key.cpp:380:32: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
   BN_bin2bn(&vchSig[1],32,sig->r);
                                ^
In file included from /usr/include/openssl/ecdsa.h:10:0,
                 from src/key.cpp:9:
/usr/include/openssl/ec.h:1039:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
src/key.cpp:381:31: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
   BN_bin2bn(&vchSig[33],32,sig->s);
                               ^~
In file included from /usr/include/openssl/ecdsa.h:10:0,
                 from src/key.cpp:9:
/usr/include/openssl/ec.h:1039:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
src/key.cpp:381:33: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
   BN_bin2bn(&vchSig[33],32,sig->s);
                                 ^
In file included from /usr/include/openssl/ecdsa.h:10:0,
                 from src/key.cpp:9:
/usr/include/openssl/ec.h:1039:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
make: *** [Makefile:2269: build/key.o] Error 1

This was on an up to date Arch Linux system.

I did have to modify this file quite significantly to get it to compile on my system.

Regarding this comment,

I'm re-checking the build under Jessie (yep, it all compiles, tests pass) and have a Vagrant Arch Linux box, so I can have a play with a modified version of Peercoin's PKGBUILD file.

Does this mean that you will provide AUR packages for Arch Linux or will I still need to do so?

Here is the thread where I foud the fix if it is any use:

https://github.com/peercoin/peercoin/pull/153?

Regards

legendary
Activity: 2254
Merit: 1290
Firstly, thank you for taking the time to respond.
It's a pleasure. (We English tend to the masochistic at times).

Debian 8 x64 - still crashing with:
Code:
from src/bitcoinrpc.cpp:8:
src/bignum.h:52:24: error: invalid use of incomplete type ?BIGNUM {aka struct bignum_st}?
 class CBigNum : public BIGNUM
Known bug with Debian 8 apparently: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855574
Ah, okay. I can't quite get my head round this issue. My Vagrant+ansible deployment script executes without problems on Debian Jessie, compiling both headless and GUI clients and successfully running the test suite - but Jessie reports its apt-updated-upgraded-gotten openssl as 1.0.1t so I don't get where the 1.1 issue arises for Debian 8. But that's just my poor understanding of the Debian ecosystem.

Quote
Firstly, I must point out that I will not have much time to work on this for several weeks ...

Unless I miss my guess, your primary interest is in working with a capable build rather than working on a capable build, so to save time and effort all round, I've moved straight to a solution. The peercoin commit you found was: https://github.com/peercoin/peercoin/commit/5b09830e5de0f5105534e69dbf4acffb3255869b which I have cherry-picked into a branch, resolved the conflicts, commented out a few problematic OP_CODE sections in script.cpp that were inherited from prehistory (and have not yet been excised from the Slimcoin codebase but probably should have been long ago, for reasons of safety, like all the other altcoins did), checked that the test suite executes without issue and merged the branch to master so Travis CI can act as backstop - which it is doing nicely: https://travis-ci.org/slimcoin-project/Slimcoin

I'm re-checking the build under Jessie (yep, it all compiles, tests pass) and have a Vagrant Arch Linux box, so I can have a play with a modified version of Peercoin's PKGBUILD file.

Cheers

Graham


jr. member
Activity: 61
Merit: 3
Hello gjhiggins,

Firstly, thank you for taking the time to respond.

In answer to this question:

Would I be correct in inferring that this issue is specific to the Arch Linux distro and not a general issue? Either way, more info would be most useful to me, at least.

No, I belive it affects debian jessie, ie. debian 8, as well. I would imagine that it affects any distribution that uses openSSL1.1, but without further research I could not say for certain. This issue was raised earlier in the thread as well:

Debian 8 x64 - still crashing with:

Code:
from src/bitcoinrpc.cpp:8:
src/bignum.h:52:24: error: invalid use of incomplete type ?BIGNUM {aka struct bignum_st}?
 class CBigNum : public BIGNUM

Known bug with Debian 8 apparently: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855574

Cheers

Graham


To answer your second question:
What's the most convenient way for you to proceed, as a Slimcoin developer focusing on Arch Linux and devices?

Firstly, I must point out that I will not have much time to work on this for several weeks, however that is currently not an issue as I am testing my code and as the first stage of that is I am waiting for the node to sync. I cannot do anything else until that finishes. From there I would proceed to test all features of the wallet possible, and once all features have been shown to work I intend to submit a pull request to the repository. If you would like me to make this pull request sooner so that you and others can review my code and commence testing I would be happy to do so.

I am trying to learn how to use git and github so I will need some help. I created a new branch on my local git reposity to make the changes to so that may make it easier to pull as it will not change the current master branch but will allow others to test and review my code, is this a suitable way to do it?

Once the SSL fix is in place I would then proceed to phase two which would be to provide precompiled binarys and make these binary available on the Arch Linux AUR.

One other issue that I may need to address is backwards compatability.

By the way, I am still very much in the process of learning how to program, so code changes will take me a comparitively long time to accomplish, however I am trying to pick it up along the way. I am also trying to familiarise myself with the infrastrucutre underlying cryptocurrencies. I will now add peerbox to my list of things to investigate.

If you need more information about what I am saying don't hesitate to ask.

Regards
member
Activity: 94
Merit: 10
You will need qrencode too if you used USE_QRCODE=1
Now I will not use qrcode, I need just a daemon. But when I tried to install qr lib, I didn't find it.

BTW, there are not a lot of 3-years-old coins, having any developer, so you are great.
legendary
Activity: 2254
Merit: 1290
Code:
/usr/bin/ld.exe: cannot find -lminiupnpc

Upd: That's OK. I just installed libminiupnpc-dev.

Sorry about that, build documentation is disorganised atm.

You will need qrencode too if you used USE_QRCODE=1

Cheers

Graham
member
Activity: 94
Merit: 10
Code:
git checkout master
This command helped, I didn't receive that warnings and error. But I received another error:
Code:
/usr/bin/ld.exe: cannot find -lminiupnpc

How to be now?

Upd: That's OK. I just installed libminiupnpc-dev.
legendary
Activity: 2254
Merit: 1290
I am new on this forum
A very warm welcome to you.

Quote
the error preventing Slimcoin compiling against openSSL1.1
Would I be correct in inferring that this issue is specific to the Arch Linux distro and not a general issue? Either way, more info would be most useful to me, at least.

Quote
I recently noticed that this error had been fixed on the peercoin codebase on the development branch. I compared Slimcoin's codebase to peercoin's and found that they were so similar that I could modify the appropriate files in Slimcoin so that it could be compiled against openSSL1.1. I have compiled it successfully and I am currently in the process of testing it to ensure that it is still stable and all features still work. Currently it is almost halfway through syncing from zero. If this is successful, this would enable it to be compiled for both Arch Linux and Debian.

Related to this is the release of Slimcoin as an easy to install application on various platforms. If it becomes possible to compile against openSSL1.1 I was contemplating placing Slimcoin on Arch Linux's AUR to enable easier installation and accessibility.

By the way, I am also working on producing precompiled applications for arm based devices, as I would personally use these, again I would place these on the Arch linux AUR.
For those following along at home, unless I've misunderstood massively, IMO this work by eddycurrent has opened up a significant line of development for Slimcoin in terms of taking advantage of the work being done on Peerbox.

Quote
If you(the Slimcoin developers) would let me know how you would like me to proceed with these fixes and proposals, I would appreciate your feedback.
May I offer a slight change in perspective? You're perfectly entitled to write we. What's the most convenient way for you to proceed, as a Slimcoin developer focusing on Arch Linux and devices?

At the moment, I am woefully ignorant on how the Slimcoin build behaves on other Linux distros. I did manage to hack up a Vagrant+ansible deployment script for compiling on Debian Jessie, I can't recall why it's only in my personal github repos (https://github.com/gjhiggins/ansible-slm-jessie) and why I haven't pushed it up to the slimcoin-project github a/c, maybe because (IIRC), the challenge (from ArchiTektor?) is to compile on the previous Debian release (I'm inadequately familiar with Debian, sry).

Given the potential impact of a “Slimbox”, I'm quite prepared to roll up my sleeves and support your work - hence my offered change in perspective - how would you (knowing far more about the topic than I do) like to proceed?

Cheers

Graham
legendary
Activity: 2254
Merit: 1290
Use either boost::array
So if delete string
Code:
-array vnThreadsRunning;
and  write instead it
Code:
+boost::array vnThreadsRunning;
it will be enough?

Or I can just make command (as suggested eddycurrent)
Code:
git checkout master
and it will be made by "itself"?

Either will do. The array issue has been addressed in master and it builds - as attested by the continuous integration / tests courtesy of Travis CI ¹ but if you prefer to use the longstanding slimcoin branch, you will need to make the change to boost::array by hand.

Cheers

Graham

¹
member
Activity: 94
Merit: 10
Use either boost::array
So if delete string
Code:
-array vnThreadsRunning;
and  write instead it
Code:
+boost::array vnThreadsRunning;
it will be enough?

Or I can just make command (as suggested eddycurrent)
Code:
git checkout master
and it will be made by "itself"?
jr. member
Activity: 61
Merit: 3
Hello all yet again,

I just wanted to say a Thank You to gjhiggins, muf18, and all the others involved with Slimcoin for providing a friendly and helpful community and prompt responses to those who are trying to get into this coin.

If you have any issues with any of my posts such as missing or false information, feel free to let me know as I am new to the forum system.

Regards
member
Activity: 137
Merit: 14
Coin looks very interesting. Will be interested to see where it is at by the end of the year. Nice work
legendary
Activity: 2254
Merit: 1290
a lot of warnings like
Code:
main.h:1402:16: warning: invalid suffix or literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]

Those are instances of C99 “convenience” macros for correctly handling numerical precision in print statements (e.g. PRI64u), deprecated in later versions of C++. You're lucky - OS X's later C++ rejects them as errors. You can choose to ignore the deprecations (until an OS upgrade of the C++ compiler forces the issue) or simply do as directed and insert a space between the double quote character and the PRI* macro --- which is the approach I adopted:

https://github.com/slimcoin-project/Slimcoin/commit/1128835139d52858c82b047e1414f7072e547fdf

(Contemporary versions of the C++ compiler have been enriched to allow: %u - at the expense of backward compatibility, I assume)

Quote
and one error:
Code:
net.cpp:56:1: error:  reference to ‘array’ is ambiguous
 array vnThreadsRunning;

Another casualty of compiler improvements, array used to be unambiguous with:
Code:
using namespace std;
using namespace boost;

but now that C++ has its own array, what was unambiguous is now ambiguous, so one is obliged to be specific. Use either boost::array (the usual choice, supporting older compilers) or std::array if you want a clean break with the past. Again, I opted for backward compatibility:

https://github.com/slimcoin-project/Slimcoin/commit/14c5606871ff6811ac4b0d2cb00d20bd9bfaf071#diff-9a82240fe7dfe86564178691cc57f2f1

(The above commit also addresses the majority of the C99 macros).

Quote
Please, explain me as easy as you can, what to do to make slimcoind in Ubuntu 17.0.4 with newest packages.

git checkout master

Lastly, my compliments to you for composing an enquiry that is clear and complete --- it makes it so easy to provide the relevant information that it's actually a pleasure. Thank you for making my morning.

Cheers

Graham

jr. member
Activity: 61
Merit: 3
No, you were not wrong. After you cloned the repository you need to enter the directory and run the following command to use the master branch:

Code:
git checkout master

Regards
member
Activity: 94
Merit: 10
it was usually caused by not checking out the master branch on the github repository
As I remember, I downloaded by command
Code:
git clone https://github.com/slimcoin-project/Slimcoin.git
Was it wrong?
jr. member
Activity: 86
Merit: 1
Hello,

I tried to setup a pool weeks ago,
But it did not go well, basically the wallet was not able to communicate through the stratum system.
(RPC command not available on Slimcoin). I had a one way communication...

I also did not used the last ubuntu server version, I used the 14 or 15 (i don't remember exactly).

I hope you ll have better luck than me.

K.
jr. member
Activity: 61
Merit: 3
Hello again,

I have had the error you mentioned before about

Code:
net.cpp:56:1: error:  reference to ‘array’ is ambiguous

several times and for me it was usually caused by not checking out the master branch on the github repository. If you need more information I would recommend that you read the initial post on this thread, if you have not done so already.

Regards.
member
Activity: 94
Merit: 10
Hello all.
I am very new in linux, compiling and so on, but I mined slimcoins some years ago and I would like it to live. I wanted to make pool for mining coins by my asic, I bought some days ago, and decided to make pool for mining slimcoins first (just for me, at my home - maybe, later I will make pool for all). I took notebook, installed ubuntu 17.0.4 and all packages, needed for compiling wallet. I installed newest versions of packages. I didn't find openssl, so I installed libssl (internet said it is just the same).
I sent command
Code:
make -f makefile.unix
and received a lot of warnings like
Code:
main.h:1402:16: warning: invalid suffix or literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
and one error:
Code:
net.cpp:56:1: error:  reference to ‘array’ is ambiguous
 array vnThreadsRunning;
 ^~~~~
In file included from net.h:11:0,
                 from main.h:11:
                 from db.h:10:
                 from net.cpp:9:
/usr/include/boost/array.hpp:60:11: note: candidates are: template class boost::array
     class array {
           ^~~~~
In file included from /usr/include/c++/6/tuple:39:0,
                 from /usr/include/c++/6/bits/stl_map.h:63,
                 from /usr/include/c++/6/map:61,
                 from util.h:50,
                 from bignum.h:13,
                 from main.h:10,
                 from db.h:10,
                 from net.cpp:9:
/usr/include/c++/6/array:90:12: note:                 template struct_ std::array
     struct array
            ^~~~~
I found similar problem in another project and its decision. But I am not sure how to use it. Please, explain me as easy as you can, what to do to make slimcoind in Ubuntu 17.0.4 with newest packages.
legendary
Activity: 2254
Merit: 1290
I don't think my spelucation is so off-target, maybe it isn't related to blockchain itself, but it must be related around it

The main bitcointalk discussion thread is an inappropriate medium for persistently vague speculations about technical aspects of the performance of the client.

Start here: https://en.wikipedia.org/wiki/Random-access_memory

and raise a github issue including the supporting evidence.

Cheers

Graham
jr. member
Activity: 61
Merit: 3
I am new on this forum but have been using this coin for several years now. As I run Arch Linux as my main OS I was keen to fix the error preventing Slimcoin compiling against openSSL1.1. I recently noticed that this error had been fixed on the peercoin codebase on the development branch. I compared Slimcoin's codebase to peercoin's and found that they were so similar that I could modify the appropriate files in Slimcoin so that it could be compiled against openSSL1.1. I have compiled it successfully and I am currently in the process of testing it to ensure that it is still stable and all features still work. Currently it is almost halfway through syncing from zero. If this is successful, this would enable it to be compiled for both Arch Linux and Debian.

Related to this is the release of Slimcoin as an easy to install application on various platforms. If it becomes possible to compile against openSSL1.1 I was contemplating placing Slimcoin on Arch Linux's AUR to enable easier installation and accessibility.

By the way, I am also working on producing precompiled applications for arm based devices, as I would personally use these, again I would place these on the Arch linux AUR.

If you(the Slimcoin developers) would let me know how you would like me to proceed with these fixes and proposals, I would appreciate your feedback.

Regards
Pages:
Jump to: