Hello! absolutely right, i left the source doe without instructions because i wanted to know how much people really compile from source code.
Amusingly after 5 months it seems you are the first. Also i sued QBS to builds the system, a completely new tool developed by Qt guys
So, lets work on the Linux installation part, how would you like it to be modified?
Did you get a lot of money out of QBS? Typo I assume lol.
I just want something that works out of the box. I suppose that is easier said than done with so many linux flavours. I use Ubuntu 14.04 LTS, and the only dependency I needed to resolve was the libmng 1 package that is now obsolete in favour of libmng 2. Luckily I could get the old package working alongside the newer one, whereas some packages may remove different package versions (berkely db being an example, I've had to manually put the source on for namecoin legacy 4.7 and dogecoin which uses 5.1).
It looks like I have had to chmod 2 files to make them executable, and it looks like the installer when finished tries to launch world coin panel without having the correct library path setup. Looks like it should be calling Worldcoin.sh instead, but that does require WorldcoinBC as the working directory.
So for the moment at least, it looks like there needs to be better set up and execute instructions instructions (the latter being lacking). I don't know how this will effect the auto update.
Some wallets provide .deb packages, but most don't and some wallets don't even provide compiled executables so I thought I would have a go at building the lot. The way WDC BC works, I tend to have to treat it a bit differently on both Windows and Linux. With its auto updater it's probably one of those things that is better not being self compiled. Seems VRC is probably better that way as well (at least for the qt version). Unfortunately the VRC 1.6.4 installer actually installs VRC 1.6.3 and puts it in a continuous update loop. I was able to build the daemon from source but not the qt wallet. It looks like in this case, and probably the same with WDC BC, is that it uses qt5 libraries than are newer than what is provided with the Ubuntu 14.04 package system. So a self contained directory sub structure is probably the best way to implement this.
Some pool operators might want to build the WDC daemon from source and install it to a location of their choosing.
scanelf -e WorldcoinDaemon reveals:
TYPE STK/REL/PTL FILE
ET_EXEC RW- R-- RW- WorldcoinDaemon
It would be much more secure if it looks like this:
TYPE STK/REL/PTL FILE
ET_DYN RW- R-- RW- bitcoind
1) Fixed typo ROFL
2) I will check the libmng dependence, it is probably some Qt plugin that is trying to use that library that we do not actually need.
3) You need to static compile WorldcoinDaemon first, that is in the main repository that I pointed out previously with fairly detailed instructions for Linux and Windows (including package versions). After that you should compile WorldcoinPanel and you put WorldcoinDaemon inside the folder called 'Daemons'. Maybe we can add the option for later versions (not next one) specifying daemon location.
4) You probably need to download from web page WorldcoinBC or just change Worldcoin.sh pointing to WorldcoinPanel.
5) You are right about instructions, hopefully i have the time to build ones for next release, the problem is that for Linux there are many distributions which instructions should be changed.
6) Wallet should be almost self contained and work with most distributions and versions, but of course you will need the same packages that we compiled with to avoid weird issues. That will probably go with instructions in the future. For now you can download from web page and check exactly the libraries and plugins we are using with their versions so you can replicate the main directory structure.
7) You are right that source compiling would not work correctly with auto updater, although i think we have a better one than VRC. The reason is because we just don't check version, we checksum every file and compare them with the hash we have in our system for that specific version, if they don't match then it downloads the file from our servers and overwrites it. We do this as a counter measure for malware that may be embedded in some files, so we just replace the 'offending' files.
8 ) chmod is fixed for next version
9) it would be not wise from our part to build packages for distributions ourselves because our Linux user base is pretty small, whats more the only reason we build for Linux is because i am a Linux user myself (opensuse 42.1 here
)
10) If we incorporate Qt source code to our tree that would mean that we necessarily would need to support user Qt compilation ourselves, too much work with little return. Whats more, we use binary packages that qt.io provides for our compilation (except when we need to compile WorldcoinBC which needs static compilation)