Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: hesdeadjim on April 26, 2018, 12:09:03 PM



Title: I Need Help Compiling A Wallet For Debian
Post by: hesdeadjim on April 26, 2018, 12:09:03 PM
Because of a bug in debian and possibly other types of linux, i normally add this line  -  QMAKE_LFLAGS += -no-pie  -  to the .pro file in order to run the qt from the desktop instead of the terminal.

Since the typical .pro file is not available in the bitcoin source, i tried ading this line to the autogen.sh and config, ac on seperate builds and neither one worked.

I would welcome any suggestions that would piont me to a file to add this line to to make it work.

I am really not interested in 100 alternatives like run it from terminal or just use the generic linux wallet, etc. etc., but thanks anyway.

thank you.

:)



Title: Re: I Need Help Compiling A Wallet For Debian
Post by: mocacinno on April 26, 2018, 12:46:49 PM
Because of a bug in debian and possibly other types of linux, i normally add this line  -  QMAKE_LFLAGS += -no-pie  -  to the .pro file in order to run the qt from the desktop instead of the terminal.

Since the typical .pro file is not available in the bitcoin source, i tried ading this line to the autogen.sh and config, ac on seperate builds and neither one worked.

I would welcome any suggestions that would piont me to a file to add this line to to make it work.

I am really not interested in 100 alternatives like run it from terminal or just use the generic linux wallet, etc. etc., but thanks anyway.

thank you.

:)



Which bug?
I just did a testbuild on one of my machines (ubuntu 16.04 LTS):
Code:
git clone https://github.com/bitcoin/bitcoin/
cd bitcoin
./autogen.sh
./configure
make
cd src
cd qt
./bitcoin-qt

At this very moment, i'm looking at the freshly compiled gui wallet, without having to modify any .pro-file...


If you really can't get it to work, maybe do a gitian build? I usually build using gitian, because i can also cross-compile for windows and/or mac... If you follow the procedure to the letter, it "never" fails (at least, it has never failed for me so far).

EDIT: seems like i missed the point you were trying to make... You're not saying you're unable to compile the qt wallet, you're saying you're unable to start it from your desktop...
Sorry, can't help you with that, none of the machines i can access from here have a window manager...


Title: Re: I Need Help Compiling A Wallet For Debian
Post by: starmyc on April 26, 2018, 01:29:42 PM
Because of a bug in debian and possibly other types of linux, i normally add this line  -  QMAKE_LFLAGS += -no-pie  -  to the .pro file in order to run the qt from the desktop instead of the terminal.

Since the typical .pro file is not available in the bitcoin source, i tried ading this line to the autogen.sh and config, ac on seperate builds and neither one worked.

I would welcome any suggestions that would piont me to a file to add this line to to make it work.

-no-pie is a linker flag, so you can simply add it to the LDFLAGS while configuring:

Try this:

Code:
./autogen.sh
LDFLAGS=-no-pie ./configure --with-incompatible-bdb

The configure output should saw the -no-pie flag at the LDFLAGS line:

Code:
Options used to compile and link:
  with wallet   = yes
  with gui / qt = yes
    qt version  = 5
[...]
  CC            = /usr/bin/ccache gcc
  CFLAGS        = -g -O2
  CPPFLAGS      =  -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
  CXX           = /usr/bin/ccache g++ -std=c++11
  CXXFLAGS      = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough
  LDFLAGS       = -no-pie
  ARFLAGS       = cr

Then, build normally using make.


Title: Re: I Need Help Compiling A Wallet For Debian
Post by: hesdeadjim on April 26, 2018, 08:38:52 PM
Because of a bug in debian and possibly other types of linux, i normally add this line  -  QMAKE_LFLAGS += -no-pie  -  to the .pro file in order to run the qt from the desktop instead of the terminal.

Since the typical .pro file is not available in the bitcoin source, i tried ading this line to the autogen.sh and config, ac on seperate builds and neither one worked.

I would welcome any suggestions that would piont me to a file to add this line to to make it work.

-no-pie is a linker flag, so you can simply add it to the LDFLAGS while configuring:

Try this:

Code:
./autogen.sh
LDFLAGS=-no-pie ./configure --with-incompatible-bdb

The configure output should saw the -no-pie flag at the LDFLAGS line:

Code:
Options used to compile and link:
  with wallet   = yes
  with gui / qt = yes
    qt version  = 5
[...]
  CC            = /usr/bin/ccache gcc
  CFLAGS        = -g -O2
  CPPFLAGS      =  -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
  CXX           = /usr/bin/ccache g++ -std=c++11
  CXXFLAGS      = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough
  LDFLAGS       = -no-pie
  ARFLAGS       = cr

Then, build normally using make.

Thanks :)

i will try that right now


* that totally worked. thanks again.

:)