Haha, I seem to build and compile successfully, it is not easy.
You already compiled successfully. Relocation is the issue.
This problem comes from the fact that you were copying the executable to a different place. See you have built in "~/Warthog/new/build" directory:
20230306EWPM:~/Warthog/new/build$ meson ..
But you are executing form "~/Warthog/node" directory, So you have copied the executable to some different place.
meirong@OS-20230306EWPM:~/Warthog/node$ ./wart-node --help
./wart-node: error while loading shared libraries: libusockets.so: cannot open shared object file: No such file or directory
You should not copy the compiled files but execute them in place. Othrewise it cannot find the libraries.
It is useless according to what you said, what system version does ubuntu support?
No it is not useless. "Note: Ubuntu 20.04 does not meet these requirements." from the GitHub README file just states that Ubuntu 20.04 normally does not ship with gcc11 but you somehow installed gcc11 using some workaround (external packages?). In this case it should work. You already compiled it. Just start it in place, the missing symbol errors come from the fact that you copied the executable to a different place such that other compiled libraries are not found.
May I ask which folder the node program is in, and what is the directory path? Where is the directory path of wart-wallet?
The important executables are in these directories:
src
├── miner
│ └── wart-miner
├── node
│ └── wart-node
└── wallet
└── wart-wallet
These distro packages are not relevant:
meirong@OS-20230306EWPM:~/Warthog$ dpkg -l | grep libsecp256k1
ii libsecp256k1-0:amd64 0.1~20170810-2 amd64 library for EC operations on curve secp256k1
ii libsecp256k1-dev:amd64 0.1~20170810-2 amd64 library for EC operations on curve secp256k1 - development headers
secp256k1 is built statically and shipped with the repo. No need for this to be installed.
I delete the directory and try to rebuild and compile. If it doesn't work, I can only give up this project
meirong@OS-20230306EWPM:~/youzhu/new/build$ meson ..
The Meson build system
Version: 1.1.1
Source dir: /home/meirong/youzhu/new
Build dir: /home/meirong/youzhu/new/build
Build type: native build
Project name: Warthog
Project version: 0.1
C compiler for the host machine: ccache cc (gcc 11.1.0 "cc (Ubuntu 11.1.0-1ubuntu1~20.04) 11.1.0")
C linker for the host machine: cc ld.bfd 2.34
C++ compiler for the host machine: ccache c++ (gcc 11.1.0 "c++ (Ubuntu 11.1.0-1ubuntu1~20.04) 11.1.0")
C++ linker for the host machine: c++ ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Executing subproject libuv
libuv| Project name: libuv
libuv| Project version: 1.44.2
libuv| C compiler for the host machine: ccache cc (gcc 11.1.0 "cc (Ubuntu 11.1.0-1ubuntu1~20.04) 11.1.0")
libuv| C linker for the host machine: cc ld.bfd 2.34
libuv| Fetching value of define "__QNX__" :
libuv| Fetching value of define "_AIX" :
libuv| Message: System: linux
libuv| Compiler for C supports arguments -fno-strict-aliasing: YES
libuv| Run-time dependency threads found: YES
libuv| Library dl found: YES
libuv| Library rt found: YES
libuv| Build targets in project: 1
libuv| Subproject libuv finished.
Using sqlite3 source from cache.
Downloading sqlite3 patch from
https://wrapdb.mesonbuild.com/v2/sqlite3_3.39.3-1/get_patchWARNING: failed to download with error: WrapDB connection failed to
https://wrapdb.mesonbuild.com/v2/sqlite3_3.39.3-1/get_patch with error <urlopen error [Errno 111] Connection refused>.. Trying after a delay...
WARNING: failed to download with error: WrapDB connection failed to
https://wrapdb.mesonbuild.com/v2/sqlite3_3.39.3-1/get_patch with error <urlopen error [Errno 111] Connection refused>.. Trying after a delay...
WARNING: failed to download with error: WrapDB connection failed to
https://wrapdb.mesonbuild.com/v2/sqlite3_3.39.3-1/get_patch with error <urlopen error [Errno 111] Connection refused>.. Trying after a delay...
WARNING: failed to download with error: WrapDB connection failed to
https://wrapdb.mesonbuild.com/v2/sqlite3_3.39.3-1/get_patch with error <urlopen error [Errno 111] Connection refused>.. Trying after a delay...
Download size: 1658
Downloading: ..........
Executing subproject sqlite3
sqlite3| Project name: sqlite3
sqlite3| Project version: 3.39.3
sqlite3| C compiler for the host machine: ccache cc (gcc 11.1.0 "cc (Ubuntu 11.1.0-1ubuntu1~20.04) 11.1.0")
sqlite3| C linker for the host machine: cc ld.bfd 2.34
sqlite3| Run-time dependency dl found: YES
sqlite3| Library m found: YES
sqlite3| Dependency threads found: YES unknown (cached)
sqlite3| Build targets in project: 2
sqlite3| Subproject sqlite3 finished.
Dependency threads found: YES unknown (cached)
Build targets in project: 8
Warthog 0.1
Subprojects
libuv : YES
sqlite3: YES
Found ninja-1.11.1.git.kitware.jobserver-1 at /home/meirong/.local/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.