#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)
Change History (10)
Changed 17 years ago by billitch@…
Attachment: | smpeg-Portfile-disable-opengl.diff added |
---|
comment:1 Changed 17 years ago by jmroot (Joshua Root)
Owner: | changed from macports-tickets@… to mww@… |
---|
comment:2 Changed 17 years ago by jabial@…
Replacing -Wl,-framework,Cocoa by -Wl,-framework,Cocoa,-framework,OpenGL in the compile command solves the problem.
comment:3 Changed 17 years ago by jmroot (Joshua Root)
configure.ldflags-append -framework OpenGL
also seems to do the trick.
comment:4 Changed 17 years ago by kballard (Lily Ballard)
Huh, it just built fine for me with no modifications on 10.5.2.
comment:5 Changed 16 years ago by blb@…
Cc: | blb@… added |
---|---|
Port: | smpeg added |
Priority: | High → Normal |
Is anyone still able to reproduce this?
comment:6 Changed 16 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 16 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
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: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$
Assigning to maintainer.