Closed mhdev90 closed 2 months ago
The EVDI release 1.14.5 cannot be compiled under Fedora 40.
OS Info:
cat /etc/os-release NAME="Fedora Linux" VERSION="40 (Workstation Edition)" ID=fedora VERSION_ID=40 VERSION_CODENAME="" PLATFORM_ID="platform:f40" PRETTY_NAME="Fedora Linux 40 (Workstation Edition)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:40" DEFAULT_HOSTNAME="fedora" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=40 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=40 SUPPORT_END=2025-05-13 VARIANT="Workstation Edition" VARIANT_ID=workstation
Kernel:
uname -a Linux 603-12758-01 6.9.7-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 27 18:11:45 UTC 2024 x86_64 GNU/Linux
Error:
make CFLAGS="-isystem./include -isystem./include/uapi -Werror -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -Wmissing-prototypes -Wstrict-prototypes -Werror=discarded-qualifiers " make -C module make[1]: Verzeichnis „/tmp/displaylink/evdi-1.14.5/module“ wird betreten make -C /lib/modules/6.9.7-200.fc40.x86_64/build M=$PWD make[2]: Verzeichnis „/usr/src/kernels/6.9.7-200.fc40.x86_64“ wird betreten warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 14.1.1 20240620 (Red Hat 14.1.1-6) You are using: gcc (GCC) 14.1.1 20240701 (Red Hat 14.1.1-7) MODPOST /tmp/displaylink/evdi-1.14.5/module/Module.symvers make[2]: Verzeichnis „/usr/src/kernels/6.9.7-200.fc40.x86_64“ wird verlassen make[1]: Verzeichnis „/tmp/displaylink/evdi-1.14.5/module“ wird verlassen CFLAGS="-I../module -Werror -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -Wmissing-prototypes -Wstrict-prototypes -Werror=discarded-qualifiers " make -C library make[1]: Verzeichnis „/tmp/displaylink/evdi-1.14.5/library“ wird betreten cc -I../module -std=gnu99 -fPIC -D_FILE_OFFSET_BITS=64 -I../module -Werror -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -Wmissing-prototypes -Wstrict-prototypes -Werror=discarded-qualifiers $(pkg-config --cflags-only-I libdrm) -c -o evdi_lib.o evdi_lib.c cc evdi_lib.o -shared -Wl,-soname,libevdi.so.1 -o libevdi.so.1.14.5 -lc -lgcc cp libevdi.so.1.14.5 libevdi.so ln -sf libevdi.so.1.14.5 libevdi.so.1 make[1]: Verzeichnis „/tmp/displaylink/evdi-1.14.5/library“ wird verlassen CXXFLAGS="-I../module -I../library -Werror -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare " make -C pyevdi make[1]: Verzeichnis „/tmp/displaylink/evdi-1.14.5/pyevdi“ wird betreten g++ -I../library $(python3 -m pybind11 --includes) -std=c++20 -fPIC -fvisibility=hidden -I../module -I../library -Werror -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -c Buffer.cpp g++ -I../library $(python3 -m pybind11 --includes) -std=c++20 -fPIC -fvisibility=hidden -I../module -I../library -Werror -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -c Card.cpp In Datei, eingebunden von Card.h:11, von Card.cpp:6: Stats.h:25:26: Fehler: »chrono« ist kein Element von »std« 25 | std::vector<std::chrono::microseconds> grabPixelStats; | ^~~~~~ Stats.h:25:46: Fehler: Templateargument 1 ist ungültig 25 | std::vector<std::chrono::microseconds> grabPixelStats; | ^ Stats.h:25:46: Fehler: Templateargument 2 ist ungültig Stats.h:25:14: Fehler: »<expression error>« in Namensbereich »std« bezeichnet keinen Typ 25 | std::vector<std::chrono::microseconds> grabPixelStats; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stats.h:26:26: Fehler: »chrono« ist kein Element von »std« 26 | std::vector<std::chrono::microseconds> bufferStats; | ^~~~~~ Stats.h:26:46: Fehler: Templateargument 1 ist ungültig 26 | std::vector<std::chrono::microseconds> bufferStats; | ^ Stats.h:26:46: Fehler: Templateargument 2 ist ungültig Stats.h:26:14: Fehler: »<expression error>« in Namensbereich »std« bezeichnet keinen Typ 26 | std::vector<std::chrono::microseconds> bufferStats; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[1]: *** [Makefile:33: Card.o] Fehler 1 make[1]: Verzeichnis „/tmp/displaylink/evdi-1.14.5/pyevdi“ wird verlassen make: *** [Makefile:19: pyevdi] Fehler 2
Solution: Add a include to pyevdi/Stats.h file.
#include <chrono>
The EVDI release 1.14.5 cannot be compiled under Fedora 40.
OS Info:
Kernel:
Error:
Solution: Add a include to pyevdi/Stats.h file.
#include <chrono>