Pages:
Author

Topic: [HOWTO] compile altcoin for windows on linux using mxe and mingw - page 14. (Read 49087 times)

newbie
Activity: 16
Merit: 0
i kinda got this working though there is no Makefile.Release any where, but if i delete the .Release part it compiles fine but it compiles for linux instead of windows
legendary
Activity: 966
Merit: 1000
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

Thank you for the share, it is pure gold, i have been trying and i have could compile three altcoins wallets without problems, i have only a question about if it is possible to have installed qt4 and qt 5 and not have problems with compilation.
Have you tried it?

thanks again
newbie
Activity: 16
Merit: 0
first i want to say very good guide and thanks for it aswell! but i am having an issue when i try to run the compile-blk.sh file i get the following error

Code:
./compile-blk.sh: line 5: blackcoin-qt.pro: command not found
make: Makefile.Release: No such file or directory
make: *** No rule to make target `Makefile.Release'.  Stop.

i dont know what else to do i am stuck does anyone have any advice?

Something is most likely named incorrectly. Check all spelling matches

i have checked everything, i didnt even type any of the commands i copied and pasted them all i also checked my path environment variable to make sure it was correct and it is, i dont know what else there is

EDIT new error which i think may have the same thing to do with the first
Code:
./compile-blk.sh: line 6: i686-w64-mingw32.static-qmake-qt5: command not found
make: Makefile.Release: No such file or directory
make: *** No rule to make target `Makefile.Release'.  Stop.
legendary
Activity: 2548
Merit: 1054
CPU Web Mining 🕸️ on webmining.io
first i want to say very good guide and thanks for it aswell! but i am having an issue when i try to run the compile-blk.sh file i get the following error

Code:
./compile-blk.sh: line 5: blackcoin-qt.pro: command not found
make: Makefile.Release: No such file or directory
make: *** No rule to make target `Makefile.Release'.  Stop.

i dont know what else to do i am stuck does anyone have any advice?

Something is most likely named incorrectly. Check all spelling matches
newbie
Activity: 16
Merit: 0
first i want to say very good guide and thanks for it aswell! but i am having an issue when i try to run the compile-blk.sh file i get the following error

Code:
./compile-blk.sh: line 5: blackcoin-qt.pro: command not found
make: Makefile.Release: No such file or directory
make: *** No rule to make target `Makefile.Release'.  Stop.

i dont know what else to do i am stuck does anyone have any advice?
sr. member
Activity: 281
Merit: 250
RK Coin Services - Alt Coins Dev (ETH-BTC & More)
This is a very useful tutorial. Thank you for sharing it. Will do some learning with it.
newbie
Activity: 1
Merit: 0
Code:
libtool: link: /mnt/mxe/usr/bin/i686-w64-mingw32.static-gcc -O3 -o db_archive db_archive.o util_sig.o  libdb-5.3.a
libdb-5.3.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
make: *** [db_archive] Error 1

I encounter this problem. anyone know how to solve?



Just add the "RANLIB=...." as shown below:

Quote
#!/bin/bash
MXE_PATH=/mnt/mxe
sed -i "s/WinIoCtl.h/winioctl.h/g" src/dbinc/win_db.h
mkdir build_mxe
cd build_mxe

RANLIB=$MXE_PATH/usr/bin/i686-w64-mingw32.static-ranlib \
      CC=$MXE_PATH/usr/bin/i686-w64-mingw32.static-gcc \
      CXX=$MXE_PATH/usr/bin/i686-w64-mingw32.static-g++ \
      ../dist/configure \
      --disable-replication \
      --enable-mingw \
      --enable-cxx \
      --host x86 \
      --prefix=$MXE_PATH/usr/i686-w64-mingw32.static

make

make install

I'm having a similar issue but its this

/src/leveldb/libmemenv.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status

im assuming its another place in the compile, but im trying to add ranlib in both compiles and still no luck. an suggestions (sorry for digging up an old thread, but its the only one that makes sense, and im still downloading the amazon image hendo420 has.

thank you
sr. member
Activity: 316
Merit: 253
I cleared up the path issue, but now I'm getting this error when I compile blackcoin:


Code:
/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:468: recipe for target 'release/blackcoin-qt.exe' failed
make: *** [release/blackcoin-qt.exe] Error 1
sr. member
Activity: 316
Merit: 253
Morning,

I decided to give this a try since I'm new to the whole bitcoin / altcoin scene. This is the error I am getting when I try to compile, and I didnt see a Makefile.Release...

Code:
[build]     qtxlsxwriter         i686-w64-mingw32.static                        
[done]      qtxlsxwriter         i686-w64-mingw32.static                                    156204 KiB     0m57.310s
[no-build]  qt5                  i686-w64-mingw32.static
--------------------------------------------------------------------------------------------
./compile-blk.sh: line 6: i686-w64-mingw32.static-qmake-qt5: command not found
make: Makefile.Release: No such file or directory
make: *** No rule to make target `Makefile.Release'.  Stop.

Which step am I missing?

I am compiling this using Ubuntu 14.04 LTS x86_64

Verify that your PATH env var contains the correct location for mxe

Code:
export PATH=/mnt/mxe/usr/bin:$PATH

Hello.  Having some fun testing our making a QT file.  I'm having the same issue as the other person.  What exactly do I have to correct?  The "export PATH=/mnt/mxe/usr/bin:$PATH" or a line in compile-m.sh?

I followed your instructions to a tee and all the files are in the same place as yours.  I'm on a fresh install of Ubuntu.  I get the same error as the user above.

Thanks for your help!  Guide is excellent.
sr. member
Activity: 420
Merit: 250
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
hero member
Activity: 896
Merit: 1006
Thanks, this tutorial looks really well-documented. Because i think it's really intresting to compile your own wallets, i'm going to replicate this scenario this weekend to see if everything works  Grin
newbie
Activity: 12
Merit: 1
The apt-get install is duplicated and it is missing 7-Zip.
Fixed. Thank you  Wink
hero member
Activity: 1428
Merit: 538
Code:
libtool: link: /mnt/mxe/usr/bin/i686-w64-mingw32.static-gcc -O3 -o db_archive db_archive.o util_sig.o  libdb-5.3.a
libdb-5.3.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
make: *** [db_archive] Error 1

I encounter this problem. anyone know how to solve?



Just add the "RANLIB=...." as shown below:

Quote
#!/bin/bash
MXE_PATH=/mnt/mxe
sed -i "s/WinIoCtl.h/winioctl.h/g" src/dbinc/win_db.h
mkdir build_mxe
cd build_mxe


RANLIB=$MXE_PATH/usr/bin/i686-w64-mingw32.static-ranlib \
      CC=$MXE_PATH/usr/bin/i686-w64-mingw32.static-gcc \
      CXX=$MXE_PATH/usr/bin/i686-w64-mingw32.static-g++ \
      ../dist/configure \
      --disable-replication \
      --enable-mingw \
      --enable-cxx \
      --host x86 \
      --prefix=$MXE_PATH/usr/i686-w64-mingw32.static

make

make install


Thanks man, you save my life  Wink
newbie
Activity: 32
Merit: 0
Code:
libtool: link: /mnt/mxe/usr/bin/i686-w64-mingw32.static-gcc -O3 -o db_archive db_archive.o util_sig.o  libdb-5.3.a
libdb-5.3.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
make: *** [db_archive] Error 1

I encounter this problem. anyone know how to solve?



Just add the "RANLIB=...." as shown below:

Quote
#!/bin/bash
MXE_PATH=/mnt/mxe
sed -i "s/WinIoCtl.h/winioctl.h/g" src/dbinc/win_db.h
mkdir build_mxe
cd build_mxe


RANLIB=$MXE_PATH/usr/bin/i686-w64-mingw32.static-ranlib \
      CC=$MXE_PATH/usr/bin/i686-w64-mingw32.static-gcc \
      CXX=$MXE_PATH/usr/bin/i686-w64-mingw32.static-g++ \
      ../dist/configure \
      --disable-replication \
      --enable-mingw \
      --enable-cxx \
      --host x86 \
      --prefix=$MXE_PATH/usr/i686-w64-mingw32.static

make

make install
hero member
Activity: 1428
Merit: 538
Code:
libtool: link: /mnt/mxe/usr/bin/i686-w64-mingw32.static-gcc -O3 -o db_archive db_archive.o util_sig.o  libdb-5.3.a
libdb-5.3.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
make: *** [db_archive] Error 1

I encounter this problem. anyone know how to solve?

sr. member
Activity: 255
Merit: 251

How would you code if you wanted to require a minimum version of a wallet to connect to the network?
such a only allow version 1.0.0.1 to connect


That's not really related to this topic.

Are you meaning this though?

https://github.com/laowais/bitcoindark/blob/master/src/version.h#L39
full member
Activity: 233
Merit: 100

How would you code if you wanted to require a minimum version of a wallet to connect to the network?
such a only allow version 1.0.0.1 to connect
sr. member
Activity: 255
Merit: 251
In fact, thanks to mezzovide, you no longer need to build bdb separately.

https://github.com/mxe/mxe/pull/791

BitcoinDark, making it easier to build on Windows


Matthew
sr. member
Activity: 255
Merit: 251
Hi,

I developed a method for building BitcoinDark using mxe several months ago with help from fsb4000 and mezzovide.

You can see the automated build process here: https://github.com/jl777/btcd/blob/master/libjl777/make_win32.sh

Mezzovide in supernet slack even created a custom mxe package for building bdb 4.8: https://github.com/jl777/btcd/blob/master/libjl777/mxepatch/bdb48.mk

After you do this, export your path to mxe/usr/bin and make your coin:

https://github.com/jl777/btcd/blob/master/libjl777/Makefile.win

Quote
btcd: ../src/BitcoinDarkd-$(OS).exe; \
    cd ../src; $(MAKE) clean -f Makefile.win OS=$(OS); cd leveldb; $(MAKE) clean; cd ..; $(MAKE) -f Makefile.win OS=$(OS); strip BitcoinDarkd-$(OS).exe; cp BitcoinDarkd-$(OS).exe $(BINPATH)/$(OS)/BitcoinDarkd.exe

Matthew
full member
Activity: 229
Merit: 100
Nice tutorial. Thanks!

There is a small mistake and think you should change this step:
Install mxe dependencies:
Code:
sudo apt-get install apt-get install 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
To
Code:
sudo apt-get install autoconf automake autopoint bash bison bzip2 p7zip-full 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

The apt-get install is duplicated and it is missing 7-Zip.
Pages:
Jump to: