wergor
connoisseur de mimi
|
ich habe einen bookworm ubuntu 24.04 docker container für meine CI, darin würd ich gern cppcheck ausführen: cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
cppcheck wirft aber die höchst hilfreiche fehlermeldung cppcheck: error: failed to load project 'application.cppcheck'. An error occurred.
einzelne files kann ich aber schon prüfen, z.b.: cppcheck src/ltb/ltb_eeprom.c
Checking src/ltb/ltb_eeprom.c ...
src/ltb/ltb_fstd_info.h:83:25: error: Signed integer overflow for expression '1<<31'. [integerOverflow]
FSTD_FEATURE_UART = (1 << 31), //has UART interface
^
src/ltb/ltb_fstd.h:129:26: error: Signed integer overflow for expression '1<<31'. [integerOverflow]
LTB_ALERT_DIB_SYNC = (1 << 31)
^
root@4185183f62c8:/tmp#
auf debian und ubuntu hosts (nicht im container) funktioniert der check. weis jemand wie ich mehr infos aus cppcheck rauskitzeln kann?
Bearbeitet von wergor am 12.11.2025, 21:11
|
davebastard
Vinyl-Sammler
|
hast dus mal mit dem absoluten pfad probiert?
|
Daeda
Renegade
|
Kommen mit --verbose und/oder --debug vielleicht mehr Details beim Fehler zum Vorschein?
|
COLOSSUS
AdministratorGNUltra
|
Poste mal, was (mit installiertem strace, eh klar) LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
ausgibt. Vielleicht kann man ja schon auf syscall-Ebene nachvollziehen, wo/wie es hakt.
|
issue
Rock and Stone, brother!
|
Mir kommt der --project switch falsch vor: --project=<file> Run Cppcheck on project. The <file> can be a Visual Studio Solution (*.sln), Visual Studio Project (*.vcxproj), compile database (compile_commands.json), or Borland C++ Builder 6 (*.bpr). The files to analyse, include paths, defines, platform and undefines in the specified file will be used. edit: oder hast du ein .cppcheck file aus der gui vo dem trum? (hab grad glesn, dass es das geben soll, https://cppcheck.sourceforge.io/manual.pdf page 9)
Bearbeitet von issue am 12.11.2025, 15:29
|
wergor
connoisseur de mimi
|
hast dus mal mit dem absoluten pfad probiert? gleicher fehler. Kommen mit --verbose und/oder --debug vielleicht mehr Details beim Fehler zum Vorschein? nein, leider nicht. Poste mal, was (mit installiertem strace, eh klar)
LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
ausgibt. Vielleicht kann man ja schon auf syscall-Ebene nachvollziehen, wo/wie es hakt. root@a5d4aa4b7755:/tmp/repo# LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr --project=application.cppcheck --error-exitcode=-1
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
cppcheck: error: failed to load project 'application.cppcheck'. An error occurred.
+++ exited with 1 +++
oha!
|
wergor
connoisseur de mimi
|
|
COLOSSUS
AdministratorGNUltra
|
root@a5d4aa4b7755:/tmp/repo# LC_ALL=C strace -e trace=file -yy -v -Z cppcheck --enable=all --inline-suppr -project=application.cppcheck --error-exitcode=-1
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
cppcheck: error: failed to load project 'application.cppcheck'. An error occurred.
+++ exited with 1 +++
oha!
Das weist lediglich drauf hin, dass beim Lesen deiner Input-Files (mindestens "application.cppcheck") nix schiefgeht, das Problem also eher am Inhalt der Datei(en) liegen wird.
|
wergor
connoisseur de mimi
|
ich probiere gerade die gui aus, die sagt beim check einer meiner source files gäb es einen critical error, ich glaub ich weis wo ich weitersuchen muss... danke  edit: hab sie gelöscht und cppcheck scheint jetzt durchzulaufen.zu früh gefreut, cppcheck-gui reported keinen fehler mehr aber cppcheck im container zeigt das gleiche verhalten.
Bearbeitet von wergor am 12.11.2025, 18:04
|
issue
Rock and Stone, brother!
|
Vielleicht ists ein bug in der version von cppcheck in debian (die is vo 2023 wenn ich des richtig dales). Der letzte commit in dem sample repo war "Disable cppcheck for now" btw
|
COLOSSUS
AdministratorGNUltra
|
Wieso soll es eigentlich unbedingt das cppcheck aus bookworm sein, und nicht aus trixie?
|
wergor
connoisseur de mimi
|
Der letzte commit in dem sample repo war "Disable cppcheck for now" btw ich weis Wieso soll es eigentlich unbedingt das cppcheck aus bookworm sein, und nicht aus trixie? das iamge das ich verwende ( https://hub.docker.com/r/xanderhendriks/stm32cubeide) basiert auf bookworm, ich hab noch nicht versucht ein eigenes zu bauen.
|
issue
Rock and Stone, brother!
|
|
wergor
connoisseur de mimi
|
tatsächlich! wie bin ich auf bookworm gekommen? muss ein anderes image gewesen sein
|
issue
Rock and Stone, brother!
|
vergleich wirklich mal die versionen, imo ein cppcheck bug mit dem gui project file. alternativ wurscht die project config auf cli args um und gib die mit
|