I am trying to compile the program below and run the executable on Ubuntu without UI. I am working in a Kubeflow notebook. This is a preliminary test to check that everything works fine in order to run this repo.
When I run the script, I get the error messages:
/usr/bin/ld: /tmp/cciku4KL.o: in function `main':test.cpp:(.text+0x21): undefined reference to `eglGetDisplay'/usr/bin/ld: test.cpp:(.text+0x74): undefined reference to `eglInitialize'/usr/bin/ld: test.cpp:(.text+0xd0): undefined reference to `eglChooseConfig'/usr/bin/ld: test.cpp:(.text+0x125): undefined reference to `eglCreateContext'/usr/bin/ld: test.cpp:(.text+0x19c): undefined reference to `eglCreatePbufferSurface'/usr/bin/ld: test.cpp:(.text+0x1ee): undefined reference to `eglMakeCurrent'collect2: error: ld returned 1 exit statusHow can I fix the issue?
#include <EGL/egl.h>#include <iostream>int main() { EGLDisplay display; EGLConfig config; EGLContext context; EGLSurface surface; EGLint num_config; // Get Display display = eglGetDisplay(EGL_DEFAULT_DISPLAY); if (display == EGL_NO_DISPLAY) { std::cout << "Failed to get EGL display." << std::endl; return -1; } // Initialize EGL if (!eglInitialize(display, 0, 0)) { std::cout << "Failed to initialize EGL." << std::endl; return -1; } // Get Config if (!eglChooseConfig(display, NULL, &config, 1, &num_config)) { std::cout << "Failed to choose config." << std::endl; return -1; } // Create Context context = eglCreateContext(display, config, EGL_NO_CONTEXT, NULL); if (context == EGL_NO_CONTEXT) { std::cout << "Failed to create EGL context." << std::endl; return -1; } // Create a Pbuffer surface. const EGLint pbufferAttributes[] = { EGL_WIDTH, 10, EGL_HEIGHT, 10, EGL_NONE, }; surface = eglCreatePbufferSurface(display, config, pbufferAttributes); if (surface == EGL_NO_SURFACE) { std::cout << "Failed to create EGL surface." << std::endl; return -1; } // Make the context current if (!eglMakeCurrent(display, surface, surface, context)) { std::cout << "Failed to make context current." << std::endl; return -1; } std::cout << "EGL initialization successful." << std::endl; return 0;}