[Ipe-discuss] Ipe 7 and Mac OS 10.6

Gwenaël Cléon gwenael.cleon at gmail.com
Wed Nov 11 17:41:15 CET 2009


Hello, and thanks for your advises.
I followed your instructions (except I compiled everything manually),  
I still have these error

I really don't understand what the problem is, what is not recognized.

Hope you could help me on this.

Thanks,

Gwenaël Cleon

(...)
Compiling image.cpp...
g++ -Wall -g -O2 -fPIC -I../../include -I/Library/Frameworks/ 
QtCore.framework/Versions/4/Headers -I/Library/Frameworks/ 
QtGui.framework/Versions/4/Headers  -c -o ../../../build/obj/ipelets/ 
image.o image.cpp
mkdir -p ../../../build/ipelets
g++  -dynamiclib  -o ../../../build/ipelets/image.so ../../../build/ 
obj/ipelets/image.o -L../../../build/lib -lipe -F/Library/Frameworks - 
L/Library/Frameworks -framework QtCore -framework ApplicationServices - 
framework QtGui -framework AppKit -framework Cocoa -lz -lm
Undefined symbols:
   "ipe::Page::append(ipe::TSelect, int, ipe::Object*)", referenced  
from:
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Cascade::findLayout() const", referenced from:
       ImageIpelet::computeRect()       in image.o
   "ipe::Bitmap::Bitmap(ipe::Bitmap const&)", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Buffer::Buffer(ipe::Buffer const&)", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
   "ipe::Bitmap::~Bitmap()", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Buffer::~Buffer()", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Vector::ZERO", referenced from:
       ImageIpelet::computeRect()       in image.o
   "ipe::Bitmap::Bitmap(int, int, ipe::Bitmap::TColorSpace, int,  
ipe::Buffer, ipe::Bitmap::TFilter, bool)", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Buffer::Buffer(int)", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
   "ipe::Buffer::Buffer(char const*, int)", referenced from:
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Image::Image(ipe::Rect const&, ipe::Bitmap)", referenced from:
       ImageIpelet::insertBitmap(QString)       in image.o
       ImageIpelet::insertJpeg(QString)       in image.o
   "ipe::Rect::Rect(ipe::Vector const&, ipe::Vector const&)",  
referenced from:
       ImageIpelet::computeRect()       in image.o
       ImageIpelet::computeRect()       in image.o
   "ipe::Ipelet::~Ipelet()", referenced from:
       ImageIpelet::~ImageIpelet()in image.o
       ImageIpelet::~ImageIpelet()in image.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [../../../build/ipelets/image.so] Error 1
make: *** [ipelets/image] Error 2

Le 11 nov. 2009 à 15:41, Marc Scherfenberg a écrit :

> Hi,
>
> It seems there are some modifications necessary in order to get Ipe  
> 7 compiled on the current Mac OS 10.6.
> So maybe there are some people interested in how it worked for me.
>
> Needed libraries:
> - QT:  I installed QT 4.6 cocoa binaries (these are 64 bit only, so  
> everything needs to be compiled in 64 bit, QT does currently not  
> compile under MacPorts)
> - freetype and cairo: I installed it via MacPorts, this is  
> convenient and automatically compiled under 64 bit.
> - lua: compiled source manually, as the MacPorts directory structure  
> of lua is different from what ipe expects. Add  '-arch x86_64' to  
> the CFLAGS in the makefile.
>
> Furthermore, we need to modify common.mak and config.mak:
> common.mak:	
> 	- delete the '-s' in 'INSTALL_PROGRAMS = install -s -m 0755' (this  
> prevents a faulty stripping)
> config.mak:		
> 	- add a line 'CONFIG += x86_64' (thanks to Zach Teitler)
> 	- Qt does not install pkg-config-files under mac os any more, which  
> are used by the compilation process of Ipe. The same holds for lua.   
> So we need to set the needed flags manually:
> 	  QT_CFLAGS	=-I/Library/Frameworks/QtCore.framework/Versions/4/ 
> Headers -I/Library/Frameworks/QtGui.framework/Versions/4/Headers
> 	  QT_LIBS		=-F/Library/Frameworks -L/Library/Frameworks -framework  
> QtCore -framework ApplicationServices -framework QtGui -framework  
> AppKit -framework Cocoa -lz -lm
> 	  LUA_CFLAGS    = -L/usr/local/include
> 	  LUA_LIBS      	= -L/usr/local/lib -llua -lm
>
> I am not sure whether the modified compilation flags are set  
> optimally, however this way it works on my Mac.
>
> Good luck!
> Marc Scherfenberg_______________________________________________
> Ipe-discuss mailing list
> Ipe-discuss at cs.uu.nl
> https://mail.cs.uu.nl/mailman/listinfo/ipe-discuss




More information about the Ipe-discuss mailing list