Opened 12 years ago

Closed 12 years ago

#33679 closed defect (invalid)

libSDL - dependency on xlib?

Reported by: david.reitter@… Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: Cc:
Port: libsdl

Description (last modified by ryandesign (Ryan Carsten Schmidt))

When compiling a project against SDL installed with Macports (upgraded to current, and installed with +universal, which is x86_64 and i386 for me), I get errors indicating missing dependencies. I believe this symbols are defined in Xlib, though I can't find Xlib on my system, nor is there a Macports package to be installed.

Undefined symbols for architecture x86_64:
  "_XCreateIC", referenced from:
      _SDL_X11_LoadSymbols in libSDL.a(SDL_x11dyn.o)
  "_XGetICValues", referenced from:
      _SDL_X11_LoadSymbols in libSDL.a(SDL_x11dyn.o)
  "_XEventsQueued", referenced from:
      _X11_Pending in libSDL.a(SDL_x11events.o)

Linking against the X11 libraries on OS X works, though I'm surprised that Macports doesn't have a dependency on X11. A static build (using the OS X - provided X11 libraries) would be best for me in this case.

Change History (2)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to jmr@…
Port: libsdl added

Please provide a reproduction recipe: a set of steps we can perform on our systems to arrive at the error message you showed. Otherwise it's hard for us to test possible fixes.

MacPorts provides X11. See the dozens of xorg ports. MacPorts ports should depend where needed on these ports, and should not use the system X11.

comment:2 Changed 12 years ago by jmroot (Joshua Root)

Resolution: invalid
Status: newclosed

If you're going to link statically you need to link in all the dependencies as well, e.g. /opt/local/lib/libX11.a.

Note: See TracTickets for help on using tickets.