Bitcoin Forum
July 04, 2024, 10:18:38 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [76] 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ... 159 »
  Print  
Author Topic: Slimcoin | First Proof of Burn currency | Decentralized Web  (Read 136784 times)
Vitala
Member
**
Offline Offline

Activity: 94
Merit: 10


View Profile
October 16, 2017, 09:42:29 AM
 #1501

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<int, THREAD_MAX> 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 T, long unsigned int N> 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<class _Tp, long unsigned int _Nm> 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.
eddycurrent
Jr. Member
*
Offline Offline

Activity: 61
Merit: 3


View Profile
October 16, 2017, 09:50:09 AM
 #1502

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.
keliokan
Jr. Member
*
Offline Offline

Activity: 86
Merit: 1


View Profile
October 16, 2017, 09:56:57 AM
 #1503

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.
Vitala
Member
**
Offline Offline

Activity: 94
Merit: 10


View Profile
October 16, 2017, 10:37:16 AM
 #1504

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?
eddycurrent
Jr. Member
*
Offline Offline

Activity: 61
Merit: 3


View Profile
October 16, 2017, 10:43:21 AM
 #1505

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
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
October 16, 2017, 10:46:25 AM
 #1506

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<int, THREAD_MAX> 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

Bitcoin2theEnd
Member
**
Offline Offline

Activity: 137
Merit: 14


View Profile
October 16, 2017, 10:52:14 AM
 #1507

Coin looks very interesting. Will be interested to see where it is at by the end of the year. Nice work
eddycurrent
Jr. Member
*
Offline Offline

Activity: 61
Merit: 3


View Profile
October 16, 2017, 11:00:49 AM
 #1508

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
Vitala
Member
**
Offline Offline

Activity: 94
Merit: 10


View Profile
October 16, 2017, 11:09:49 AM
 #1509

Use either boost::array
So if delete string
Code:
-array<int, THREAD_MAX> vnThreadsRunning;
and  write instead it
Code:
+boost::array<int, THREAD_MAX> 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"?
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
October 16, 2017, 11:24:29 AM
Last edit: October 16, 2017, 11:51:31 AM by gjhiggins
 #1510

Use either boost::array
So if delete string
Code:
-array<int, THREAD_MAX> vnThreadsRunning;
and  write instead it
Code:
+boost::array<int, THREAD_MAX> 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

¹
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
October 16, 2017, 12:36:28 PM
 #1511

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
Vitala
Member
**
Offline Offline

Activity: 94
Merit: 10


View Profile
October 16, 2017, 06:41:01 PM
Last edit: October 16, 2017, 07:23:57 PM by Vitala
 #1512

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.
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
October 16, 2017, 08:12:28 PM
 #1513

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
Vitala
Member
**
Offline Offline

Activity: 94
Merit: 10


View Profile
October 17, 2017, 07:22:19 AM
 #1514

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.
eddycurrent
Jr. Member
*
Offline Offline

Activity: 61
Merit: 3


View Profile
October 17, 2017, 08:40:43 AM
Last edit: October 17, 2017, 08:54:30 AM by eddycurrent
 #1515

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
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
October 17, 2017, 04:04:30 PM
 #1516

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

Quote
No, I believe 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
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


eddycurrent
Jr. Member
*
Offline Offline

Activity: 61
Merit: 3


View Profile
October 17, 2017, 09:59:06 PM
 #1517

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<unsigned char>&)’:
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

gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
October 18, 2017, 02:43:25 AM
 #1518

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
eddycurrent
Jr. Member
*
Offline Offline

Activity: 61
Merit: 3


View Profile
October 18, 2017, 09:19:46 AM
 #1519

Thanks gjhiggins!

It compiles on my system now.

I will now start work on compiling the daemon for arm devices as mentioned as needed in the bounty section in the first post on this thread.

I have another question. When I compile I get this warning from the compiler:

Code:
warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]

I tried to compile with optimisation recently, but the compiled binary immediately had a segmentation fault when run. Is there a known cause for this and does something need to be done about it?

Regards
wDUO
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
October 18, 2017, 09:28:20 AM
 #1520

I need some nodes....  help?
Pages: « 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [76] 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ... 159 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!