Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#14409 closed defect (fixed)

multimedia/smpeg-0.4.4 fails to build under Leopard

Reported by: billitch@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc: blb@…, ryandesign (Ryan Carsten Schmidt)
Port: smpeg

Description

Hi, multimedia/smpeg-0.4.4 fails to build under Leopard because it fails to link to OpenGL. I am attaching a patch to the Portfile of smpeg to disable the compilation of the example OpenGL player built by default by smpeg. I don't believe anyone is interested in such an exemple player so I did not care to create a variant for it. It fixes compilation and seems to be the sole relation between smpeg and OpenGL.

I don't know why but gnome packages require this one to compile and as it prevents all other gnome ports to build I feel I should mark this ticket as urgent. Sorry for the noise if I am wrong.

Here is the build error :

g++ -pipe -O2 -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -DTHREADED_AUDIO -DNDEBUG -I.. -DNOCONTROLS -I. -I./audio -I./video -L/opt/local/lib -o glmovie glmovie-tile.o glmovie.o .libs/libsmpeg.a -lSDLmain -lSDL -lSDLmain -lSDL -lSDLmain -lSDL -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa
Undefined symbols:
  "_glTexSubImage2D", referenced from:
      _glmovie_draw in glmovie-tile.o
  "_glGenTextures", referenced from:
      _glmovie_init in glmovie-tile.o
  "_glPixelStorei", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
  "_glViewport", referenced from:
      _glmovie_resize in glmovie-tile.o
  "_glTexCoord2f", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
  "_glLoadIdentity", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_resize in glmovie-tile.o
  "_glClear", referenced from:
      _glmovie_draw in glmovie-tile.o
  "_glTexEnvf", referenced from:
      _glmovie_init in glmovie-tile.o
  "_glTexParameteri", referenced from:
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
  "_glVertex2i", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
      _glmovie_draw in glmovie-tile.o
  "_glBegin", referenced from:
      _glmovie_draw in glmovie-tile.o
  "_glEnd", referenced from:
      _glmovie_draw in glmovie-tile.o
  "_glDeleteTextures", referenced from:
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
      _glmovie_quit in glmovie-tile.o
  "_glGetError", referenced from:
      _glmovie_init in glmovie-tile.o
      glmpeg_update(SDL_Surface*, int, int, unsigned int, unsigned int)in glmovie.o
  "_glMatrixMode", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_resize in glmovie-tile.o
  "_glTexImage2D", referenced from:
      _glmovie_init in glmovie-tile.o
  "_glClearColor", referenced from:
      _glmovie_init in glmovie-tile.o
  "_glEnable", referenced from:
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
  "_gluOrtho2D", referenced from:
      _glmovie_resize in glmovie-tile.o
  "_glBindTexture", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
  "_gluErrorString", referenced from:
      glmpeg_update(SDL_Surface*, int, int, unsigned int, unsigned int)in glmovie.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [glmovie] Error 1
make: *** [all-recursive] Error 1
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_Users_billitch_macports_trunk_dports_multimedia_smpeg/work/smpeg-0.4.4" && nice -n 6 make all " returned error 2
Command output:   "_glEnd", referenced from:
      _glmovie_draw in glmovie-tile.o
  "_glDeleteTextures", referenced from:
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
      _glmovie_quit in glmovie-tile.o
  "_glGetError", referenced from:
      _glmovie_init in glmovie-tile.o
      glmpeg_update(SDL_Surface*, int, int, unsigned int, unsigned int)in glmovie.o
  "_glMatrixMode", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_resize in glmovie-tile.o
  "_glTexImage2D", referenced from:
      _glmovie_init in glmovie-tile.o
  "_glClearColor", referenced from:
      _glmovie_init in glmovie-tile.o
  "_glEnable", referenced from:
      _glmovie_init in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
  "_gluOrtho2D", referenced from:
      _glmovie_resize in glmovie-tile.o
  "_glBindTexture", referenced from:
      _glmovie_draw in glmovie-tile.o
      _glmovie_init in glmovie-tile.o
  "_gluErrorString", referenced from:
      glmpeg_update(SDL_Surface*, int, int, unsigned int, unsigned int)in glmovie.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [glmovie] Error 1
make: *** [all-recursive] Error 1

Warning: the following items did not execute (for smpeg): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.

Attachments (1)

smpeg-Portfile-disable-opengl.diff (461 bytes) - added by billitch@… 16 years ago.

Download all attachments as: .zip

Change History (10)

Changed 16 years ago by billitch@…

comment:1 Changed 16 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to mww@…

Assigning to maintainer.

comment:2 Changed 16 years ago by jabial@…

Replacing -Wl,-framework,Cocoa by -Wl,-framework,Cocoa,-framework,OpenGL in the compile command solves the problem.

comment:3 Changed 16 years ago by jmroot (Joshua Root)

configure.ldflags-append -framework OpenGL also seems to do the trick.

comment:4 Changed 16 years ago by kballard (Lily Ballard)

Huh, it just built fine for me with no modifications on 10.5.2.

comment:5 Changed 15 years ago by blb@…

Cc: blb@… added
Port: smpeg added
Priority: HighNormal

Is anyone still able to reproduce this?

comment:6 Changed 15 years ago by i@…

I am running into this trying to build gnome right now. Here's the error I'm seeing:

---> Fetching smpeg ---> Verifying checksum(s) for smpeg ---> Extracting smpeg ---> Applying patches to smpeg ---> Configuring smpeg ---> Building smpeg Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_smpeg/work/smpeg-0.4.4" && make all " returned error 2 Command output: _glmovie_draw in glmovie-tile.o

_glmovie_draw in glmovie-tile.o _glmovie_init in glmovie-tile.o

"_gluErrorString", referenced from:

glmpeg_update(SDL_Surface*, int, int, unsigned int, unsigned int)in glmovie.o

"_glClear", referenced from:

_glmovie_draw in glmovie-tile.o

"_glViewport", referenced from:

_glmovie_resize in glmovie-tile.o

"_glTexSubImage2D", referenced from:

_glmovie_draw in glmovie-tile.o

"_glVertex2i", referenced from:

_glmovie_draw in glmovie-tile.o _glmovie_draw in glmovie-tile.o _glmovie_draw in glmovie-tile.o _glmovie_draw in glmovie-tile.o

"_glBindTexture", referenced from:

_glmovie_draw in glmovie-tile.o _glmovie_init in glmovie-tile.o

"_glLoadIdentity", referenced from:

_glmovie_draw in glmovie-tile.o _glmovie_resize in glmovie-tile.o

"_glBegin", referenced from:

_glmovie_draw in glmovie-tile.o

"_glTexEnvf", referenced from:

_glmovie_init in glmovie-tile.o

ld: symbol(s) not found collect2: ld returned 1 exit status make[1]: * [glmovie] Error 1 make: * [all-recursive] Error 1

Error: Status 1 encountered during processing.

comment:7 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Resolution: fixed
Status: newclosed

I just experienced the error as well, an Mac OS X 10.5.6 Intel with Xcode 3.1.2 and MacPorts 1.7.1. Adding "--disable-opengl-player" to the configure.args as in the attached patch worked for me, as did adding "-framework OpenGL" to the configure.ldflags as Joshua suggested. I fixed it in r48901 with Joshua's method.

comment:8 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:9 Changed 15 years ago by rmpowell77@…

I hit this error also: pascal:~ richardpowell$ sudo port install smpeg ---> Building smpeg Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_smpeg/work/smpeg-0.4.4" && make all " returned error 2 Command output: _glmovie_draw in glmovie-tile.o

_glmovie_draw in glmovie-tile.o _glmovie_init in glmovie-tile.o

"_gluErrorString", referenced from:

glmpeg_update(SDL_Surface*, int, int, unsigned int, unsigned int)in glmovie.o

"_glClear", referenced from:

_glmovie_draw in glmovie-tile.o

"_glViewport", referenced from:

_glmovie_resize in glmovie-tile.o

"_glTexSubImage2D", referenced from:

_glmovie_draw in glmovie-tile.o

"_glVertex2i", referenced from:

_glmovie_draw in glmovie-tile.o _glmovie_draw in glmovie-tile.o _glmovie_draw in glmovie-tile.o _glmovie_draw in glmovie-tile.o

"_glBindTexture", referenced from:

_glmovie_draw in glmovie-tile.o _glmovie_init in glmovie-tile.o

"_glLoadIdentity", referenced from:

_glmovie_draw in glmovie-tile.o _glmovie_resize in glmovie-tile.o

"_glBegin", referenced from:

_glmovie_draw in glmovie-tile.o

"_glTexEnvf", referenced from:

_glmovie_init in glmovie-tile.o

ld: symbol(s) not found collect2: ld returned 1 exit status make[1]: * [glmovie] Error 1 make: * [all-recursive] Error 1

Error: Status 1 encountered during processing. pascal:~ richardpowell$

Note: See TracTickets for help on using tickets.