Coder Social home page Coder Social logo

Comments (14)

jeanlemotan avatar jeanlemotan commented on September 27, 2024

What platform are you compiling on? It looks like it's missing libpcap and pigpio.

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

I only paste a few lines of the log.Actually all the libraries are undefined reference (even the pthread).The platform is rpi4 with the lastest 64 bit OS raspbian.I do know i need 32 bit OS ,however i tried rpi3 with 32 and 64 OS,rpi4 with 32 and 64 OS ,but all of them stucked in undefied reference.

  • step0:install OS to SD card
  • step1:sudo apt-get update
  • step2:sudo apt-get upgrade
  • step3:sudo apt install libdrm-dev libgbm-dev libgles2-mesa-dev libpcap-dev libturbojpeg0-dev libts-dev libsdl2-dev
  • step4:git clone esp32-cam-fpv
  • step5:cd ./gs
  • step6:make -j4

I will install a new 32 bit OS raspbian today,repeat the steps and post the full logs and screenshots.

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024
  • Step0 : Install OS to SD card : I use RPI Imager v1.6.2 to auto download and flash the 32 Bit Bullseye RaspberryPi OS to SD card.

23e95105a42922f65436d7781ac04dd

  • Step1 : sudo apt-get update :
    image

  • Step2 : sudo apt-get upgrade :
    image

  • Step3 : sudo reboot

  • Step4 : sudo apt install libdrm-dev libgbm-dev libgles2-mesa-dev libpcap-dev libturbojpeg0-dev libts-dev libsdl2-dev :
    image

  • Step5 : git clone https://github.com/jeanlemotan/esp32-cam-fpv.git :
    image

  • Step6 : cd ./esp32-cam-fpv/gs and make -j4

mlinux@raspberrypi:~/esp32-cam-fpv/gs $ make -j4
g++ -L/usr/lib -L=/opt/vc/lib -lstdc++ -lm -lpthread -lz -lrt -lfreetype -lSDL2 -lturbojpeg -lpcap -lGLESv2 -lpigpio  -o gs .o/src/main.o .o/src/droid_sans_font.o .o/src/HUD.o .o/src/imgui_impl_opengl3.o .o/src/PI_HAL.o .o/src/Comms.o .o/src/Video_Decoder.o .o/src/utils/radiotap/radiotap.o .o/src/imgui/imgui_impl_sdl.o .o/src/imgui/imgui_demo.o .o/src/imgui/imgui_draw.o .o/src/imgui/imgui.o .o/src/imgui/misc/freetype/imgui_freetype.o .o/../components/common/crc.o .o/../components/common/fec.o .o/src/fmt/format.o .o/src/fmt/os.o
/usr/bin/ld: .o/src/main.o: in function `run()':
main.cpp:(.text+0x294): undefined reference to `pthread_create'
/usr/bin/ld: main.cpp:(.text+0x29c): undefined reference to `pthread_create'
/usr/bin/ld: .o/src/main.o: in function `comms_thread_proc()':
main.cpp:(.text+0xef4): undefined reference to `gpioWrite'
/usr/bin/ld: main.cpp:(.text+0xf18): undefined reference to `gpioWrite'
/usr/bin/ld: .o/src/main.o: in function `main':
main.cpp:(.text.startup+0x80): undefined reference to `gpioSetMode'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::prepare_filter(Comms::PCap&)':
Comms.cpp:(.text+0x55b0): undefined reference to `pcap_datalink'
/usr/bin/ld: Comms.cpp:(.text+0x5734): undefined reference to `pcap_compile'
/usr/bin/ld: Comms.cpp:(.text+0x5748): undefined reference to `pcap_setfilter'
/usr/bin/ld: Comms.cpp:(.text+0x5758): undefined reference to `pcap_freecode'
/usr/bin/ld: Comms.cpp:(.text+0x5760): undefined reference to `pcap_get_selectable_fd'
/usr/bin/ld: Comms.cpp:(.text+0x581c): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x58ac): undefined reference to `pcap_freecode'
/usr/bin/ld: Comms.cpp:(.text+0x58b4): undefined reference to `pcap_geterr'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::prepare_pcap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Comms::PCap&)':
Comms.cpp:(.text+0x5d04): undefined reference to `pcap_create'
/usr/bin/ld: Comms.cpp:(.text+0x5d18): undefined reference to `pcap_set_snaplen'
/usr/bin/ld: Comms.cpp:(.text+0x5d2c): undefined reference to `pcap_set_promisc'
/usr/bin/ld: Comms.cpp:(.text+0x5d40): undefined reference to `pcap_set_rfmon'
/usr/bin/ld: Comms.cpp:(.text+0x5d54): undefined reference to `pcap_set_timeout'
/usr/bin/ld: Comms.cpp:(.text+0x5d68): undefined reference to `pcap_set_immediate_mode'
/usr/bin/ld: Comms.cpp:(.text+0x5d80): undefined reference to `pcap_set_buffer_size'
/usr/bin/ld: Comms.cpp:(.text+0x5dc0): undefined reference to `pcap_activate'
/usr/bin/ld: Comms.cpp:(.text+0x5de4): undefined reference to `pcap_setdirection'
/usr/bin/ld: Comms.cpp:(.text+0x5e04): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x5e38): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x5e50): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x5ee0): undefined reference to `pcap_geterr'
/usr/bin/ld: Comms.cpp:(.text+0x5f60): undefined reference to `pcap_geterr'
/usr/bin/ld: .o/src/Comms.o:Comms.cpp:(.text+0x5fd0): more undefined references to `pcap_geterr' follow
/usr/bin/ld: .o/src/Comms.o: in function `Comms::tx_thread_proc()':
Comms.cpp:(.text+0xe5d4): undefined reference to `pcap_inject'
/usr/bin/ld: Comms.cpp:(.text+0xe71c): undefined reference to `pcap_geterr'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::enumerate_interfaces[abi:cxx11]()':
Comms.cpp:(.text+0x12128): undefined reference to `pcap_findalldevs'
/usr/bin/ld: Comms.cpp:(.text+0x122a0): undefined reference to `pcap_freealldevs'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::init(Comms::RX_Descriptor const&, Comms::TX_Descriptor const&)':
Comms.cpp:(.text+0x18660): undefined reference to `pthread_create'
/usr/bin/ld: Comms.cpp:(.text+0x18668): undefined reference to `pthread_create'
/usr/bin/ld: Comms.cpp:(.text+0x186b0): undefined reference to `pthread_create'
/usr/bin/ld: Comms.cpp:(.text+0x186bc): undefined reference to `pthread_create'
/usr/bin/ld: .o/src/Comms.o: in function `Comms::process_rx_packet(Comms::PCap&)':
Comms.cpp:(.text+0x1a92c): undefined reference to `pcap_next_ex'
/usr/bin/ld: Comms.cpp:(.text+0x1b530): undefined reference to `pcap_geterr'
/usr/bin/ld: .o/src/Video_Decoder.o: in function `Video_Decoder::~Video_Decoder()':
Video_Decoder.cpp:(.text+0x72c8): undefined reference to `glDeleteTextures'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x72d4): undefined reference to `glDeleteTextures'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x72e4): undefined reference to `glDeleteTextures'
/usr/bin/ld: .o/src/Video_Decoder.o: in function `Video_Decoder::init(IHAL&)':
Video_Decoder.cpp:(.text+0x7e74): undefined reference to `pthread_create'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x7e78): undefined reference to `pthread_create'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x7e88): undefined reference to `SDL_GL_CreateContext'
/usr/bin/ld: .o/src/Video_Decoder.o: in function `Video_Decoder::decoder_thread_proc(unsigned int)':
Video_Decoder.cpp:(.text+0x8040): undefined reference to `SDL_GL_MakeCurrent'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x84a4): undefined reference to `tjInitDecompress'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x84d0): undefined reference to `tjDecompressHeader3'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x84e0): undefined reference to `tjDestroy'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x84e4): undefined reference to `tjGetErrorStr'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x85e4): undefined reference to `tjPlaneSizeYUV'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x866c): undefined reference to `tjDecompressToYUVPlanes'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x867c): undefined reference to `tjDestroy'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x888c): undefined reference to `tjGetErrorStr'
/usr/bin/ld: .o/src/Video_Decoder.o: in function `Video_Decoder::lock_output()':
Video_Decoder.cpp:(.text+0x9020): undefined reference to `glBindBuffer'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x903c): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x912c): undefined reference to `glBufferData'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9144): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x91d4): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x91f8): undefined reference to `glMapBufferRange'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x934c): undefined reference to `glUnmapBuffer'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9388): undefined reference to `glBindTexture'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x93a8): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x93f8): undefined reference to `glTexImage2D'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x93fc): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9488): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x94d4): undefined reference to `glBindBuffer'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x94f0): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9580): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x96c4): undefined reference to `glGenBuffers'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x96e0): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9770): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x979c): undefined reference to `glGenTextures'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x97b8): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9848): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x98a8): undefined reference to `glBindTexture'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x98ac): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9930): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9944): undefined reference to `glPixelStorei'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9950): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x99d4): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x99f0): undefined reference to `glTexParameterf'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9a0c): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9a28): undefined reference to `glTexParameterf'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9a44): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9a60): undefined reference to `glTexParameteri'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9a7c): undefined reference to `glGetError'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9a98): undefined reference to `glTexParameteri'
/usr/bin/ld: Video_Decoder.cpp:(.text+0x9ab4): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `CheckShader(unsigned int, char const*) [clone .isra.0]':
imgui_impl_opengl3.cpp:(.text+0x9e4): undefined reference to `glGetShaderiv'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x9fc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xa18): undefined reference to `glGetShaderiv'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xa34): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xaac): undefined reference to `glGetShaderInfoLog'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xac8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xb58): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_ImplOpenGL3_DestroyFontsTexture() [clone .part.0]':
imgui_impl_opengl3.cpp:(.text+0xc04): undefined reference to `glDeleteTextures'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xc08): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xc9c): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_ImplOpenGL3_Shutdown()':
imgui_impl_opengl3.cpp:(.text+0xd5c): undefined reference to `glDeleteProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xd6c): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xde4): undefined reference to `glDeleteProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xdf4): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xe54): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xe5c): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xe64): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xe6c): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xe7c): undefined reference to `glDeleteBuffers'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xe94): undefined reference to `glDeleteBuffers'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xea4): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xec0): undefined reference to `glDetachShader'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_BindShaderData(ShaderData&, float (*) [4])':
imgui_impl_opengl3.cpp:(.text+0xeec): undefined reference to `glUseProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xf08): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xf9c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xfb0): undefined reference to `glUniform1i'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0xfcc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1060): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x10a0): undefined reference to `glUniformMatrix4fv'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x10bc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1150): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x116c): undefined reference to `glBindBuffer'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1180): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1194): undefined reference to `glEnableVertexAttribArray'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x11ac): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1240): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1254): undefined reference to `glEnableVertexAttribArray'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1270): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1284): undefined reference to `glEnableVertexAttribArray'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x129c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1330): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1354): undefined reference to `glVertexAttribPointer'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1370): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1404): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1430): undefined reference to `glVertexAttribPointer'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x144c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x14e0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x150c): undefined reference to `glVertexAttribPointer'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1524): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x15b8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x15d4): undefined reference to `glUniform1i'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x15f0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1610): undefined reference to `glUniform1i'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x162c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x164c): undefined reference to `glUniform1i'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1668): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*, bool)':
imgui_impl_opengl3.cpp:(.text+0x1724): undefined reference to `glActiveTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1740): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1758): undefined reference to `glEnable'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x178c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x17a0): undefined reference to `glBlendEquation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x17bc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x17d4): undefined reference to `glBlendFunc'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x17f0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1804): undefined reference to `glDisable'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x181c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x18b0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x18c4): undefined reference to `glDisable'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x18dc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1970): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1988): undefined reference to `glEnable'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x19b8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x19dc): undefined reference to `glViewport'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1a80): undefined reference to `glBindBuffer'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1a94): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1ab4): undefined reference to `glBindBuffer'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1acc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1b50): undefined reference to `glBufferData'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1b54): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1be8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1c14): undefined reference to `glBufferData'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1c1c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1cb0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1e3c): undefined reference to `glScissor'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1e70): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1ea4): undefined reference to `glDrawElements'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1eec): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x1f38): undefined reference to `glViewport'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2018): undefined reference to `glDisable'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2024): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x20b8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x20cc): undefined reference to `glActiveTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x20e8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2108): undefined reference to `glBindTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2120): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2134): undefined reference to `glActiveTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2150): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2170): undefined reference to `glBindTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2188): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x219c): undefined reference to `glActiveTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x21b8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x21d8): undefined reference to `glBindTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x21f0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x220c): undefined reference to `glDrawElements'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2240): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2260): undefined reference to `glActiveTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x227c): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2290): undefined reference to `glEnable'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x22c4): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2308): undefined reference to `glBindTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2318): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x23b0): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_ImplOpenGL3_CreateFontsTexture()':
imgui_impl_opengl3.cpp:(.text+0x2460): undefined reference to `glGenTextures'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2464): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x24f8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x251c): undefined reference to `glBindTexture'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2530): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x25c4): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x25e0): undefined reference to `glTexParameteri'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x25fc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2618): undefined reference to `glTexParameteri'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2638): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x267c): undefined reference to `glTexImage2D'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2688): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x271c): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_SetupShaderData(ShaderData&, char const*, char const*)':
imgui_impl_opengl3.cpp:(.text+0x27a4): undefined reference to `glCreateShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x27cc): undefined reference to `glShaderSource'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x27d0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2864): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2878): undefined reference to `glCompileShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2898): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x28c8): undefined reference to `glCreateShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x28ec): undefined reference to `glShaderSource'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x28f0): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2984): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2998): undefined reference to `glCompileShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x29b4): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x29d8): undefined reference to `glCreateProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x29e4): undefined reference to `glAttachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x29fc): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2a18): undefined reference to `glAttachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2a30): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2a44): undefined reference to `glLinkProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2a64): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2a90): undefined reference to `glGetProgramiv'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2aa4): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2b38): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2b54): undefined reference to `glGetProgramiv'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2b70): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2ba0): undefined reference to `glGetUniformLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2bb8): undefined reference to `glGetUniformLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2bd0): undefined reference to `glGetUniformLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2be8): undefined reference to `glGetUniformLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2c00): undefined reference to `glGetUniformLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2c18): undefined reference to `glGetAttribLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2c30): undefined reference to `glGetAttribLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2c48): undefined reference to `glGetAttribLocation'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2cac): undefined reference to `glGetProgramInfoLog'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2cc8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2d58): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_ImplOpenGL3_CreateDeviceObjects()':
imgui_impl_opengl3.cpp:(.text+0x2e40): undefined reference to `glGenBuffers'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2e54): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2ee8): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2efc): undefined reference to `glGenBuffers'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2f18): undefined reference to `glGetError'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x2fac): undefined reference to `glGetError'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_DestroyShaderData(ShaderData&)':
imgui_impl_opengl3.cpp:(.text+0x3048): undefined reference to `glDeleteProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3058): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x30a8): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x30b0): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x30c0): undefined reference to `glDetachShader'
/usr/bin/ld: .o/src/imgui_impl_opengl3.o: in function `ImGui_ImplOpenGL3_DestroyDeviceObjects()':
imgui_impl_opengl3.cpp:(.text+0x3130): undefined reference to `glDeleteProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3140): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x31b8): undefined reference to `glDeleteProgram'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x31c8): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3228): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3230): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3238): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3240): undefined reference to `glDeleteShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3250): undefined reference to `glDeleteBuffers'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3268): undefined reference to `glDeleteBuffers'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3278): undefined reference to `glDetachShader'
/usr/bin/ld: imgui_impl_opengl3.cpp:(.text+0x3294): undefined reference to `glDetachShader'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::unlock_main_context()':
PI_HAL.cpp:(.text+0xec): undefined reference to `SDL_GL_MakeCurrent'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::lock_main_context()':
PI_HAL.cpp:(.text+0x144): undefined reference to `SDL_GL_MakeCurrent'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::shutdown()':
PI_HAL.cpp:(.text+0x180): undefined reference to `SDL_GL_DeleteContext'
/usr/bin/ld: PI_HAL.cpp:(.text+0x18c): undefined reference to `SDL_DestroyWindow'
/usr/bin/ld: PI_HAL.cpp:(.text+0x194): undefined reference to `SDL_Quit'
/usr/bin/ld: PI_HAL.cpp:(.text+0x198): undefined reference to `gpioTerminate'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::init_pigpio()':
PI_HAL.cpp:(.text+0x260): undefined reference to `gpioCfgClock'
/usr/bin/ld: PI_HAL.cpp:(.text+0x274): undefined reference to `gpioCfgPermissions'
/usr/bin/ld: PI_HAL.cpp:(.text+0x308): undefined reference to `gpioInitialise'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::shutdown_pigpio()':
PI_HAL.cpp:(.text+0x3f0): undefined reference to `gpioTerminate'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::init_display_sdl()':
PI_HAL.cpp:(.text+0x42c): undefined reference to `SDL_Init'
/usr/bin/ld: PI_HAL.cpp:(.text+0x438): undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: PI_HAL.cpp:(.text+0x444): undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: PI_HAL.cpp:(.text+0x450): undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: PI_HAL.cpp:(.text+0x45c): undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: PI_HAL.cpp:(.text+0x468): undefined reference to `SDL_GL_SetAttribute'
/usr/bin/ld: .o/src/PI_HAL.o:PI_HAL.cpp:(.text+0x474): more undefined references to `SDL_GL_SetAttribute' follow
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::init_display_sdl()':
PI_HAL.cpp:(.text+0x4c8): undefined reference to `SDL_SetHintWithPriority'
/usr/bin/ld: PI_HAL.cpp:(.text+0x4cc): undefined reference to `SDL_GetNumVideoDrivers'
/usr/bin/ld: PI_HAL.cpp:(.text+0x584): undefined reference to `SDL_GetVideoDriver'
/usr/bin/ld: PI_HAL.cpp:(.text+0x608): undefined reference to `SDL_GetCurrentDisplayMode'
/usr/bin/ld: PI_HAL.cpp:(.text+0x6e4): undefined reference to `SDL_CreateWindow'
/usr/bin/ld: PI_HAL.cpp:(.text+0x6f8): undefined reference to `SDL_GL_CreateContext'
/usr/bin/ld: PI_HAL.cpp:(.text+0x710): undefined reference to `SDL_GL_MakeCurrent'
/usr/bin/ld: PI_HAL.cpp:(.text+0x738): undefined reference to `SDL_GL_SetSwapInterval'
/usr/bin/ld: PI_HAL.cpp:(.text+0x7e4): undefined reference to `SDL_GetError'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::shutdown_display_sdl()':
PI_HAL.cpp:(.text+0xaa8): undefined reference to `SDL_GL_DeleteContext'
/usr/bin/ld: PI_HAL.cpp:(.text+0xab4): undefined reference to `SDL_DestroyWindow'
/usr/bin/ld: PI_HAL.cpp:(.text+0xabc): undefined reference to `SDL_Quit'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::shutdown_display()':
PI_HAL.cpp:(.text+0xad0): undefined reference to `SDL_GL_DeleteContext'
/usr/bin/ld: PI_HAL.cpp:(.text+0xadc): undefined reference to `SDL_DestroyWindow'
/usr/bin/ld: PI_HAL.cpp:(.text+0xae4): undefined reference to `SDL_Quit'
/usr/bin/ld: .o/src/PI_HAL.o: in function `PI_HAL::update_display()':
PI_HAL.cpp:(.text+0xb08): undefined reference to `glScissor'
/usr/bin/ld: PI_HAL.cpp:(.text+0xb1c): undefined reference to `glClearColor'
/usr/bin/ld: PI_HAL.cpp:(.text+0xb24): undefined reference to `glClear'
/usr/bin/ld: PI_HAL.cpp:(.text+0xb5c): undefined reference to `SDL_PollEvent'
/usr/bin/ld: PI_HAL.cpp:(.text+0xb78): undefined reference to `SDL_GL_SwapWindow'
/usr/bin/ld: .o/src/PI_HAL.o: in function `virtual thunk to PI_HAL::shutdown()':
PI_HAL.cpp:(.text+0xe20): undefined reference to `SDL_GL_DeleteContext'
/usr/bin/ld: PI_HAL.cpp:(.text+0xe2c): undefined reference to `SDL_DestroyWindow'
/usr/bin/ld: PI_HAL.cpp:(.text+0xe34): undefined reference to `SDL_Quit'
/usr/bin/ld: PI_HAL.cpp:(.text+0xe38): undefined reference to `gpioTerminate'
/usr/bin/ld: .o/src/PI_HAL.o: in function `virtual thunk to PI_HAL::lock_main_context()':
PI_HAL.cpp:(.text+0xf1c): undefined reference to `SDL_GL_MakeCurrent'
/usr/bin/ld: .o/src/PI_HAL.o: in function `virtual thunk to PI_HAL::unlock_main_context()':
PI_HAL.cpp:(.text+0xf4c): undefined reference to `SDL_GL_MakeCurrent'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_GetClipboardText(void*)':
imgui_impl_sdl.cpp:(.text+0x18): undefined reference to `SDL_free'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x1c): undefined reference to `SDL_GetClipboardText'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_SetClipboardText(void*, char const*)':
imgui_impl_sdl.cpp:(.text+0x2c): undefined reference to `SDL_SetClipboardText'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_ProcessEvent(SDL_Event const*)':
imgui_impl_sdl.cpp:(.text+0x12c): undefined reference to `SDL_GetModState'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x13c): undefined reference to `SDL_GetModState'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x150): undefined reference to `SDL_GetModState'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x164): undefined reference to `SDL_GetModState'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_InitForOpenGL(SDL_Window*, void*)':
imgui_impl_sdl.cpp:(.text+0x29c): undefined reference to `SDL_CreateSystemCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x2b0): undefined reference to `SDL_CreateSystemCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x2c0): undefined reference to `SDL_CreateSystemCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x2cc): undefined reference to `SDL_CreateSystemCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x2dc): undefined reference to `SDL_CreateSystemCursor'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o:imgui_impl_sdl.cpp:(.text+0x2e8): more undefined references to `SDL_CreateSystemCursor' follow
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_InitForOpenGL(SDL_Window*, void*)':
imgui_impl_sdl.cpp:(.text+0x30c): undefined reference to `SDL_GetCurrentVideoDriver'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_Shutdown()':
imgui_impl_sdl.cpp:(.text+0x440): undefined reference to `SDL_free'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x458): undefined reference to `SDL_FreeCursor'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_NewFrame(SDL_Window*)':
imgui_impl_sdl.cpp:(.text+0x4a8): undefined reference to `SDL_GetWindowSize'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x4b0): undefined reference to `SDL_GetWindowFlags'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x4d0): undefined reference to `SDL_GL_GetDrawableSize'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x55c): undefined reference to `SDL_GetPerformanceCounter'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x608): undefined reference to `SDL_GameControllerOpen'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x61c): undefined reference to `SDL_GameControllerGetButton'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x63c): undefined reference to `SDL_GameControllerGetButton'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x658): undefined reference to `SDL_GameControllerGetButton'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x674): undefined reference to `SDL_GameControllerGetButton'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x690): undefined reference to `SDL_GameControllerGetButton'
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o:imgui_impl_sdl.cpp:(.text+0x6ac): more undefined references to `SDL_GameControllerGetButton' follow
/usr/bin/ld: .o/src/imgui/imgui_impl_sdl.o: in function `ImGui_ImplSDL2_NewFrame(SDL_Window*)':
imgui_impl_sdl.cpp:(.text+0x76c): undefined reference to `SDL_GameControllerGetAxis'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x7a4): undefined reference to `SDL_GameControllerGetAxis'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x7e0): undefined reference to `SDL_GameControllerGetAxis'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x81c): undefined reference to `SDL_GameControllerGetAxis'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x888): undefined reference to `SDL_ShowCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x8b8): undefined reference to `SDL_GetMouseState'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x900): undefined reference to `SDL_GetKeyboardFocus'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x948): undefined reference to `SDL_SetCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x950): undefined reference to `SDL_ShowCursor'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0x99c): undefined reference to `SDL_GetPerformanceFrequency'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0xa1c): undefined reference to `SDL_WarpMouseInWindow'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0xa44): undefined reference to `SDL_GetWindowPosition'
/usr/bin/ld: imgui_impl_sdl.cpp:(.text+0xa50): undefined reference to `SDL_GetGlobalMouseState'
/usr/bin/ld: .o/src/imgui/misc/freetype/imgui_freetype.o: in function `ImGuiFreeType::BuildFontAtlas(ImFontAtlas*, unsigned int)':
imgui_freetype.cpp:(.text+0x15c): undefined reference to `FT_Init_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x18c): undefined reference to `FT_New_Memory_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1a0): undefined reference to `FT_Select_Charmap'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1f4): undefined reference to `FT_Request_Size'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x8c4): undefined reference to `FT_Get_Char_Index'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x8dc): undefined reference to `FT_Load_Glyph'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x90c): undefined reference to `FT_Get_Glyph'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x924): undefined reference to `FT_Glyph_To_Bitmap'
/usr/bin/ld: imgui_freetype.cpp:(.text+0xc30): undefined reference to `FT_Done_Glyph'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x147c): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1488): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x14a8): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x14b4): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x14d0): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x14dc): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1504): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1510): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x152c): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1538): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1550): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x155c): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1574): undefined reference to `FT_Done_Face'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1580): undefined reference to `FT_Done_FreeType'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x160c): undefined reference to `FT_GlyphSlot_Oblique'
/usr/bin/ld: imgui_freetype.cpp:(.text+0x1618): undefined reference to `FT_GlyphSlot_Embolden'
collect2: error: ld returned 1 exit status
make: *** [Makefile:115: gs] Error 1

2023-01-31-094934_1920x1080_scrot

And here is my uname info:
image

I can find my libraries here:
image

I also add this path to Makefile but nothing changes:
image

I can makesure all the downloads&installs&updates&upgrades are successful. So.....Any idea:)?

from esp32-cam-fpv.

lida2003 avatar lida2003 commented on September 27, 2024

Latest code of gs, RPI 3B+ with following image and apt-get upgrade, should be fine :)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
$ uname -r
5.10.103-v7+
$ uname -a
Linux PiNas 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

That means i need RPI 3B+ and 32bit Raspbian buster ? I will have a try immediately.
But in other raspberry pi and system versions, does it mean that the current code really cannot be compiled?
I think it may be the reason for bullseye, maybe pi3 pi3+ or pi4 have little impact.

from esp32-cam-fpv.

lida2003 avatar lida2003 commented on September 27, 2024

That means i need RPI 3B+ and 32bit Raspbian buster ?

I mean it works for me :)

The error is caused by Makefile, you have to modify the Makefile if there is some compatible issue.

from esp32-cam-fpv.

lida2003 avatar lida2003 commented on September 27, 2024
  • We do need to move to a newer version of IDF (5.0) . Because the support of 80211 raw radio doesn't include dumping the CRC error frame in IDF 4.3. We still need the error frames because we have the ability to correct them by fec.
    wi-fi-80211-packet-send
    The following packets will NOT be dumped to the application: 802.11 error frame, such as the frame with a CRC error, etc.
    I notice that IDF 5.0 allows us to do this.

This new feature is worth to implement. Can you open a new issue, maybe a PR is well appreciated.

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

Thank you for your warm support and trust.After i successfully compile the gs code,i will make a new issue foucus on move to IDF 5.0.
I also think we need new system (Bullseye) and 64 bit support to make more speed , compatibility and flexibility.
The work foucus on makefile and a few lines of code need to be changed because of some ptr issues (I have done some experiment and modification.).Do you think we also need this PR?

from esp32-cam-fpv.

lida2003 avatar lida2003 commented on September 27, 2024

Frankly speaking, currently, gs compiles ok, but it doesn't work properly #20 with air unit (IDF 4.3 or 4.4 latest or 4.3 beta)

I have got gs compiled on RPI 3B+(minimum modification, which was merged into main stream), and I also have ubuntu x86 compiled. BUT both applicaiton on PI or x86 shows black screen(I'm afraid).

Try to understand the rootcause of black screen first.

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

Here comes the result .I successfully compiled the gs code in 32bit buster with rpi4.
That means the code needs buster version in rpi platform.
Now I will first foucus on getting the rootcause of black screen and then have a check with the Makefile compatibility.

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

@lida2003 I heard that you have compiled code in ubuntu linux. What is your system version? I have been working on ubuntu 18.04 64bit and undefied reference happened. I would appreciate it If you could help me to find something in makefiles.

from esp32-cam-fpv.

lida2003 avatar lida2003 commented on September 27, 2024

Please use this patch, currently not accepted by @jeanlemotan , BUT it should work. Fix compatibility issue in Makefie on x86_64 ubuntu 20.04

Or you can just go to my repo and pull lida-dev branch .

# git clone [email protected]:lida2003/esp32-cam-fpv.git

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

When you are so smart and diligent in modifying your code, I am also looking for problems in the makefile and source code. In fact, the points we noticed are all the same (nice!). I will add several links below to help later people understand the reasons for these Makefiles changes:
Linker errors from makefile
gcc编译时对'xxxx'未定义的引用问题

from esp32-cam-fpv.

whstudio123 avatar whstudio123 commented on September 27, 2024

I have reviewed the code and make some comments.

from esp32-cam-fpv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.