[Pythonmac-SIG] Building against OpenGL

Chris Barker chris.barker at noaa.gov
Tue Mar 22 15:47:31 EDT 2022


I have an app that uses a C (Cython) extension that needs to link against
the OpenGL libs (libGL and libGLU)

Here's the code that used to work:

    gl_libraries = ["GL", "GLU"]

    ...

    gl_include_dirs.append(
        "/System/Library/Frameworks/OpenGL.framework/Headers",
    )

gl_library_dirs.append("/System/Library/Frameworks/OpenGL.framework/Libraries",
    )

And this resulted in this linking line that fails:

clang -bundle -undefined dynamic_lookup
-Wl,-rpath,/Users/chris.barker/miniconda3/envs/maproom39/lib
-L/Users/chris.barker/miniconda3/envs/maproom39/lib
-Wl,-rpath,/Users/chris.barker/miniconda3/envs/maproom39/lib
-L/Users/chris.barker/miniconda3/envs/maproom39/lib
build/temp.macosx-10.9-x86_64-3.9/libmaproom/Tessellator.o
-L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL -lGLU -o
build/lib.macosx-10.9-x86_64-3.9/libmaproom/Tessellator.cpython-39-darwin.so
ld: library not found for -lGL
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
error: command '/usr/bin/clang' failed with exit code 1

Some of this makes sense -- as
System/Library/Frameworks/OpenGL.framework doesn't
have Libraries and Headers anymore. However, it also doesn't have the
headers or libraries (that I can tell) anywhere else in there.

Oddly, the compiler is finding the headers somewhere -- not sure where.

Google has failed me here -- but a few hints:

1) ctypes had to be updated to find the libs -- that was done, and ctypes
seems to be working. but what it does is:

In [1]: from ctypes.util import find_library
In [2]: find_library("OpenGL")
Out[2]: '/System/Library/Frameworks/OpenGL.framework/OpenGL'

but /System/Library/Frameworks/OpenGL.framework/OpenGL doesn't exist on my
system at all.

Reading a bit -- it seems that OS-X is doing some kind of cached libs
trickery -- but how do I tell distutils / clang how to find those libs??

Enclosed is the whole setup.py in case I've missed a detail.

Sometimes Apple Drives me crazy! Thanks for any hints --

-CHB



-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/pythonmac-sig/attachments/20220322/cc6c5342/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: setup.py
Type: text/x-python-script
Size: 5060 bytes
Desc: not available
URL: <https://mail.python.org/pipermail/pythonmac-sig/attachments/20220322/cc6c5342/attachment.bin>


More information about the Pythonmac-SIG mailing list