Ticket #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@… | |
| 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
Change History
comment:1 Changed 5 years ago by jmr@…
- Owner changed from macports-tickets@… to mww@…
Assigning to maintainer.
comment:2 Changed 5 years ago by jabial@…
Replacing -Wl,-framework,Cocoa by -Wl,-framework,Cocoa,-framework,OpenGL in the compile command solves the problem.
comment:3 Changed 5 years ago by jmr@…
configure.ldflags-append -framework OpenGL also seems to do the trick.
comment:4 Changed 5 years ago by eridius@…
Huh, it just built fine for me with no modifications on 10.5.2.
comment:5 Changed 4 years ago by blb@…
- Cc blb@… added
- Priority changed from High to Normal
- Port set to smpeg
Is anyone still able to reproduce this?
comment:6 Changed 4 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 4 years ago by ryandesign@…
- Status changed from new to closed
- Cc ryandesign@… added
- Resolution set to fixed
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 4 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$

