Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot be compiled on Fedora 40 #475

Closed
mhdev90 opened this issue Jul 17, 2024 · 0 comments
Closed

Cannot be compiled on Fedora 40 #475

mhdev90 opened this issue Jul 17, 2024 · 0 comments
Labels

Comments

@mhdev90
Copy link

mhdev90 commented Jul 17, 2024

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>

@mhdev90 mhdev90 changed the title Cannot be compiled on Fedore 40 Cannot be compiled on Fedora 40 Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants