hoytech / strfry

a nostr relay
GNU General Public License v3.0
500 stars 98 forks source link

Build error on latest master #51

Open IngwiePhoenix opened 1 year ago

IngwiePhoenix commented 1 year ago

It seems that after pulling the latest master, quadrable.h can not be found.

Any dependency I missed? My previous build worked; I just wanted to update it.

Full output:

root@birb:/opt/strfry# git pull
remote: Enumerating objects: 153, done.
remote: Counting objects: 100% (153/153), done.
remote: Compressing objects: 100% (102/102), done.
remote: Total 153 (delta 96), reused 108 (delta 51), pack-reused 0
Receiving objects: 100% (153/153), 58.00 KiB | 322.00 KiB/s, done.
Resolving deltas: 100% (96/96), completed with 7 local objects.
From https://github.com/hoytech/strfry
   fb21e10..798522a  web        -> origin/web
Fetching submodule golpe
From https://github.com/hoytech/golpe
   99fa9be..c0367d6  master     -> origin/master
Fetching submodule golpe/external/uWebSockets
From https://github.com/hoytech/uWebSockets
   8670f28..1e0fda7  master     -> origin/master
Already up to date.
root@birb:/opt/strfry# git submodule update
root@birb:/opt/strfry# git submodule ^C
root@birb:/opt/strfry# git submodule update --recursive --remote
warning: unable to rmdir 'external/quadrable': Directory not empty
Submodule path 'golpe': checked out 'c0367d6554bad33cecbf46763d0a1934891ff737'
Submodule path 'golpe/external/PEGTL': checked out 'eac50a85e3fd1ee3623cfa150eed457aa61f7b9e'
Submodule path 'golpe/external/config': checked out '5e726d1442beb225789ed0889e8aa4fbc75bea7a'
Submodule path 'golpe/external/docopt.cpp': checked out '400e6dd8e59196c914dcc2c56caf7dae7efa5eb3'
Submodule path 'golpe/external/hoytech-cpp': checked out '121eb4252d38e3a2c3359aee3329d1d4cdf4f512'
Submodule path 'golpe/external/json': checked out '330129305f15fbfba5e0716db25e245f0b4d8b0f'
Submodule path 'golpe/external/loguru': checked out '4adaa185883e3c04da25913579c451d3c32cfac1'
Submodule path 'golpe/external/parallel-hashmap': checked out '79cbd2dafd5aab3829064d1b48b71137623d8ff2'
Submodule path 'golpe/external/rasgueadb': checked out 'cb5631f0fa05622282b6c127b5817df1315254d2'
Submodule path 'golpe/external/uWebSockets': checked out '1e0fda756ad2b64a3e71428ad18cb75f1832781b'
root@birb:/opt/strfry# make setup-golpe
cd golpe && git submodule update --init
Submodule 'external/templar' (https://github.com/hoytech/templar.git) registered for path 'external/templar'
Cloning into '/opt/strfry/golpe/external/templar'...
Submodule path 'external/PEGTL': checked out '9afe8a71920b9dadf309a503d734143e1ff78b3e'
Submodule path 'external/config': checked out 'ab8c38a2d00e58dd004fd71da7f0e70749993fc1'
Submodule path 'external/docopt.cpp': checked out '6f5de76970be94a6f1e4556d1716593100e285d2'
Submodule path 'external/json': checked out 'd73d01389660084a8dbedd44eb674da57f26aba6'
Submodule path 'external/loguru': checked out '644f60dca77de3b0f718a03d370c8ebdf5f97968'
Submodule path 'external/parallel-hashmap': checked out '87ece91c6e4c457c5faac179dae6e11e2cd39b16'
Submodule path 'external/templar': checked out '13961f0c0bff435f045cf62864f2ef4c6f2730cc'
root@birb:/opt/strfry# make -j2
perl golpe/gen-fbs.pl
perl golpe/gen-config.pl
perl golpe/gen-golpe.h.pl
perl golpe/gen-main.cpp.pl
g++ -std=c++20 -O3 -g -Wall -fPIC  -DDOCOPT_HEADER_ONLY -Iinclude -Ibuild -Isrc -Igolpe/external -Igolpe/external/lmdbxx/include -Igolpe/external/config/include -Igolpe/external/json/include -Igolpe/external/PEGTL/include -Igolpe/external/hoytech-cpp -Igolpe/external/docopt.cpp -Igolpe/external/loguru -Igolpe/external/parallel-hashmap -MMD -MP -MT golpe/logging.o -MF golpe/logging.d -c golpe/logging.cpp -o golpe/logging.o
g++ -std=c++20 -O3 -g -Wall -fPIC  -DDOCOPT_HEADER_ONLY -Iinclude -Ibuild -Isrc -Igolpe/external -Igolpe/external/lmdbxx/include -Igolpe/external/config/include -Igolpe/external/json/include -Igolpe/external/PEGTL/include -Igolpe/external/hoytech-cpp -Igolpe/external/docopt.cpp -Igolpe/external/loguru -Igolpe/external/parallel-hashmap -MMD -MP -MT build/main.o -MF build/main.d -c build/main.cpp -o build/main.o
In file included from build/golpe.h:64,
                 from golpe/logging.cpp:1:
src/global.h:9:10: fatal error: quadrable.h: No such file or directory
    9 | #include <quadrable.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
In file included from build/golpe.h:64,
                 from build/main.cpp:13:
src/global.h:9:10: fatal error: quadrable.h: No such file or directory
    9 | #include <quadrable.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make: *** [golpe/rules.mk:31: golpe/logging.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [golpe/rules.mk:31: build/main.o] Error 1
IngwiePhoenix commented 1 year ago

Found the solution after reading across the Golpe Makefiles.

Running make update-submodules was the way to go.

Leaving it open if someone else happens to run into this :)

hoytech commented 1 year ago

Hi, thanks for posting your solution! :+1: