Open whstudio123 opened 1 year ago
What platform are you compiling on? It looks like it's missing libpcap and pigpio.
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.
I will install a new 32 bit OS raspbian today,repeat the steps and post the full logs and screenshots.
Step1 : sudo apt-get update :
Step2 : sudo apt-get upgrade :
Step3 : sudo reboot
Step4 : sudo apt install libdrm-dev libgbm-dev libgles2-mesa-dev libpcap-dev libturbojpeg0-dev libts-dev libsdl2-dev :
Step5 : git clone https://github.com/jeanlemotan/esp32-cam-fpv.git :
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
And here is my uname info:
I can find my libraries here:
I also add this path to Makefile but nothing changes:
I can makesure all the downloads&installs&updates&upgrades are successful. So.....Any idea:)?
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
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.
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.
- 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.
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?
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.
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.
@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.
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 git@github.com:lida2003/esp32-cam-fpv.git
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'未定义的引用问题
I have reviewed the code and make some comments.
(all the libraries are undefined reference. I do install the libraries
sudo apt install libdrm-dev libgbm-dev libgles2-mesa-dev libpcap-dev libturbojpeg0-dev libts-dev libsdl2-dev
)I notice that IDF 5.0 allows us to do this.
If the above things really matter,i am very very glad to participate in fixing bugs and helping to make the features happen as long as anyone could help me to figure out which step i missed or wrong? Now i am stucking at compiling gs code :)