Closed fanaticalfishing closed 2 years ago
Could you give us more information about your build environment?
platform/OS/gcc version?
also try to do
make distclean
followed by ./autogen.sh
, ./configure <your parameters>
and make
Try to run this command before make:
cd src/bls-signatures/build && make chiabls_la && cd -
Thank you for the fast reply guys. I have tried everything suggested.
cat /etc/os-release "NAME="Ubuntu" VERSION="20.04.3 LTS (Focal Fossa)"
gcc --version "gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Last week I was able to compile on a Digital Ocean and Amazon VPS with no problems. I also compiled on my laptop and on a raspberry pi 4. Now I am unable to compile on new vps's or the raspberry pi Below are the commands I used to compile. I can still compile without error on my laptop, which has not been updated since last week.
sudo apt-get update sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-all-dev libgmp-dev cmake sudo apt-get install software-properties-common sudo add-apt-repository ppa:bitcoin/bitcoin sudo sed -i 's/focal/artful/g' /etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-focal.list #There is no ppa for focal so I used artful sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev sudo apt-get install libminiupnpc-dev libzmq3-dev sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev git clone https://github.com/firoorg/firo cd firo ./autogen.sh ./configure --with-incompatible-bdb --without-gui make
I tried cd src/bls-signatures/build && make chiabls_la && cd -
"Scanning dependencies of target chiabls_la [100%] Generating ../libchiabls.la [100%] Built target chiabls_la"
But still get this error
/root/firo "make[3]: Leaving directory '/root/firo/src/secp256k1' make[3]: Entering directory '/root/firo/src/tor' make[4]: Entering directory '/root/firo/src/tor' make[4]: Nothing to be done for 'GNUmakefile'. make[4]: Leaving directory '/root/firo/src/tor' make[3]: 'install' is up to date. make[3]: Leaving directory '/root/firo/src/tor' CXXLD firod g++: error: bls-signatures/build/.libs/libchiabls.a: No such file or directory make[2]: [Makefile:6157: firod] Error 1 make[2]: Leaving directory '/root/firo/src' make[1]: [Makefile:15992: all-recursive] Error 1 make[1]: Leaving directory '/root/firo/src' make: *** [Makefile:727: all-recursive] Error 1
I also tried
make distclean
followed by ./autogen.sh, ./configure
"make[5]: Leaving directory '/root/firo/src/bls-signatures/build' make[5]: Entering directory '/root/firo/src/bls-signatures/build' /usr/bin/ar: /root/firo/src/bls-signatures/build/.libs/libchiabls.a: No such file or directory make[5]: [src/CMakeFiles/combined_custom.dir/build.make:60: src/CMakeFiles/combined_custom] Error 1 make[5]: Leaving directory '/root/firo/src/bls-signatures/build' make[4]: [CMakeFiles/Makefile2:220: src/CMakeFiles/combined_custom.dir/all] Error 2 make[4]: Leaving directory '/root/firo/src/bls-signatures/build' make[3]: [Makefile:130: all] Error 2 make[3]: Leaving directory '/root/firo/src/bls-signatures/build' make[2]: [Makefile:5: build/libchiabls.la] Error 2 make[2]: Leaving directory '/root/firo/src/bls-signatures' make[1]: [Makefile:15992: all-recursive] Error 1 make[1]: Leaving directory '/root/firo/src' make: [Makefile:727: all-recursive] Error 1
Can you also run find . -name libchiabls.la
and find . -name libchiabls.a
and paste output here?
Can you also run
find . -name libchiabls.la
andfind . -name libchiabls.a
and paste output here?
~/firo# find . -name libchiabls.a ~/firo# find . -name libchiabls.la ./src/bls-signatures/build/libchiabls.la
Try to manually create src/bls-signatures/build/.lib folder and run make again:
mkdir src/bls-signatures/build/.lib
Try to manually create src/bls-signatures/build/.lib folder and run make again:
mkdir src/bls-signatures/build/.lib
I still get this error Scanning dependencies of target combined_custom make[5]: Leaving directory '/root/firo/src/bls-signatures/build' make[5]: Entering directory '/root/firo/src/bls-signatures/build' /usr/bin/ar: /root/firo/src/bls-signatures/build/.libs/libchiabls.a: No such file or directory make[5]: [src/CMakeFiles/combined_custom.dir/build.make:60: src/CMakeFiles/combined_custom] Error 1 make[5]: Leaving directory '/root/firo/src/bls-signatures/build' make[4]: [CMakeFiles/Makefile2:220: src/CMakeFiles/combined_custom.dir/all] Error 2 make[4]: Leaving directory '/root/firo/src/bls-signatures/build' make[3]: [Makefile:130: all] Error 2 make[3]: Leaving directory '/root/firo/src/bls-signatures/build' make[2]: [Makefile:5: build/libchiabls.la] Error 2 make[2]: Leaving directory '/root/firo/src/bls-signatures' make[1]: [Makefile:15992: all-recursive] Error 1 make[1]: Leaving directory '/root/firo/src' make: [Makefile:727: all-recursive] Error 1
Please try to remove the .la file
rm ./src/bls-signatures/build/libchiabls.la
I found the problem. It is in this file. firo/src/bls-signatures/src/CMakeLists.txt
--- CMakeLists.txt.old 2022-01-20 17:16:46.266703000 -0600 +++ CMakeLists.txt 2022-01-19 18:10:45.473944000 -0600 @@ -13,7 +13,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/../contrib/catch )
-set(C_LIB ${CMAKE_BINARY_DIR}/.libs/libchiabls.a) +set(C_LIB ${CMAKE_BINARY_DIR}/libchiabls.a)
add_library(chiabls ${CMAKE_CURRENT_SOURCE_DIR}/privatekey.cpp)
Fixed in #1138, please try with the new updated readme.
Building Firo 0.14.9.5. on RPi4 with Raspbian 11 is now stuck on this
cd depends
NO_QT=true make -j`nproc`
...
/home/pi/firo-0.14.9.5/depends/work/download/openssl-1.1.1m/openssl-1.1.1m.tar.gz.temp: OK
Extracting openssl...
/home/pi/firo-0.14.9.5/depends/sources/openssl-1.1.1m.tar.gz: OK
Preprocessing openssl...
Configuring openssl...
Configuring OpenSSL version 1.1.1m (0x101010dfL) for
Using os-specific seed configuration
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-egd] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--config=FILE] os/compiler[:flags]
pick os/compiler from:
BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-i386 Cygwin-i486 Cygwin-i586
Cygwin-i686 Cygwin-x86 Cygwin-x86_64 DJGPP MPE/iX-gcc UEFI UWIN VC-CE VC-WIN32
VC-WIN32-ARM VC-WIN32-ONECORE VC-WIN64-ARM VC-WIN64A VC-WIN64A-ONECORE
VC-WIN64A-masm VC-WIN64I aix-cc aix-gcc aix64-cc aix64-gcc android-arm
android-arm64 android-armeabi android-mips android-mips64 android-x86
android-x86_64 android64 android64-aarch64 android64-mips64 android64-x86_64
bsdi-elf-gcc cc darwin-i386-cc darwin-ppc-cc darwin64-arm64-cc darwin64-ppc-cc
darwin64-x86_64-cc gcc haiku-x86 haiku-x86_64 hpux-ia64-cc hpux-ia64-gcc
hpux-parisc-cc hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc
hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86
ios-cross ios-xcrun ios64-cross ios64-xcrun iossimulator-xcrun iphoneos-cross
irix-mips3-cc irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-aarch64
linux-alpha-gcc linux-aout linux-arm64ilp32 linux-armv4 linux-c64xplus
linux-elf linux-generic32 linux-generic64 linux-ia64 linux-mips32 linux-mips64
linux-ppc linux-ppc64 linux-ppc64le linux-sparcv8 linux-sparcv9 linux-x32
linux-x86 linux-x86-clang linux-x86_64 linux-x86_64-clang linux32-s390x
linux64-mips64 linux64-riscv64 linux64-s390x linux64-sparcv9 mingw mingw64
nextstep nextstep3.3 sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc
solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc
solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc
solaris64-x86_64-gcc tru64-alpha-cc tru64-alpha-gcc uClinux-dist
uClinux-dist64 unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vms-alpha
vms-alpha-p32 vms-alpha-p64 vms-ia64 vms-ia64-p32 vms-ia64-p64 vos-gcc
vxworks-mips vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug
vxworks-ppc860 vxworks-ppcgen vxworks-simlinux
NOTE: If in doubt, on Unix-ish systems use './config'.
make: *** [funcs.mk:283: /home/pi/firo-0.14.9.5/depends/work/build/armv7l-unknown-linux-gnueabihf/openssl/1.1.1m-e7b68f6dcd7/./.stamp_configured] Error 1
echo $?
2
How to continue building the depends?
Is this a 64-bit OS?
Not sure, does this help:
pi@xxxx:~ $ uname -a
Linux xxxx 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
Not sure, does this help:
pi@xxxx:~ $ uname -a Linux xxxx 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
Raspberry pi Os comes in 64 bit now https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
Installed that, now kernel
Linux xxxx 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
Buiding depends goes well. For make in the top-level directory on a RPi 4, use -j3
with make, otherse the process runs out of memory and fails. With make check
, I get the following error:
../build-aux/test-driver: line 109: 157184 Aborted "$@" > $log_file 2>&1
FAIL: test/test_bitcoin
============================================================================
Testsuite summary for Firo Core 0.14.9
============================================================================
# TOTAL: 1
# PASS: 0
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
============================================================================
See src/test-suite.log
Please report to https://github.com/firoorg/firo/issues
============================================================================
make[4]: *** [Makefile:15877: test-suite.log] Error 1
make[4]: Leaving directory '/root/firo-0.14.9.5/src'
make[3]: *** [Makefile:15985: check-TESTS] Error 2
make[3]: Leaving directory '/root/firo-0.14.9.5/src'
make[2]: *** [Makefile:16083: check-am] Error 2
make[2]: Leaving directory '/root/firo-0.14.9.5/src'
make[1]: *** [Makefile:15769: check-recursive] Error 1
make[1]: Leaving directory '/root/firo-0.14.9.5/src'
make: *** [Makefile:726: check-recursive] Error 1
root@xxxx:~/firo-0.14.9.5# echo $?
2
additional info is
==========================================
Firo Core 0.14.9: src/test-suite.log
==========================================
# TOTAL: 1
# PASS: 0
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: test/test_bitcoin
=======================
Running 476 test cases...
34
unknown location(0): ^[[4;31;49mfatal error: in "mtp_tests/mtp_impl_integrity_test": memory access violation at address: 0x00000000: no mapping at fault address^[[0;39;49m
test/mtp_tests.cpp(18): ^[[1;36;49mlast checkpoint: "mtp_impl_integrity_test" test entry^[[0;39;49m
^[[1;31;49m*** 1 failure is detected in the test module "Firo Test Suite"
^[[0;39;49mtest_bitcoin: /root/firo-0.14.9.5/depends/aarch64-unknown-linux-gnu/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!posix::pthread_mutex_destroy(&internal_mutex)' failed.
FAIL test/test_bitcoin (exit status: 134)
How to continue on this?
PS I have monitored the amount of free memory during the make check and that is not the cause of this error.
Did you allocated any swap space?
No, just use the os without any changes. I think swap on RPi is risky as it more quickly deteriorates the SD card.
This particular test needs swap? Can I also skip this test? The device has 4 GB RAM so Firo can run without swap.
More info:
cat /proc/meminfo
MemTotal: 3705692 kB
MemFree: 2133836 kB
MemAvailable: 3193644 kB
Buffers: 27684 kB
Cached: 1144708 kB
SwapCached: 0 kB
Active: 156464 kB
Inactive: 1106348 kB
Active(anon): 896 kB
Inactive(anon): 158596 kB
Active(file): 155568 kB
Inactive(file): 947752 kB
Unevictable: 68188 kB
Mlocked: 32 kB
SwapTotal: 102396 kB
SwapFree: 102396 kB
Dirty: 132 kB
Writeback: 0 kB
AnonPages: 158616 kB
Mapped: 187696 kB
Shmem: 69072 kB
KReclaimable: 26508 kB
Slab: 51644 kB
SReclaimable: 26508 kB
SUnreclaim: 25136 kB
KernelStack: 3520 kB
PageTables: 3208 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1955240 kB
Committed_AS: 840764 kB
VmallocTotal: 259653632 kB
VmallocUsed: 9064 kB
VmallocChunk: 0 kB
Percpu: 640 kB
CmaTotal: 327680 kB
CmaFree: 168692 kB
By default the raspberry pi has 100mb of swap allocated. In my case, increasing the swap temporarily solved the problem. Maybe your issue is different, maybe not. If you don't want to try it, perhaps you can use the precompiled binaries that Anwar has generously provided for raspberry pi users.
The application works, just that that particular test fails and I was wondering why. If it is only because I do not have enough swap, than it will be fine as I will also test the application by using it and that does not need so much swap space.
For precompiled, I would prefer ones that get distributed by Firo officially.
The binaries for the pi are official
Super. Do you have a link to them?
https://github.com/firoorg/firo/releases Add binaries for Raspberry Pi (64-bit only)
Ah, right, I dismissed those when I was trying to get Firo working on 32 bit arch RPi and forgot about them. Anyway, building from src works too. Thanks for all the help.
Cool. I'm glad you got it working. I think if we could get firo to use a tor onion address it would be better for decentralization. Tor would take care of routing the masternode traffic on a home network.
I was able to compile Firo last week, but something is broken for the past few days. I get the error below https://pastebin.com/hZ2aAcxb