[PyQt] Unable to compile PyQt on 10.5.1 (fails while linking)

Brian Landsberger brian at landsberger.com
Wed Nov 28 00:53:45 GMT 2007


Hello all,

	I'm new to the list and found it when I encountered problems trying  
compile PyQT on my Powerbook G4. I'm running a fresh copy of 10.5 then  
upgraded to 10.5.1. As this thread indicates:

http://www.mail-archive.com/pyqt@riverbankcomputing.com/msg12139.html

I looked into the symlink mentioned, but apparently it's already set  
up - although curiously backwards from what the about thread indicates.

brian at bjl-pbook ~ $ ls -l /System/Library/Frameworks/Python.framework/ 
Versions/2.5/lib/python2.5/site-packages
lrwxr-xr-x  1 root  wheel  33 Nov 27 09:54 /System/Library/Frameworks/ 
Python.framework/Versions/2.5/lib/python2.5/site-packages -> /Library/ 
Python/2.5/site-packages

brian at bjl-pbook ~ $ ls -l /Library/Python/2.5/site-packages/
total 480
drwxr-xr-x  16 root   admin    544 Nov 27 16:09 PyQt4
-rw-rw-r--   1 root   admin    119 Oct  5 21:11 README
-rwxr-xr-x   1 root   admin  78392 Nov 26 15:51 sip.so
-rw-r--r--   1 root   admin  83263 Nov 26 15:51 sipconfig.py
-rw-r--r--   1 brian  admin  65968 Nov 26 15:51 sipconfig.pyc
-rw-r--r--@  1 root   admin   3332 Nov 26 15:51 sipdistutils.py


I've re-compiled QT, but I still get the below error, also this only  
happens when compiling the OpenGL module not when compiling any other  
PyQT module (say QtSvg or QtSql).

c++ -headerpad_max_install_names -bundle -F/System/Library/Frameworks - 
framework Python -o QtOpenGL.so sipQtOpenGLcmodule.o  
sipQtOpenGLQGLPixelBuffer.o sipQtOpenGLQGLFramebufferObject.o  
sipQtOpenGLQGLColormap.o sipQtOpenGLQGLWidget.o  
sipQtOpenGLQGLContext.o sipQtOpenGLQGLFormatOpenGLVersionFlags.o  
sipQtOpenGLQGLFormat.o sipQtOpenGLQGLFormatOptions.o sipQtOpenGLQGL.o - 
F/Library/Frameworks -L/Library/Frameworks -framework QtOpenGL - 
framework OpenGL -framework AGL -framework QtGui -framework Carbon - 
framework AppKit -framework QtCore -lz -lm -liconv -framework  
ApplicationServices -framework QtGui -framework Carbon -framework  
AppKit -framework QtCore -lz -lm -liconv -framework  
ApplicationServices -framework QtCore -lz -lm -liconv -framework  
ApplicationServices -framework OpenGL -framework AGL
Undefined symbols:
   "QGLContext::deleteTexture(unsigned int)", referenced from:
       _meth_QGLContext_deleteTexture in sipQtOpenGLQGLContext.o
   "QGLWidget::bindTexture(QImage const&, unsigned int, int)",  
referenced from:
       _meth_QGLWidget_bindTexture in sipQtOpenGLQGLWidget.o
   "QGLFramebufferObject::QGLFramebufferObject(QSize const&,  
QGLFramebufferObject::Attachment, unsigned int, unsigned int)",  
referenced from:
       sipQGLFramebufferObject::sipQGLFramebufferObject(QSize const&,  
QGLFramebufferObject::Attachment, unsigned int, unsigned int)in  
sipQtOpenGLQGLFramebufferObject.o
   "QGLContext::bindTexture(QPixmap const&, unsigned int, int)",  
referenced from:
       _meth_QGLContext_bindTexture in sipQtOpenGLQGLContext.o
   "QGLPixelBuffer::bindToDynamicTexture(unsigned int)", referenced  
from:
       _meth_QGLPixelBuffer_bindToDynamicTexture in  
sipQtOpenGLQGLPixelBuffer.o
   "QGLPixelBuffer::bindTexture(QPixmap const&, unsigned int)",  
referenced from:
       _meth_QGLPixelBuffer_bindTexture in sipQtOpenGLQGLPixelBuffer.o
   "QGLPixelBuffer::deleteTexture(unsigned int)", referenced from:
       _meth_QGLPixelBuffer_deleteTexture in sipQtOpenGLQGLPixelBuffer.o
   "QGLContext::bindTexture(QImage const&, unsigned int, int)",  
referenced from:
       _meth_QGLContext_bindTexture in sipQtOpenGLQGLContext.o
   "QGLPixelBuffer::bindTexture(QImage const&, unsigned int)",  
referenced from:
       _meth_QGLPixelBuffer_bindTexture in sipQtOpenGLQGLPixelBuffer.o
   "QGLFramebufferObject::QGLFramebufferObject(int, int,  
QGLFramebufferObject::Attachment, unsigned int, unsigned int)",  
referenced from:
       sipQGLFramebufferObject::sipQGLFramebufferObject(int, int,  
QGLFramebufferObject::Attachment, unsigned int, unsigned int)in  
sipQtOpenGLQGLFramebufferObject.o
   "QGLWidget::deleteTexture(unsigned int)", referenced from:
       _meth_QGLWidget_deleteTexture in sipQtOpenGLQGLWidget.o
   "QGLPixelBuffer::updateDynamicTexture(unsigned int) const",  
referenced from:
       _meth_QGLPixelBuffer_updateDynamicTexture in  
sipQtOpenGLQGLPixelBuffer.o
   "QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned  
int)", referenced from:
       sipQGLFramebufferObject::sipQGLFramebufferObject(int, int,  
unsigned int)in sipQtOpenGLQGLFramebufferObject.o
   "QGLWidget::bindTexture(QPixmap const&, unsigned int, int)",  
referenced from:
       _meth_QGLWidget_bindTexture in sipQtOpenGLQGLWidget.o
   "QGLFramebufferObject::QGLFramebufferObject(QSize const&, unsigned  
int)", referenced from:
       sipQGLFramebufferObject::sipQGLFramebufferObject(QSize const&,  
unsigned int)in sipQtOpenGLQGLFramebufferObject.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [QtOpenGL.so] Error 1

To make life more interesting, some of the OpenGL examples provided  
with QT don't compile in Xcode. For example the hellogl application  
does compile but the framebufferobject and framebufferobject2  
applications do not.


framebufferobject

Building target “framebufferobject” of project “framebufferobject”  
with configuration “Debug” — (1 error)
	    mkdir /Developer/Examples/Qt/opengl/framebufferobject/build/Debug/ 
framebufferobject.app/Contents/MacOS
     cd /Developer/Examples/Qt/opengl/framebufferobject
     /Developer/usr/bin/g++-4.0 -o /Developer/Examples/Qt/opengl/ 
framebufferobject/build/Debug/framebufferobject.app/Contents/MacOS/ 
framebufferobject -L/Developer/Examples/Qt/opengl/framebufferobject/ 
build/Debug -L/Library/Frameworks -L/System/Library/Frameworks -F/ 
Developer/Examples/Qt/opengl/framebufferobject/build/Debug -filelist / 
Developer/Examples/Qt/opengl/framebufferobject/build/ 
framebufferobject.build/Debug/framebufferobject.build/Objects-normal/ 
ppc/framebufferobject.LinkFileList -framework QtSvg -framework QtXml - 
framework QtOpenGL -framework QtGui -framework Carbon -framework  
AppKit -framework QtCore -framework ApplicationServices -framework  
OpenGL -framework AGL -arch ppc -headerpad_max_install_names -L/ 
Library/Frameworks -lz -lm -liconv
Undefined symbols:
   "QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned  
int)", referenced from:
       GLWidget::GLWidget(QWidget*)in glwidget.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
		  "QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned  
int)", referenced from:
		      GLWidget::GLWidget(QWidget*)in glwidget.o
		ld: symbol(s) not found
		collect2: ld returned 1 exit status
Build failed (1 error)


framebufferobject2

Building target “framebufferobject2” of project “framebufferobject2”  
with configuration “Debug” — (2 errors)
	    cd /Developer/Examples/Qt/opengl/framebufferobject2
     /Developer/usr/bin/g++-4.0 -o /Developer/Examples/Qt/opengl/ 
framebufferobject2/build/Debug/framebufferobject2.app/Contents/MacOS/ 
framebufferobject2 -L/Developer/Examples/Qt/opengl/framebufferobject2/ 
build/Debug -L/Library/Frameworks -L/System/Library/Frameworks -F/ 
Developer/Examples/Qt/opengl/framebufferobject2/build/Debug -filelist / 
Developer/Examples/Qt/opengl/framebufferobject2/build/ 
framebufferobject2.build/Debug/framebufferobject2.build/Objects-normal/ 
ppc/framebufferobject2.LinkFileList -framework QtOpenGL -framework  
QtGui -framework Carbon -framework AppKit -framework QtCore -framework  
ApplicationServices -framework OpenGL -framework AGL -arch ppc - 
headerpad_max_install_names -L/Library/Frameworks -lz -lm -liconv
Undefined symbols:
   "QGLWidget::bindTexture(QImage const&, unsigned int, int)",  
referenced from:
       GLWidget::initializeGL()      in glwidget.o
   "QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned  
int)", referenced from:
       GLWidget::GLWidget(QWidget*)in glwidget.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
		  "QGLWidget::bindTexture(QImage const&, unsigned int, int)",  
referenced from:
		      GLWidget::initializeGL()      in glwidget.o
		  "QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned  
int)", referenced from:
		      GLWidget::GLWidget(QWidget*)in glwidget.o
		ld: symbol(s) not found
		collect2: ld returned 1 exit status
Build failed (2 errors)


So I imagine I've found a problem with how QT has set up it's linker  
preferences, and being that I'm new to both QT and how OSX utilizes  
Frameworks I  thought I'd ask the experts, and see if there were any  
wise words that could be shared with me.

Cheers,
Brian


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20071128/71bca62a/attachment-0001.html


More information about the PyQt mailing list