dburkart / check-sieve

Syntax checker for mail sieves.
MIT License
35 stars 7 forks source link

Problems installing on openSuse #52

Closed Sandra-Weddig closed 6 months ago

Sandra-Weddig commented 1 year ago

Dear check-sieve team, I get the following error when trying to install check-sieve at my opensuse Tumbleweed:

make install --debug

GNU Make 4.4.1 Gebaut für x86_64-suse-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 oder später https://gnu.org/licenses/gpl.html Dies ist freie Software: Sie können sie nach Belieben ändern und weiter verteilen. Soweit es die Gesetze erlauben, gibt es KEINE GARANTIE. Makedateien werden gelesen … Makedateien werden aktualisiert … Ziele werden aktualisiert … Die Datei „install“ existiert nicht. Die Datei „all“ existiert nicht. Die Datei „libchecksieve.a“ existiert nicht. Das Ziel „libchecksieve.a“ muss neu erzeugt werden. make -C ./gen GNU Make 4.4.1 Gebaut für x86_64-suse-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 oder später https://gnu.org/licenses/gpl.html Dies ist freie Software: Sie können sie nach Belieben ändern und weiter verteilen. Soweit es die Gesetze erlauben, gibt es KEINE GARANTIE. Makedateien werden gelesen … make[1]: Verzeichnis „/opt/check-sieve/gen“ wird betreten Makedateien werden aktualisiert … Ziele werden aktualisiert … Die Datei „all“ existiert nicht. Die Datei „../gen/sieve_parser.tab.o“ existiert nicht. Das Ziel „../gen/sieve_parser.tab.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../gen/sieve_parser.tab.cc -o ../gen/sieve_parser.tab.o Die Zieldatei „../gen/sieve_parser.tab.o“ wurde erfolgreich aktualisiert. Die Datei „../gen/sieve_scanner.o“ existiert nicht. Das Ziel „../gen/sieve_scanner.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../gen/sieve_scanner.cc -o ../gen/sieve_scanner.o Die Zieldatei „../gen/sieve_scanner.o“ wurde erfolgreich aktualisiert. Das Ziel „all“ muss neu erzeugt werden. Die Zieldatei „all“ wurde erfolgreich aktualisiert. make[1]: Verzeichnis „/opt/check-sieve/gen“ wird verlassen make -C ./src lib GNU Make 4.4.1 Gebaut für x86_64-suse-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 oder später https://gnu.org/licenses/gpl.html Dies ist freie Software: Sie können sie nach Belieben ändern und weiter verteilen. Soweit es die Gesetze erlauben, gibt es KEINE GARANTIE. Makedateien werden gelesen … make[1]: Verzeichnis „/opt/check-sieve/src“ wird betreten Makedateien werden aktualisiert … Ziele werden aktualisiert … Die Datei „lib“ existiert nicht. Die Datei „../src/sieve_driver.o“ existiert nicht. Das Ziel „../src/sieve_driver.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/sieve_driver.cc -o ../src/sieve_driver.o Die Zieldatei „../src/sieve_driver.o“ wurde erfolgreich aktualisiert. Die Datei „../src/checksieve.o“ existiert nicht. Das Ziel „../src/checksieve.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/checksieve.cc -o ../src/checksieve.o Die Zieldatei „../src/checksieve.o“ wurde erfolgreich aktualisiert. Die Datei „../src/diagnostic.o“ existiert nicht. Das Ziel „../src/diagnostic.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/diagnostic.cc -o ../src/diagnostic.o Die Zieldatei „../src/diagnostic.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/Validation/Command.o“ existiert nicht. Das Ziel „../src/AST/Validation/Command.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/Validation/Command.cc -o ../src/AST/Validation/Command.o Die Zieldatei „../src/AST/Validation/Command.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/Validation/Test.o“ existiert nicht. Das Ziel „../src/AST/Validation/Test.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/Validation/Test.cc -o ../src/AST/Validation/Test.o Die Zieldatei „../src/AST/Validation/Test.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/Validation/Tag.o“ existiert nicht. Das Ziel „../src/AST/Validation/Tag.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/Validation/Tag.cc -o ../src/AST/Validation/Tag.o Die Zieldatei „../src/AST/Validation/Tag.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTTraceVisitor.o“ existiert nicht. Das Ziel „../src/AST/ASTTraceVisitor.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTTraceVisitor.cc -o ../src/AST/ASTTraceVisitor.o Die Zieldatei „../src/AST/ASTTraceVisitor.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTVerificationVisitor.o“ existiert nicht. Das Ziel „../src/AST/ASTVerificationVisitor.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTVerificationVisitor.cc -o ../src/AST/ASTVerificationVisitor.o Die Zieldatei „../src/AST/ASTVerificationVisitor.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTBlock.o“ existiert nicht. Das Ziel „../src/AST/ASTBlock.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTBlock.cc -o ../src/AST/ASTBlock.o Die Zieldatei „../src/AST/ASTBlock.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTBoolean.o“ existiert nicht. Das Ziel „../src/AST/ASTBoolean.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTBoolean.cc -o ../src/AST/ASTBoolean.o Die Zieldatei „../src/AST/ASTBoolean.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTBranch.o“ existiert nicht. Das Ziel „../src/AST/ASTBranch.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTBranch.cc -o ../src/AST/ASTBranch.o Die Zieldatei „../src/AST/ASTBranch.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTCommand.o“ existiert nicht. Das Ziel „../src/AST/ASTCommand.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTCommand.cc -o ../src/AST/ASTCommand.o Die Zieldatei „../src/AST/ASTCommand.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTCondition.o“ existiert nicht. Das Ziel „../src/AST/ASTCondition.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTCondition.cc -o ../src/AST/ASTCondition.o Die Zieldatei „../src/AST/ASTCondition.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTNoOp.o“ existiert nicht. Das Ziel „../src/AST/ASTNoOp.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTNoOp.cc -o ../src/AST/ASTNoOp.o Die Zieldatei „../src/AST/ASTNoOp.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTNumeric.o“ existiert nicht. Das Ziel „../src/AST/ASTNumeric.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTNumeric.cc -o ../src/AST/ASTNumeric.o Die Zieldatei „../src/AST/ASTNumeric.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTRequire.o“ existiert nicht. Das Ziel „../src/AST/ASTRequire.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTRequire.cc -o ../src/AST/ASTRequire.o Die Zieldatei „../src/AST/ASTRequire.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTSieve.o“ existiert nicht. Das Ziel „../src/AST/ASTSieve.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTSieve.cc -o ../src/AST/ASTSieve.o Die Zieldatei „../src/AST/ASTSieve.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTString.o“ existiert nicht. Das Ziel „../src/AST/ASTString.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTString.cc -o ../src/AST/ASTString.o Die Zieldatei „../src/AST/ASTString.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTStringList.o“ existiert nicht. Das Ziel „../src/AST/ASTStringList.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTStringList.cc -o ../src/AST/ASTStringList.o Die Zieldatei „../src/AST/ASTStringList.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTTag.o“ existiert nicht. Das Ziel „../src/AST/ASTTag.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTTag.cc -o ../src/AST/ASTTag.o Die Zieldatei „../src/AST/ASTTag.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTTest.o“ existiert nicht. Das Ziel „../src/AST/ASTTest.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTTest.cc -o ../src/AST/ASTTest.o Die Zieldatei „../src/AST/ASTTest.o“ wurde erfolgreich aktualisiert. Die Datei „../src/AST/ASTTestList.o“ existiert nicht. Das Ziel „../src/AST/ASTTestList.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/AST/ASTTestList.cc -o ../src/AST/ASTTestList.o Die Zieldatei „../src/AST/ASTTestList.o“ wurde erfolgreich aktualisiert. Die Datei „../src/Server/MailServer.o“ existiert nicht. Das Ziel „../src/Server/MailServer.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/Server/MailServer.cc -o ../src/Server/MailServer.o Die Zieldatei „../src/Server/MailServer.o“ wurde erfolgreich aktualisiert. Das Ziel „lib“ muss neu erzeugt werden. Die Zieldatei „lib“ wurde erfolgreich aktualisiert. make[1]: Verzeichnis „/opt/check-sieve/src“ wird verlassen ar rc libchecksieve.a ./gen/sieve_parser.tab.o ./gen/sieve_scanner.o ./src/sieve_driver.o ./src/checksieve.o ./src/diagnostic.o ./src/AST/Validation/Command.o ./src/AST/Validation/Test.o ./src/AST/Validation/Tag.o ./src/AST/ASTTraceVisitor.o ./src/AST/ASTVerificationVisitor.o ./src/AST/ASTBlock.o ./src/AST/ASTBoolean.o ./src/AST/ASTBranch.o ./src/AST/ASTCommand.o ./src/AST/ASTCondition.o ./src/AST/ASTNoOp.o ./src/AST/ASTNumeric.o ./src/AST/ASTRequire.o ./src/AST/ASTSieve.o ./src/AST/ASTString.o ./src/AST/ASTStringList.o ./src/AST/ASTTag.o ./src/AST/ASTTest.o ./src/AST/ASTTestList.o ./src/Server/MailServer.o Die Zieldatei „libchecksieve.a“ wurde erfolgreich aktualisiert. Die Datei „check-sieve“ existiert nicht. Das Ziel „check-sieve“ muss neu erzeugt werden. make -C ./src binary GNU Make 4.4.1 Gebaut für x86_64-suse-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 oder später https://gnu.org/licenses/gpl.html Dies ist freie Software: Sie können sie nach Belieben ändern und weiter verteilen. Soweit es die Gesetze erlauben, gibt es KEINE GARANTIE. Makedateien werden gelesen … make[1]: Verzeichnis „/opt/check-sieve/src“ wird betreten Makedateien werden aktualisiert … Ziele werden aktualisiert … Die Datei „binary“ existiert nicht. Die Datei „../src/sieve.o“ existiert nicht. Das Ziel „../src/sieve.o“ muss neu erzeugt werden. g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++11 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../src/sieve.cc -o ../src/sieve.o In Datei, eingebunden von ../src/sieve.cc:8: ../src/Server/MailServer.hh:17:38: Fehler: »uint32_t« wurde nicht deklariert 17 | MailServer(std::string hostname, uint32_t port); | ^~~~ ../src/Server/MailServer.hh:24:5: Fehler: »uint32_t« bezeichnet keinen Typ 24 | uint32_t _port; | ^~~~ ../src/Server/MailServer.hh:1:1: Anmerkung: »uint32_t« ist im Header »« definiert; haben Sie vergessen, »#include « zu schreiben? +++ |+#include 1 | #pragma once cc1plus: Anmerkung: Unbekannte Kommandozeilenoption »-Wno-deprecated-register« könnte den Zweck haben, bisherige Diagnosemeldungen zu unterdrücken make[1]: [Makefile:22: ../src/sieve.o] Fehler 1 make[1]: Verzeichnis „/opt/check-sieve/src“ wird verlassen make: [Makefile:25: check-sieve] Fehler 2

Am I missing any dependency? I did checkout the master from git.

dburkart commented 1 year ago

Hi @Sandra-Weddig -- I've been able to reproduce this issue in docker. Looks like there is a PR open to fix this, which should be merged shortly.

It appears we should be explicitly including cstdint in our includes for new versions of gcc.

dburkart commented 1 year ago

This should be fixed on master as of 7f8cbfebdb3e7737ca65a57042d8391ba3ac534c. Please let me know if you have any further issues!

Sandra-Weddig commented 1 year ago

Works now :-)

RensOliemans commented 8 months ago

I get the same error when compiling in the file src/Server/MailServer.hh. The following patch fixes it. I know practically no C++ so I have no clue if this is a proper way to do it, but at least it works.

diff --git a/src/Server/MailServer.hh b/src/Server/MailServer.hh
index 02c9067..dc7a517 100644
--- a/src/Server/MailServer.hh
+++ b/src/Server/MailServer.hh
@@ -1,5 +1,6 @@
 #pragma once

+#include <cstdint>
 #include <string>
 #include <map>
 #include <vector>

My make output:

make -C ./gen
make[1]: Entering directory '/tmp/tmp.WAkn5RRbNq/check-sieve/gen'
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../gen/sieve_parser.tab.cc -o ../gen/sieve_parser.tab.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" ../gen/sieve_scanner.cc -o ../gen/sieve_scanner.o
make[1]: Leaving directory '/tmp/tmp.WAkn5RRbNq/check-sieve/gen'
make -C ./src lib
make[1]: Entering directory '/tmp/tmp.WAkn5RRbNq/check-sieve/src'
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/sieve_driver.cc -o ../src/sieve_driver.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/checksieve.cc -o ../src/checksieve.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/diagnostic.cc -o ../src/diagnostic.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/Validation/Command.cc -o ../src/AST/Validation/Command.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/Validation/Test.cc -o ../src/AST/Validation/Test.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/Validation/Tag.cc -o ../src/AST/Validation/Tag.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTTraceVisitor.cc -o ../src/AST/ASTTraceVisitor.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTVerificationVisitor.cc -o ../src/AST/ASTVerificationVisitor.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTBlock.cc -o ../src/AST/ASTBlock.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTBoolean.cc -o ../src/AST/ASTBoolean.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTBranch.cc -o ../src/AST/ASTBranch.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTCommand.cc -o ../src/AST/ASTCommand.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTCondition.cc -o ../src/AST/ASTCondition.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTNoOp.cc -o ../src/AST/ASTNoOp.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTNumeric.cc -o ../src/AST/ASTNumeric.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTRequire.cc -o ../src/AST/ASTRequire.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTSieve.cc -o ../src/AST/ASTSieve.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTString.cc -o ../src/AST/ASTString.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTStringList.cc -o ../src/AST/ASTStringList.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTTag.cc -o ../src/AST/ASTTag.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTTest.cc -o ../src/AST/ASTTest.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/AST/ASTTestList.cc -o ../src/AST/ASTTestList.o
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/Server/MailServer.cc -o ../src/Server/MailServer.o
make[1]: Leaving directory '/tmp/tmp.WAkn5RRbNq/check-sieve/src'
ar rc libchecksieve.a ./gen/sieve_parser.tab.o ./gen/sieve_scanner.o ./src/sieve_driver.o ./src/checksieve.o ./src/diagnostic.o ./src/AST/Validation/Command.o ./src/AST/Validation/Test.o ./src/AST/Validation/Tag.o ./src/AST/ASTTraceVisitor.o ./src/AST/ASTVerificationVisitor.o ./src/AST/ASTBlock.o ./src/AST/ASTBoolean.o ./src/AST/ASTBranch.o ./src/AST/ASTCommand.o ./src/AST/ASTCondition.o ./src/AST/ASTNoOp.o ./src/AST/ASTNumeric.o ./src/AST/ASTRequire.o ./src/AST/ASTSieve.o ./src/AST/ASTString.o ./src/AST/ASTStringList.o ./src/AST/ASTTag.o ./src/AST/ASTTest.o ./src/AST/ASTTestList.o ./src/Server/MailServer.o
make -C ./src binary
make[1]: Entering directory '/tmp/tmp.WAkn5RRbNq/check-sieve/src'
g++ -c -I../gen/ -I../src/ -I../src/AST -I../src/Server -std=c++17 -fPIC -Wno-deprecated-register -DPLATFORM=\"x86_64-Linux\" -Werror -Wall ../src/sieve.cc -o ../src/sieve.o
In file included from ../src/sieve.cc:8:
../src/Server/MailServer.hh:17:38: error: ‘uint32_t’ has not been declared
   17 |     MailServer(std::string hostname, uint32_t port);
      |                                      ^~~~~~~~
../src/Server/MailServer.hh:24:5: error: ‘uint32_t’ does not name a type
   24 |     uint32_t _port;
      |     ^~~~~~~~
../src/Server/MailServer.hh:1:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  +++ |+#include <cstdint>
    1 | #pragma once
cc1plus: note: unrecognized command-line option ‘-Wno-deprecated-register’ may have been intended to silence earlier diagnostics
make[1]: *** [Makefile:22: ../src/sieve.o] Error 1
make[1]: Leaving directory '/tmp/tmp.WAkn5RRbNq/check-sieve/src'
make: *** [Makefile:25: check-sieve] Error 2

Local versions of bison and flex:

$ bison --version
bison (GNU Bison) 3.8.2
Written by Robert Corbett and Richard Stallman.

Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ flex --version
flex 2.6.4

If my patch is the proper way to solve this or if the correct change is trivial, I am happy to create a pull request, or feel free to merge the patch.

dburkart commented 6 months ago

@RensOliemans Happy to apply your patch as a PR! Feel free to open one! Sorry, I must have missed the notification about your comment.