Alan Pope opened issue #1: Unable to build on Ubuntu 19.04 at Can / Intel 8080 Emulator

Alan Pope
2019-09-06T14:23:13Z

Trying to build emulator-8080. I think I have necessary dependencies (gl, glu, glut) but make fails. Any ideas?

alan@KinkPad-K450:~/Source/personal/temp/emulator-8080$ make
[ 5%] Linking CXX executable emulator-8080
[ 35%] Built target emulator-8080
Scanning dependencies of target emulator-8080-cpm
[ 41%] Building CXX object CMakeFiles/emulator-8080-cpm.dir/main-cpm.cpp.o
[ 47%] Building CXX object CMakeFiles/emulator-8080-cpm.dir/ROM.cpp.o
[ 52%] Building CXX object CMakeFiles/emulator-8080-cpm.dir/Runner.cpp.o
[ 58%] Building CXX object CMakeFiles/emulator-8080-cpm.dir/Flasher.cpp.o
[ 64%] Building CXX object CMakeFiles/emulator-8080-cpm.dir/ParameterParser.cpp.o
[ 70%] Linking CXX executable emulator-8080-cpm
[ 70%] Built target emulator-8080-cpm
Scanning dependencies of target emulator-8080-invaders
[ 76%] Building CXX object CMakeFiles/emulator-8080-invaders.dir/games/invaders/invaders-game.cpp.o
[ 82%] Building CXX object CMakeFiles/emulator-8080-invaders.dir/ROM.cpp.o
[ 88%] Building CXX object CMakeFiles/emulator-8080-invaders.dir/Flasher.cpp.o
[ 94%] Building CXX object CMakeFiles/emulator-8080-invaders.dir/ParameterParser.cpp.o
[100%] Linking CXX executable emulator-8080-invaders
/usr/bin/ld: CMakeFiles/emulator-8080-invaders.dir/games/invaders/invaders-game.cpp.o: in function `timer(int)':
invaders-game.cpp:(.text+0x10a): undefined reference to `glutPostRedisplay'
/usr/bin/ld: invaders-game.cpp:(.text+0x10f): undefined reference to `glFlush'
/usr/bin/ld: invaders-game.cpp:(.text+0x123): undefined reference to `glutTimerFunc'
/usr/bin/ld: CMakeFiles/emulator-8080-invaders.dir/games/invaders/invaders-game.cpp.o: in function `InvadersWrapper::drawVram()':
invaders-game.cpp:(.text._ZN15InvadersWrapper8drawVramEv[_ZN15InvadersWrapper8drawVramEv]+0x12): undefined reference to `glClear'
/usr/bin/ld: invaders-game.cpp:(.text._ZN15InvadersWrapper8drawVramEv[_ZN15InvadersWrapper8drawVramEv]+0x1c): undefined reference to `glBegin'
/usr/bin/ld: invaders-game.cpp:(.text._ZN15InvadersWrapper8drawVramEv[_ZN15InvadersWrapper8drawVramEv]+0x9e): undefined reference to `glVertex2i'
/usr/bin/ld: invaders-game.cpp:(.text._ZN15InvadersWrapper8drawVramEv[_ZN15InvadersWrapper8drawVramEv]+0xbc): undefined reference to `glEnd'
/usr/bin/ld: CMakeFiles/emulator-8080-invaders.dir/games/invaders/invaders-game.cpp.o: in function `InvadersOpenGlWrapper::initOpenGl(int, char**, void (*)(), void (*)(), int)':
invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x2e): undefined reference to `glutInit'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x38): undefined reference to `glutInitDisplayMode'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x47): undefined reference to `glutInitWindowSize'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x53): undefined reference to `glutCreateWindow'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x68): undefined reference to `glClearColor'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x8d): undefined reference to `gluOrtho2D'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0x99): undefined reference to `glutKeyboardFunc'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0xa5): undefined reference to `glutKeyboardUpFunc'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0xb2): undefined reference to `glPointSize'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0xcf): undefined reference to `glColor3f'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0xdb): undefined reference to `glutDisplayFunc'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0xe7): undefined reference to `glutIdleFunc'
/usr/bin/ld: invaders-game.cpp:(.text._ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i[_ZN21InvadersOpenGlWrapper10initOpenGlEiPPcPFvvES3_i]+0xfc): undefined reference to `glutMainLoop'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/emulator-8080-invaders.dir/build.make:129: emulator-8080-invaders] Error 1
make[1]: *** [CMakeFiles/Makefile2:147: CMakeFiles/emulator-8080-invaders.dir/all] Error 2
make: *** [Makefile:130: all] Error 2