Bitcoin Forum
June 16, 2024, 02:04:58 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 »  All
  Print  
Author Topic: [HOWTO] compile altcoin for windows on linux using mxe and mingw  (Read 49060 times)
Nthused
Legendary
*
Offline Offline

Activity: 1554
Merit: 1001



View Profile
December 29, 2016, 01:46:47 AM
 #41

Here's a copy of my Ubuntu 14.04 32-bit VMware Image for anyone that wants it. You will need atleast VMware 10 installed.

https://www.amazon.com/clouddrive/share/ZhOxZQQzji8FpQvuV9b86DqJg6IGpIXmlXFyG5o2X8h?ref_=cd_ph_share_link_copy

It should be a big help to anyone that is having problems following this guide.

The user password is Password1

The root password is Password1

There are instructions on the desktop for anyone that needs them. Wink

This doesn't work for me, I get "i686-w64-mingw32.static-g++: internal compiler error: Segmentation fault" error 4
doesn't make any sense

I'm used to building daemon, can't build qt for anything very frustrating.

This is a Linux Qt Wallet Automatic Compiler, it works for pretty much all Sha-256 & Scrypt Altcoins, it's very easy to use even a newbie with no Linux experience can do it with the guide.

https://bitcointalk.org/index.php?topic=498746.0
dzimbeck
Legendary
*
Offline Offline

Activity: 2412
Merit: 1044


View Profile
December 29, 2016, 05:13:17 AM
 #42

Here's a copy of my Ubuntu 14.04 32-bit VMware Image for anyone that wants it. You will need atleast VMware 10 installed.

https://www.amazon.com/clouddrive/share/ZhOxZQQzji8FpQvuV9b86DqJg6IGpIXmlXFyG5o2X8h?ref_=cd_ph_share_link_copy

It should be a big help to anyone that is having problems following this guide.

The user password is Password1

The root password is Password1

There are instructions on the desktop for anyone that needs them. Wink

This doesn't work for me, I get "i686-w64-mingw32.static-g++: internal compiler error: Segmentation fault" error 4
doesn't make any sense

I'm used to building daemon, can't build qt for anything very frustrating.

This is a Linux Qt Wallet Automatic Compiler, it works for pretty much all Sha-256 & Scrypt Altcoins, it's very easy to use even a newbie with no Linux experience can do it with the guide.

https://bitcointalk.org/index.php?topic=498746.0

I can build for Linux just fine, also can build daemon. My issues arise when I try to cross-compile the QT wallet for windows using MXE. I tried the virtual machine listed here and it didn't help since I got that segmentation fault.
D3m0nKinGx
Hero Member
*****
Offline Offline

Activity: 1638
Merit: 507


The snake which cannot cast its skin has to die


View Profile
December 29, 2016, 05:16:01 AM
 #43

Here's a copy of my Ubuntu 14.04 32-bit VMware Image for anyone that wants it. You will need atleast VMware 10 installed.

https://www.amazon.com/clouddrive/share/ZhOxZQQzji8FpQvuV9b86DqJg6IGpIXmlXFyG5o2X8h?ref_=cd_ph_share_link_copy

It should be a big help to anyone that is having problems following this guide.

The user password is Password1

The root password is Password1

There are instructions on the desktop for anyone that needs them. Wink

This doesn't work for me, I get "i686-w64-mingw32.static-g++: internal compiler error: Segmentation fault" error 4
doesn't make any sense

I'm used to building daemon, can't build qt for anything very frustrating.

Should report the bug on github, very helpful devs there to go through the steps to find the issue and fix anything, keep screenshots, also there should be a log file that outputs the errors, make sure to save those.

.
.
.
▬◇
▬◇▬◆
▬◇▬◇▬◆
.
.







███
███░░░███
███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░███
███░░░███
███
.
.
.
◇▬
◆▬◇▬
◆▬◇▬◇▬
.
.
dzimbeck
Legendary
*
Offline Offline

Activity: 2412
Merit: 1044


View Profile
December 29, 2016, 08:54:52 AM
 #44

Here's a copy of my Ubuntu 14.04 32-bit VMware Image for anyone that wants it. You will need atleast VMware 10 installed.

https://www.amazon.com/clouddrive/share/ZhOxZQQzji8FpQvuV9b86DqJg6IGpIXmlXFyG5o2X8h?ref_=cd_ph_share_link_copy

It should be a big help to anyone that is having problems following this guide.

The user password is Password1

The root password is Password1

There are instructions on the desktop for anyone that needs them. Wink

This doesn't work for me, I get "i686-w64-mingw32.static-g++: internal compiler error: Segmentation fault" error 4
doesn't make any sense

I'm used to building daemon, can't build qt for anything very frustrating.

Should report the bug on github, very helpful devs there to go through the steps to find the issue and fix anything, keep screenshots, also there should be a log file that outputs the errors, make sure to save those.

Thanks. Sure but which github? I'm not sure if thats an mxe issue or a VM issue or where to even ask. So I now checked on another VM wheezy I made a script (setup.sh) as follows:

sudo apt-get install p7zip-full autoconf automake autopoint bash bison bzip2 cmake flex gettext git g++ gperf intltool libffi-dev libtool libltdl-dev libssl-dev libxml-parser-perl make openssl patch perl pkg-config python ruby scons sed unzip wget xz-utils
sudo apt-get install g++-multilib libc6-dev-i386
cd $HOME/QT/
git clone https://github.com/mxe/mxe.git
cd mxe
make MXE_TARGETS="i686-w64-mingw32.static" boost
make MXE_TARGETS="i686-w64-mingw32.static" qttools
cd ..
wget http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz
tar zxvf db-5.3.28.tar.gz
cp compile-db.sh db-5.3.28/compile-db.sh
cd db-5.3.28
chmod ugo+x compile-db.sh
./compile-db.sh
cd ..
wget http://miniupnp.free.fr/files/miniupnpc-1.6.20120509.tar.gz
tar zxvf miniupnpc-1.6.20120509.tar.gz
cp compile-m.sh miniupnpc-1.6.20120509/compile-m.sh
cd miniupnpc-1.6.20120509
chmod ugo+x compile-m.sh
./compile-m.sh
export PATH=$HOME/QT/mxe/usr/bin:$PATH
cd ..
git clone https://github.com/rat4/blackcoin.git
cp compile-blk.sh blackcoin/compile-blk.sh
chmod -R 777 blackcoin
cd blackcoin
./compile-blk.sh

So this fails with:
/home/admin0/QT/mxe/usr/i686-w64-mingw32.static/include/boost/mpl/list/aux_/include_preprocessed.hpp:30:64: fatal error: boost/mpl/list/aux_/preprocessed/plain/list10.hpp: No such file or directory
 #   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)
                                                                ^
compilation terminated.
Makefile.Release:12634: recipe for target 'build/txdb-leveldb.o' failed
make: *** [build/txdb-leveldb.o] Error 1


Its worth noting, boost skips over two packages when installing. I'm sorry but these instructions on this forum are just not to date. I have no clue how anyone got this to work. That is two VMs, one I downloaded here in the OP and the other was my own for building daemons and I followed the instructions exactly with failed boost install.

Why do we have to compile this in the first place?? Its 2016 we should be in FLYING CARS. Its totally ridiculous that we get these kinds of errors. It's times like this I want to set my computer on fire and become a farmer.
D3m0nKinGx
Hero Member
*****
Offline Offline

Activity: 1638
Merit: 507


The snake which cannot cast its skin has to die


View Profile
December 29, 2016, 09:29:18 AM
 #45

Code:
TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a CC=~/mxe/usr/bin/i686-w64-mingw32.static-gcc CXX=~/mxe/usr/bin/i686-w64-mingw32.static-g++

do this first before compiling


report the bugs here > https://github.com/mxe/mxe/issues

.
.
.
▬◇
▬◇▬◆
▬◇▬◇▬◆
.
.







███
███░░░███
███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░███
███░░░███
███
.
.
.
◇▬
◆▬◇▬
◆▬◇▬◇▬
.
.
dzimbeck
Legendary
*
Offline Offline

Activity: 2412
Merit: 1044


View Profile
December 29, 2016, 09:33:37 AM
 #46

Code:
TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a CC=~/mxe/usr/bin/i686-w64-mingw32.static-gcc CXX=~/mxe/usr/bin/i686-w64-mingw32.static-g++

do this first before compiling


report the bugs here > https://github.com/mxe/mxe/issues

I've done that, it didn't work. The error is in something missing from Boost. I wish there was a static way to install these things instead of making them.
D3m0nKinGx
Hero Member
*****
Offline Offline

Activity: 1638
Merit: 507


The snake which cannot cast its skin has to die


View Profile
December 29, 2016, 09:39:30 AM
 #47

it's saying your missing the file:

boost/mpl/list/aux_/preprocessed/plain/list10.hpp

from your terminal run:

$ locate list10.hpp

then copy it from where it's found to that directory, and try to compile again

.
.
.
▬◇
▬◇▬◆
▬◇▬◇▬◆
.
.







███
███░░░███
███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░███
███░░░███
███
.
.
.
◇▬
◆▬◇▬
◆▬◇▬◇▬
.
.
dzimbeck
Legendary
*
Offline Offline

Activity: 2412
Merit: 1044


View Profile
December 29, 2016, 10:31:54 AM
 #48

it's saying your missing the file:

boost/mpl/list/aux_/preprocessed/plain/list10.hpp

from your terminal run:

$ locate list10.hpp

then copy it from where it's found to that directory, and try to compile again

Nope, I just don't think boost is installing properly. Its giving me a bunch of weird errors now. Is there a way to install boost and mxe that actually works?
D3m0nKinGx
Hero Member
*****
Offline Offline

Activity: 1638
Merit: 507


The snake which cannot cast its skin has to die


View Profile
December 29, 2016, 10:40:48 AM
 #49

it's saying your missing the file:

boost/mpl/list/aux_/preprocessed/plain/list10.hpp

from your terminal run:

$ locate list10.hpp

then copy it from where it's found to that directory, and try to compile again

Nope, I just don't think boost is installing properly. Its giving me a bunch of weird errors now. Is there a way to install boost and mxe that actually works?

download and compile boost yourself, then install it in the mxe directory

https://sourceforge.net/projects/boost/files/boost/

run from boost directory:
Code:
./bootstrap.sh --with-toolset=gcc	                
./b2 --clean-all                
echo "using mpi ;" >> project-config.jam
./b2 --prefix=<mxe boost installation directory> --toolset=gcc link=static install 

.
.
.
▬◇
▬◇▬◆
▬◇▬◇▬◆
.
.







███
███░░░███
███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░░░░░░░███
███░░░░░░░░░░░░░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░███░░░░░░░░░░░░░░░███░░░░███
███░░░░░░░░░███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░███░░░███░░░░░░░░░███
███░░░░░░░░░███░░░░░░░░░███
███░░░░░░░░░░░░░░░███
███░░░░░░░░░███
███░░░███
███
.
.
.
◇▬
◆▬◇▬
◆▬◇▬◇▬
.
.
dzimbeck
Legendary
*
Offline Offline

Activity: 2412
Merit: 1044


View Profile
December 29, 2016, 11:48:09 AM
 #50

it's saying your missing the file:

boost/mpl/list/aux_/preprocessed/plain/list10.hpp

from your terminal run:

$ locate list10.hpp

then copy it from where it's found to that directory, and try to compile again

Nope, I just don't think boost is installing properly. Its giving me a bunch of weird errors now. Is there a way to install boost and mxe that actually works?

download and compile boost yourself, then install it in the mxe directory

https://sourceforge.net/projects/boost/files/boost/

run from boost directory:
Code:
./bootstrap.sh --with-toolset=gcc	                
./b2 --clean-all                
echo "using mpi ;" >> project-config.jam
./b2 --prefix=<mxe boost installation directory> --toolset=gcc link=static install 

Okay thanks! Also I should mention the segmentation fault with the VM featured in this thread was due to an issue with my RAM on windows 7 running a virtual machine. So that laptop can compile the daemon but not the QT... kind of weird but *oh well*. There wasn't much help on Google about this however it became apparent when I ran the VM on my other laptop although it still compiles a bit clunky and freezes periodically. If it doesn't finish compiling will let you know about to sleep.

Thanks again.
gjhiggins
Legendary
*
Offline Offline

Activity: 2254
Merit: 1278



View Profile WWW
December 29, 2016, 02:16:07 PM
 #51

My issues arise when I try to cross-compile the QT wallet for windows using MXE.

I've had success with MXE cross-compilation by adding the MXE ppa deb http://pkg.mxe.cc/repos/apt/debian wheezy main to my apt-sources, installing the appropriate cross-compiler bundle and all the pre-compiled packages: boost, qt, libqrencode, miniupnpc.



I doubt whether I actually hand-selected every single installed package, I probably selected a bundle but I had a very sketchy model of the cross-compilation process at the time, so was sort of stabbing around in blind optimism (yes, it does sometimes pay off) and don't exactly recall what I did - other than, at the end of the exercise, I had a richly-populated /usr/lib/mxe/usr/lib folder which does the biz.

It also has the useful side-effect of obviating the cross-compilation of the upnp & qrencode support libs.

I have this for cross-compiling SLIMCoin:

Code:
#!/bin/bash

# Working setup to cross-compile Windows binaries for Slimcoin hosted on a
# Vagrant Ubuntu 16.04 VM using non-Canonical ppas for MXE and Qt5.7:
# deb http://pkg.mxe.cc/repos/apt/debian wheezy main

# Doesn't seem to pass the QT directives through, though. Tough.

# Basic path bindings
PATH=/usr/lib/mxe/usr/bin:$PATH
MXE_PATH=/usr/lib/mxe
MXE_INCLUDE_PATH=/usr/lib/mxe/usr/i686-w64-mingw32.static/include
MXE_LIB_PATH=/usr/lib/mxe/usr/i686-w64-mingw32.static/lib
# Belt and braces
CXXFLAGS="-std=gnu++11 -march=i686"
LDFLAGS="-march=i686"
target="i686-w64-mingw32.static"

# Particularise for cross-compiling
export BOOST_LIB_SUFFIX=-mt
export BOOST_THREAD_LIB_SUFFIX=_win32-mt
export BOOST_INCLUDE_PATH=${MXE_INCLUDE_PATH}/boost
export BOOST_LIB_PATH=${MXE_LIB_PATH}
export OPENSSL_INCLUDE_PATH=${MXE_INCLUDE_PATH}/openssl
export OPENSSL_LIB_PATH=${MXE_LIB_PATH}
export BDB_INCLUDE_PATH=${MXE_INCLUDE_PATH}
export BDB_LIB_PATH=${MXE_LIB_PATH}
export MINIUPNPC_INCLUDE_PATH=${MXE_INCLUDE_PATH}
export MINIUPNPC_LIB_PATH=${MXE_LIB_PATH}
export QMAKE_LRELEASE=${MXE_PATH}/usr/${target}/qt5/bin/lrelease

# Call qmake to create Makefile.[Release|Debug]
${target}-qmake-qt5 \
    MXE=1 \
    USE_O3=1 \
    USE_QRCODE=1 \
    FIRST_CLASS_MESSAGING=1 \
    RELEASE=1 \
    USE_UPNPC=1 \
    BOOST_LIB_SUFFIX=${BOOST_LIB_SUFFIX} \
    BOOST_THREAD_LIB_SUFFIX=${BOOST_THREAD_LIB_SUFFIX} \
    BOOST_INCLUDE_PATH=${BOOST_INCLUDE_PATH} \
    BOOST_LIB_PATH=${BOOST_LIB_PATH} \
    OPENSSL_INCLUDE_PATH=${OPENSSL_INCLUDE_PATH} \
    OPENSSL_LIB_PATH=${OPENSSL_LIB_PATH} \
    BDB_INCLUDE_PATH=${BDB_INCLUDE_PATH} \
    BDB_LIB_PATH=${BDB_LIB_PATH} \
    MINIUPNPC_INCLUDE_PATH=${MINIUPNPC_INCLUDE_PATH} \
    MINIUPNPC_LIB_PATH=${MINIUPNPC_LIB_PATH} \
    QMAKE_LRELEASE=${QMAKE_LRELEASE} slimcoin-qt.pro

# Go for it. If successful, Windows binary will be written out to ./release/slimcoin-qt.exe
make -f Makefile.Release CXXFLAGS="-DQT_GUI -DQT_NO_PRINTER -std=gnu++11 -march=i686" LDFLAGS="-march=i686"

(The above probably includes more incantations than are strictly necessary but I have at least omitted the 1cc of mouse blood that I habitually include.)

Oh, one last thing - all of the above assumes a VM with build-essentials, etc already apt-installed.

HTH,

Cheers

Graham
dzimbeck
Legendary
*
Offline Offline

Activity: 2412
Merit: 1044


View Profile
December 29, 2016, 07:53:31 PM
 #52

My issues arise when I try to cross-compile the QT wallet for windows using MXE.

I've had success with MXE cross-compilation by adding the MXE ppa deb http://pkg.mxe.cc/repos/apt/debian wheezy main to my apt-sources, installing the appropriate cross-compiler bundle and all the pre-compiled packages: boost, qt, libqrencode, miniupnpc.



I doubt whether I actually hand-selected every single installed package, I probably selected a bundle but I had a very sketchy model of the cross-compilation process at the time, so was sort of stabbing around in blind optimism (yes, it does sometimes pay off) and don't exactly recall what I did - other than, at the end of the exercise, I had a richly-populated /usr/lib/mxe/usr/lib folder which does the biz.

It also has the useful side-effect of obviating the cross-compilation of the upnp & qrencode support libs.

I have this for cross-compiling SLIMCoin:

Code:
#!/bin/bash

# Working setup to cross-compile Windows binaries for Slimcoin hosted on a
# Vagrant Ubuntu 16.04 VM using non-Canonical ppas for MXE and Qt5.7:
# deb http://pkg.mxe.cc/repos/apt/debian wheezy main

# Doesn't seem to pass the QT directives through, though. Tough.

# Basic path bindings
PATH=/usr/lib/mxe/usr/bin:$PATH
MXE_PATH=/usr/lib/mxe
MXE_INCLUDE_PATH=/usr/lib/mxe/usr/i686-w64-mingw32.static/include
MXE_LIB_PATH=/usr/lib/mxe/usr/i686-w64-mingw32.static/lib
# Belt and braces
CXXFLAGS="-std=gnu++11 -march=i686"
LDFLAGS="-march=i686"
target="i686-w64-mingw32.static"

# Particularise for cross-compiling
export BOOST_LIB_SUFFIX=-mt
export BOOST_THREAD_LIB_SUFFIX=_win32-mt
export BOOST_INCLUDE_PATH=${MXE_INCLUDE_PATH}/boost
export BOOST_LIB_PATH=${MXE_LIB_PATH}
export OPENSSL_INCLUDE_PATH=${MXE_INCLUDE_PATH}/openssl
export OPENSSL_LIB_PATH=${MXE_LIB_PATH}
export BDB_INCLUDE_PATH=${MXE_INCLUDE_PATH}
export BDB_LIB_PATH=${MXE_LIB_PATH}
export MINIUPNPC_INCLUDE_PATH=${MXE_INCLUDE_PATH}
export MINIUPNPC_LIB_PATH=${MXE_LIB_PATH}
export QMAKE_LRELEASE=${MXE_PATH}/usr/${target}/qt5/bin/lrelease

# Call qmake to create Makefile.[Release|Debug]
${target}-qmake-qt5 \
    MXE=1 \
    USE_O3=1 \
    USE_QRCODE=1 \
    FIRST_CLASS_MESSAGING=1 \
    RELEASE=1 \
    USE_UPNPC=1 \
    BOOST_LIB_SUFFIX=${BOOST_LIB_SUFFIX} \
    BOOST_THREAD_LIB_SUFFIX=${BOOST_THREAD_LIB_SUFFIX} \
    BOOST_INCLUDE_PATH=${BOOST_INCLUDE_PATH} \
    BOOST_LIB_PATH=${BOOST_LIB_PATH} \
    OPENSSL_INCLUDE_PATH=${OPENSSL_INCLUDE_PATH} \
    OPENSSL_LIB_PATH=${OPENSSL_LIB_PATH} \
    BDB_INCLUDE_PATH=${BDB_INCLUDE_PATH} \
    BDB_LIB_PATH=${BDB_LIB_PATH} \
    MINIUPNPC_INCLUDE_PATH=${MINIUPNPC_INCLUDE_PATH} \
    MINIUPNPC_LIB_PATH=${MINIUPNPC_LIB_PATH} \
    QMAKE_LRELEASE=${QMAKE_LRELEASE} slimcoin-qt.pro

# Go for it. If successful, Windows binary will be written out to ./release/slimcoin-qt.exe
make -f Makefile.Release CXXFLAGS="-DQT_GUI -DQT_NO_PRINTER -std=gnu++11 -march=i686" LDFLAGS="-march=i686"

(The above probably includes more incantations than are strictly necessary but I have at least omitted the 1cc of mouse blood that I habitually include.)

Oh, one last thing - all of the above assumes a VM with build-essentials, etc already apt-installed.

HTH,

Cheers

Graham


Thanks Graham! So it looks like I was finally able to build thanks to the advice everyone gave. The only thing I notice is I run out of memory a lot. This doesn't make sense because both my laptops are i7 with 8 gigs of DDR. I set my virtual machines for 3-5 gigabytes of RAM. Using VMWare on one I always got that segmentation fault which was obviously a memory issue. The same VM ran on my other computer ran out a few times before finally compiling correctly. The second computer fared well with VirtualBox. I get the feeling that they shouldn't come close to running out of memory with such trivial tasks.
IngerDev
Member
**
Offline Offline

Activity: 157
Merit: 23


View Profile
January 04, 2017, 09:00:41 PM
 #53

Hey,

I cannot compile the Windows Wallet, it shows me everytime this Error:
What have I missed here?
I am Using Debian.

Error:

/mnt/mxe/usr/i686-w64-mingw32.static/lib/libdb_cxx.a(os_pid.o):os_pid.c:(.text+0x25): undefined reference to `pthread_self'
collect2: error: ld returned 1 exit status
Makefile.Release:427: recipe for target 'release/blackcoin-qt.exe' failed
make: *** [release/blackcoin-qt.exe] Error 1

Thank you,

GlobalToken; for fast online payments
▬▬▬▬▬▬▬█  Twitter   █   BCT Forum   █   GitHub   █   Discord   █▬▬▬▬▬▬▬
Masternodes || 30 Algorithms || Merge-Mining
Lauren Smith
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 277



View Profile WWW
January 05, 2017, 02:08:02 AM
 #54

Ok that's complicated. What do you do after that ? I dont understand how do you get your wallet to you csn generate and mine coins ? How do you do a premine ? What are the next steps. This is not so easy to understand. For you it is since you know all these things and you know what is in your head but we dont so for us understanding is not so easy.

Skirmant
Member
**
Offline Offline

Activity: 112
Merit: 10


Such is life in crypto paradise


View Profile
January 14, 2017, 12:22:12 AM
Last edit: January 14, 2017, 03:24:17 PM by Skirmant
 #55

Thanks, this worked really well! I wonder how difficult it would be to cross-compile for MacOS


Error:

/mnt/mxe/usr/i686-w64-mingw32.static/lib/libdb_cxx.a(os_pid.o):os_pid.c:(.text+0x25): undefined reference to `pthread_self'
collect2: error: ld returned 1 exit status
Makefile.Release:427: recipe for target 'release/blackcoin-qt.exe' failed
make: *** [release/blackcoin-qt.exe] Error 1

Thank you,

To fix this issue edit the .pro file and replace

Code:
windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32

with

Code:
windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 -pthread
Edgemaster
Sr. Member
****
Offline Offline

Activity: 292
Merit: 259


wagerr.com


View Profile WWW
January 14, 2017, 04:21:55 PM
 #56

hi guys, great guide !

im trying to compile a coin that contains secp256k1 using this guide

i get this error

Quote
i686-w64-mingw32.static-g++ -c -pipe -fno-keep-inline-dllexport -D_FORTIFY_SOURCE=2 -O2 -std=gnu++11 -frtti -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -Wno-unused-variable -fpermissive -Wno-cpp -Wno-maybe-uninitialized -Wno-unused-local-typedefs -fexceptions -mthreads -DUNICODE -DENABLE_WALLET -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DQT_DISABLE_DEPRECATED_BEFORE=0 -DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT -DUSE_UPNP=1 -DMINIUPNP_STATICLIB -DSTATICLIB -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -Isrc -Isrc/json -Isrc/qt -Isrc/qt/plugins/mrichtexteditor -Isrc/leveldb/include -Isrc/leveldb/helpers -I../mxe/usr/i686-w64-mingw32.static/include -I../mxe/usr/i686-w64-mingw32.static/include/boost -I../mxe/usr/i686-w64-mingw32.static/include -I../mxe/usr/i686-w64-mingw32.static/include/openssl -IC:/dev/coindeps32/Secp256k1/include -I../mxe/usr/i686-w64-mingw32.static/qt5/include -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtPrintSupport -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtWidgets -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtGui -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtNetwork -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtCore -Ibuild -Ibuild -I../mxe/usr/i686-w64-mingw32.static/qt5/mkspecs/win32-g++  -o build/key.o src/key.cpp
src/key.cpp:11:23: fatal error: secp256k1.h: No such file or directory
 #include <secp256k1.h>
                       ^
compilation terminated.
make: *** [build/key.o] Error 1

can anybody help with what i need to do to include secp256k1. do  i just compile it in its folder by it self using standard means

Edgemaster
Sr. Member
****
Offline Offline

Activity: 292
Merit: 259


wagerr.com


View Profile WWW
January 14, 2017, 04:38:43 PM
 #57

hi guys, great guide !

im trying to compile a coin that contains secp256k1 using this guide

i get this error

Quote
i686-w64-mingw32.static-g++ -c -pipe -fno-keep-inline-dllexport -D_FORTIFY_SOURCE=2 -O2 -std=gnu++11 -frtti -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -Wno-unused-variable -fpermissive -Wno-cpp -Wno-maybe-uninitialized -Wno-unused-local-typedefs -fexceptions -mthreads -DUNICODE -DENABLE_WALLET -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DQT_DISABLE_DEPRECATED_BEFORE=0 -DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT -DUSE_UPNP=1 -DMINIUPNP_STATICLIB -DSTATICLIB -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -Isrc -Isrc/json -Isrc/qt -Isrc/qt/plugins/mrichtexteditor -Isrc/leveldb/include -Isrc/leveldb/helpers -I../mxe/usr/i686-w64-mingw32.static/include -I../mxe/usr/i686-w64-mingw32.static/include/boost -I../mxe/usr/i686-w64-mingw32.static/include -I../mxe/usr/i686-w64-mingw32.static/include/openssl -IC:/dev/coindeps32/Secp256k1/include -I../mxe/usr/i686-w64-mingw32.static/qt5/include -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtPrintSupport -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtWidgets -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtGui -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtNetwork -I../mxe/usr/i686-w64-mingw32.static/qt5/include/QtCore -Ibuild -Ibuild -I../mxe/usr/i686-w64-mingw32.static/qt5/mkspecs/win32-g++  -o build/key.o src/key.cpp
src/key.cpp:11:23: fatal error: secp256k1.h: No such file or directory
 #include <secp256k1.h>
                       ^
compilation terminated.
make: *** [build/key.o] Error 1

can anybody help with what i need to do to include secp256k1. do  i just compile it in its folder by it self using standard means

nvm fixed it. just edited key.cpp and specified exactly where the file was

Edgemaster
Sr. Member
****
Offline Offline

Activity: 292
Merit: 259


wagerr.com


View Profile WWW
January 14, 2017, 06:05:31 PM
 #58

hi guys, while in the final steps of compiling i get this

Quote
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_program_options-mt.a(cmdline.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_17bad_function_callEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_17bad_function_callEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_program_options-mt.a(cmdline.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_program_options-mt.a(cmdline.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorISt13runtime_errorEE[__ZTSN5boost16exception_detail19error_info_injectorISt13runtime_errorEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorISt13runtime_errorEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorISt13runtime_errorEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_9gregorian16bad_day_of_monthEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_9gregorian16bad_day_of_monthEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_21thread_resource_errorEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_21thread_resource_errorEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_21thread_resource_errorEEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_21thread_resource_errorEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorISt9bad_allocEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorISt9bad_allocEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_10lock_errorEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_10lock_errorEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_10lock_errorEEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_10lock_errorEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_9gregorian8bad_yearEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_9gregorian8bad_yearEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian8bad_yearEEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian8bad_yearEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_9gregorian9bad_monthEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_9gregorian9bad_monthEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian9bad_monthEEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian9bad_monthEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost6detail17sp_counted_impl_pINS_16exception_detail10clone_implINS2_10bad_alloc_EEEEE[__ZTSN5boost6detail17sp_counted_impl_pINS_16exception_detail10clone_implINS2_10bad_alloc_EEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTSN5boost6detail17sp_counted_impl_pINS_16exception_detail10clone_implINS2_14bad_exception_EEEEE[__ZTSN5boost6detail17sp_counted_impl_pINS_16exception_detail10clone_implINS2_14bad_exception_EEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorISt13runtime_errorEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorISt13runtime_errorEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian16bad_day_of_monthEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian16bad_day_of_monthEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_21thread_resource_errorEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_21thread_resource_errorEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorISt9bad_allocEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorISt9bad_allocEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_10bad_alloc_EEE[__ZTVN5boost16exception_detail10clone_implINS0_10bad_alloc_EEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_14bad_exception_EEE[__ZTVN5boost16exception_detail10clone_implINS0_14bad_exception_EEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_10lock_errorEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_10lock_errorEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian8bad_yearEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian8bad_yearEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian9bad_monthEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian9bad_monthEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_chrono-mt.a(chrono.o): duplicate section `.rdata$_ZTSN5boost16exception_detail19error_info_injectorINS_6system12system_errorEEE[__ZTSN5boost16exception_detail19error_info_injectorINS_6system12system_errorEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_chrono-mt.a(chrono.o): duplicate section `.rdata$_ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_6system12system_errorEEEEE[__ZTSN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_6system12system_errorEEEEE]' has different size
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libboost_chrono-mt.a(chrono.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_6system12system_errorEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_6system12system_errorEEEEE]' has different size
collect2: error: ld returned 1 exit status

any clues ?

IngerDev
Member
**
Offline Offline

Activity: 157
Merit: 23


View Profile
January 20, 2017, 08:43:31 PM
 #59

Thanks, this worked really well! I wonder how difficult it would be to cross-compile for MacOS


Error:

/mnt/mxe/usr/i686-w64-mingw32.static/lib/libdb_cxx.a(os_pid.o):os_pid.c:(.text+0x25): undefined reference to `pthread_self'
collect2: error: ld returned 1 exit status
Makefile.Release:427: recipe for target 'release/blackcoin-qt.exe' failed
make: *** [release/blackcoin-qt.exe] Error 1

Thank you,

To fix this issue edit the .pro file and replace

Code:
windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32

with

Code:
windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 -pthread

No, the Problem was that Berkley DB was not the correct Version, I had to downgrade it and then it works. Smiley

GlobalToken; for fast online payments
▬▬▬▬▬▬▬█  Twitter   █   BCT Forum   █   GitHub   █   Discord   █▬▬▬▬▬▬▬
Masternodes || 30 Algorithms || Merge-Mining
svost
Sr. Member
****
Offline Offline

Activity: 461
Merit: 252


View Profile
February 27, 2017, 11:20:57 AM
 #60

Hello.

Somebody tried to realize 64-bit assembly of the altcoin client? Has been compiled by me novacoind.exe and novacoin-qt.exe
Just try to build alternative toolchain with mxe
Code:
make -j2 gcc MXE_TARGETS=x86_64-w64-mingw32.static.posix

4NovacoinyLfMCjTzqDXcaGNTrykfDBNkP
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 »  All
  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!