Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: error: *** A compiler with support for C++17 language features is required. #130

Closed
zimbo123 opened this issue Jul 25, 2018 · 21 comments

Comments

@zimbo123
Copy link

commented Jul 25, 2018

Hello,

i try to compile a Gulden Wallet, when i configure the wallet, i got this error:

../configure --prefix=$PWD/../depends/x86_64-pc-linux-gnu/

gulden-official/build/../depends/x86_64-pc-linux-gnu/share/config.site
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-pc-linux-gnu-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ -m64 accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++ -m64... gcc3
checking whether g++ -m64 supports C++17 features with -std=c++17... no
checking whether g++ -m64 supports C++17 features with +std=c++17... no
checking whether g++ -m64 supports C++17 features with -h std=c++17... no
checking whether g++ -m64 supports C++17 features with -std=c++1z... no
checking whether g++ -m64 supports C++17 features with +std=c++1z... no
checking whether g++ -m64 supports C++17 features with -h std=c++1z... no
configure: error: *** A compiler with support for C++17 language features is required.

I searched already after this error, but i don't find any solutions.
Has anybody an idea?
Thank you very much.

@AndreyNag

This comment has been minimized.

Copy link

commented Jul 25, 2018

Let's try to find! Look some posts below.
#124

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 25, 2018

Yes, i saw that. But is already installed

sudo apt-get install -y gcc-6 g++-6
[sudo] password for nlg:
Reading package lists... Done
Building dependency tree
Reading state information... Done
g++-6 is already the newest version (6.4.0-17ubuntu116.04).
gcc-6 is already the newest version (6.4.0-17ubuntu1
16.04).
0 upgraded, 0 newly installed, 0 to remove and 79 not upgraded.
nlg@mail:$ sudo apt-get install -y gcc-8 g++-8
Reading package lists... Done
Building dependency tree
Reading state information... Done
g++-8 is already the newest version (8.1.0-5ubuntu1
16.04).
gcc-8 is already the newest version (8.1.0-5ubuntu1~16.04).
0 upgraded, 0 newly installed, 0 to remove and 79 not upgraded.

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 25, 2018

hi, you will need gcc 7.2 or newer as per instructions here https://github.com/Gulden/gulden-official/blob/master/doc/building.md

For now it's recommended to use the binaries https://github.com/Gulden/gulden-official/releases/download/v2.0.0.9/Gulden-2.0.0.9-x86_64-linux.tar.gz or if you must compile to use an ubuntu bionic VM to do so.
A pretty easy to follow docker recipe from our travis CI for example https://github.com/Gulden/gulden-official/blob/master/.travis.yml
It is also relatively easy to build using gitian - if you know how to use it. I'm working on a generic gitian script that will help but this is not yet ready.

Over the coming weeks I'll be putting up instructions how to build on various other distributions (including older debian/ubuntu) - but this takes time and normal end users who don't compile are our number 1 priority, so I can't promise an exact date.

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 25, 2018

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

I installed now gcc 8. The wallet compiled successfully and started, but i have this, althoutgh i use the actual version from github

"version": 1060200,
"protocolversion": 70014,
"walletversion": 60000,
"balance": 0.00000000,
"blocks": 781356,
"timeoffset": -1,
"connections": 8,
"proxy": "",
"difficulty": 18959.61117561107,
"testnet": false,
"keypoololdest": 1532606508,
"keypoolsize": 41,
"mininput": 0.00001000,
"paytxfee": 0.00000000,
"relayfee": 0.00001000,
"errors": "WARNING: Checkpoint is too old, please wait for a new checkpoint to arrive before engaging in any transactions."

Anybody an idea?

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

git log
commit 5104fc6
Author: Malcolm James MacLeod mmacleod@webmail.co.za
Date: Tue Jul 24 19:56:03 2018 +0200

Update some coinbase tags in mining pool list

commit b7d583d
Author: Malcolm James MacLeod mmacleod@webmail.co.za
Date: Tue Jul 24 11:41:07 2018 +0200

Fix broken link

commit 2844b23
Author: Malcolm James MacLeod mmacleod@webmail.co.za
Date: Tue Jul 24 11:40:22 2018 +0200

Add p2pool instructions to guide

commit 98d2995
Author: Malcolm James MacLeod mmacleod@webmail.co.za
Date: Tue Jul 24 11:38:48 2018 +0200

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 26, 2018

Please post the output of 'GuldenD --version'

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

yes is the old version

Gulden Daemon version v1.6.2.0-5f0928e
Copyright (C) 2009-2016 The Gulden developers
Copyright (C) 2009-2016 The Bitcoin Core developers

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

i will delete the Gulden Folder and try git clone again

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 26, 2018

Agreed a fresh clone sounds like a good idea. Also make sure there is not already an old GuldenD on your path somewhere causing confusion? which GuldenD or find / -name GuldenD or similar..

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

I deleted all files and recompiled. But when i use

make -j nproc
I got this error

make: *** No rule to make target 'nproc'. Stop.

When i use only make, erverything compile, but i can't start GuldenD

@tofra

This comment has been minimized.

Copy link

commented Jul 26, 2018

nproc is the number of processors you want to use for compiling..

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 26, 2018

As tofra says that would be make -j4 (for example) where 4 is the number of gcc instances you want to compile with.
Or make -j$(nproc) to insert the output of the command (nproc) which detects the number of logical cpu cores available for you.

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

Ah ok, no the document is different, i was confused. Sorry.
Everything is done. But i can't start the GuldenD in /src Folder.

bash: GuldenD: command not found

But i can find it in the src Folder.
I never had so many Problems with a Wallet

@tofra

This comment has been minimized.

Copy link

commented Jul 26, 2018

use ./GuldenD

Looking at these questions, you really should use the provided binaries instead of building yourself.

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 26, 2018

Indeed, its just a matter of './src/GuldenD' or './GuldenD' or similar to run it in place, or copying it into the system path e.g. '/usr/bin/GuldenD' where you can then run it just by typing 'GuldenD' - there is nothing non-standard or strange here this is standard stuff.

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 26, 2018

Yes i was thinking in that and i tried.

./GuldenD
But Always
bash: ./GuldenD: No such file or Directory

/gulden-official/src$ ls -l
total 3084
-rw-rw-r-- 1 nlg nlg 34986 Jul 26 15:21 account.cpp
-rw-rw-r-- 1 nlg nlg 19160 Jul 26 15:21 account.h
-rw-rw-r-- 1 nlg nlg 6951 Jul 26 15:21 addrdb.cpp
-rw-rw-r-- 1 nlg nlg 2128 Jul 26 15:21 addrdb.h
-rw-rw-r-- 1 nlg nlg 16813 Jul 26 15:21 addrman.cpp
-rw-rw-r-- 1 nlg nlg 19400 Jul 26 15:21 addrman.h
-rw-rw-r-- 1 nlg nlg 8085 Jul 26 15:21 alert.cpp
-rw-rw-r-- 1 nlg nlg 3757 Jul 26 15:21 alert.h
-rw-rw-r-- 1 nlg nlg 1438 Jul 26 15:21 amount.h
-rw-rw-r-- 1 nlg nlg 7349 Jul 26 15:21 arith_uint256.cpp
-rw-rw-r-- 1 nlg nlg 8572 Jul 26 15:21 arith_uint256.h
-rw-rw-r-- 1 nlg nlg 11411 Jul 26 15:21 base58.cpp
-rw-rw-r-- 1 nlg nlg 8967 Jul 26 15:21 base58.h
drwxrwxr-x 3 nlg nlg 4096 Jul 26 15:21 bench
-rw-rw-r-- 1 nlg nlg 10956 Jul 26 15:21 blockencodings.cpp
-rw-rw-r-- 1 nlg nlg 7369 Jul 26 15:21 blockencodings.h
-rw-rw-r-- 1 nlg nlg 9845 Jul 26 15:21 blockstore.cpp
-rw-rw-r-- 1 nlg nlg 3995 Jul 26 15:21 blockstore.h
-rw-rw-r-- 1 nlg nlg 12946 Jul 26 15:21 bloom.cpp
-rw-rw-r-- 1 nlg nlg 5642 Jul 26 15:21 bloom.h
-rw-rw-r-- 1 nlg nlg 9969 Jul 26 15:21 chain.cpp
-rw-rw-r-- 1 nlg nlg 22170 Jul 26 15:21 chain.h
-rw-rw-r-- 1 nlg nlg 3710 Jul 26 15:21 chainparamsbase.cpp
-rw-rw-r-- 1 nlg nlg 1877 Jul 26 15:21 chainparamsbase.h
-rw-rw-r-- 1 nlg nlg 25177 Jul 26 15:21 chainparams.cpp
-rw-rw-r-- 1 nlg nlg 5001 Jul 26 15:21 chainparams.h
-rw-rw-r-- 1 nlg nlg 6894 Jul 26 15:21 chainparamsseeds.h
-rw-rw-r-- 1 nlg nlg 875 Jul 26 15:21 checkpoints.cpp
-rw-rw-r-- 1 nlg nlg 659 Jul 26 15:21 checkpoints.h
-rw-rw-r-- 1 nlg nlg 6804 Jul 26 15:21 checkqueue.h
-rw-rw-r-- 1 nlg nlg 4244 Jul 26 15:21 clientversion.cpp
-rw-rw-r-- 1 nlg nlg 1944 Jul 26 15:21 clientversion.h
-rw-rw-r-- 1 nlg nlg 12135 Jul 26 15:21 coins.cpp
-rw-rw-r-- 1 nlg nlg 11845 Jul 26 15:21 coins.h
drwxrwxr-x 2 nlg nlg 4096 Jul 26 15:21 compat
-rw-rw-r-- 1 nlg nlg 1890 Jul 26 15:21 compat.h
-rw-rw-r-- 1 nlg nlg 5144 Jul 26 15:21 compressor.cpp
-rw-rw-r-- 1 nlg nlg 4064 Jul 26 15:21 compressor.h
drwxrwxr-x 2 nlg nlg 4096 Jul 26 15:22 config
drwxrwxr-x 2 nlg nlg 4096 Jul 26 15:21 consensus
-rw-rw-r-- 1 nlg nlg 1271 Jul 26 15:21 core_io.h
-rw-rw-r-- 1 nlg nlg 3248 Jul 26 15:21 core_memusage.h
-rw-rw-r-- 1 nlg nlg 6854 Jul 26 15:21 core_read.cpp
-rw-rw-r-- 1 nlg nlg 10597 Jul 26 15:21 core_write.cpp
drwxrwxr-x 3 nlg nlg 4096 Jul 26 15:21 crypto
-rw-rw-r-- 1 nlg nlg 16813 Jul 26 15:21 cuckoocache.h
-rw-rw-r-- 1 nlg nlg 7280 Jul 26 15:21 dbwrapper.cpp
-rw-rw-r-- 1 nlg nlg 10509 Jul 26 15:21 dbwrapper.h
-rw-rw-r-- 1 nlg nlg 279 Jul 26 15:21 fs.cpp
-rw-rw-r-- 1 nlg nlg 681 Jul 26 15:21 fs.h
drwxrwxr-x 2 nlg nlg 4096 Jul 26 15:21 generation
drwxrwxr-x 3 nlg nlg 4096 Jul 26 15:21 Gulden
-rw-rw-r-- 1 nlg nlg 14824 Jul 26 15:21 Gulden-cli.cpp
-rw-rw-r-- 1 nlg nlg 1599 Jul 26 15:21 Gulden-cli-res.rc
-rw-rw-r-- 1 nlg nlg 7795 Jul 26 15:21 GuldenD.cpp
-rw-rw-r-- 1 nlg nlg 1585 Jul 26 15:21 GuldenD-res.rc
-rw-rw-r-- 1 nlg nlg 30179 Jul 26 15:21 Gulden-tx.cpp
-rw-rw-r-- 1 nlg nlg 1596 Jul 26 15:21 Gulden-tx-res.rc
-rw-rw-r-- 1 nlg nlg 5612 Jul 26 15:21 hash.cpp
-rw-rw-r-- 1 nlg nlg 7494 Jul 26 15:21 hash.h
-rw-rw-r-- 1 nlg nlg 8382 Jul 26 15:21 httprpc.cpp
-rw-rw-r-- 1 nlg nlg 831 Jul 26 15:21 httprpc.h
-rw-rw-r-- 1 nlg nlg 21416 Jul 26 15:21 httpserver.cpp
-rw-rw-r-- 1 nlg nlg 4196 Jul 26 15:21 httpserver.h

You can see, the file is there

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 26, 2018

I only see source files in that list and no GuldenD.

Assuming you followed the build instructions this means you are in the wrong folder. GuldenD will be at "build/src/GuldenD" (assuming you followed instructions) while you are looking in "src/"

@zimbo123

This comment has been minimized.

Copy link
Author

commented Jul 27, 2018

Sorry, yes that was my fault. I didn't read exactly the doc. I only "remember" in the other wallets where the file is in /wallet-folder/src.
Thank you very much. Wallet is working well

@zimbo123 zimbo123 closed this Jul 27, 2018
@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 27, 2018

Okay thanks.

Just a reminder if you are a mining pool you also need to follow pool update instructions or your blocks will still be oprhaned; so make sure to read https://github.com/Gulden/gulden-official/blob/master/mining_documentation/mining_Gulden.md as well as the PoW2 upgrade link from inside there.

@mjmacleod

This comment has been minimized.

Copy link
Member

commented Jul 27, 2018

Build instructions for ubuntu 16 now added, other distributions and versions to follow as time allows, but also should be easy enough to tailor to your distro (pull requests for other distributions also welcome):
https://github.com/Gulden/gulden-official/blob/master/doc/building.md#distribution-specific-instructions
https://gist.github.com/mjmacleod/a3562af661661ce6206e5950e406ff9d#file-ubuntu_16-04-4-txt

@Gulden Gulden locked as resolved and limited conversation to collaborators Jul 27, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
4 participants
You can’t perform that action at this time.