Search code examples
cygwinlinker-errorsglew

Compiling GLEW with Cygwin, undefined references (mostly to glXGetProcAddressARB)


I am trying to compile GLEW in cygwin. I downloaded glew version 1.11.0 from the website and extracted it into C:\glew-1.11.0\. Then after navigating into the folder in cygwin (run as admin) and doing make, it errors with the following. Doing make all does the same (if this matters).

/cygdrive/c/glew-1.11.0
$ cc -shared -Wl,--out-implib,lib/libGLEW.dll.a -o lib/cygGLEW--.dll tmp/cygwin/default/shared/glew.o  -lopengl32 -lX11
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x34b): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x364): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x37d): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x396): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x3af): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x3c8): more undefined references to `glXGetProcAddressARB' follow
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x141c1): undefined reference to `glGetString'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x14220): undefined reference to `glXGetClientString'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x1426e): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x142b8): undefined reference to `glXQueryVersion'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x142e2): undefined reference to `glXGetClientString'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x14387): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x14939): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x14952): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x14988): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x149a1): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x149ba): more undefined references to `glXGetProcAddressARB' follow
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x164af): undefined reference to `glGetString'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x1674e): undefined reference to `glGetString'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x16795): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x167ae): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x167c7): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x167e0): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x16891): undefined reference to `glXGetProcAddressARB'
tmp/cygwin/default/shared/glew.o:glew.c:(.text+0x168aa): more undefined references to `glXGetProcAddressARB' follow
collect2: error: ld returned 1 exit status

Any idea how to get glew to compile?


Solution

  • GLEW packages are available in Cygwin Ports; you can see how they are built here.