Orange Forum • View topic - Orange on OS X

Orange on OS X

A place to ask questions about methods in Orange and how they are used and other general support.

Orange on OS X

Postby emarsi » Fri Feb 23, 2007 10:22

Hi,

I understood from previous messages on the forum that mac support is currently broken. Too bad. I agree with previous posts that orange is very useful and that I would really like to use it on my mac as well.

Just to give it a try, I downloaded the recent Linux snapshot orange-linux-snap-2007-02-21.tgz. It seems to compile fine with both gcc 3.3 and 4.0.1 at OS X 10.4.8 (G4 PPC). The problem is linking. The trailing slashes look suspicious (e.g. "c2py.o/") Any ideas?

-- Erwin

BTW I only tried compiling the non-gui stuff, ignoring the gui aspect depending on QT for the moment.



Code: Select all
$ python setup.py compile
NOTE: Python Qt not installed, OrangeCanvas and OrangeWidgets will not work.
You can get it at: http://www.riverbankcomputing.co.uk/pyqt/index.php
Sipconfig not found, Qt version could not be found!
PyQwt not installed!
You can get it at: http://pyqwt.sourceforge.net/
Can not determine GCC version!
Orange specific data installation
running compile
Default compiler options are taken...
/usr/bin/libtool: file: -lorange_include(/) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(//) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(c2py.o/) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(common.o/) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(crc32.o/) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(lcomb.o/) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(stat.o/) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(/0) is not an object file (not allowed in a library)
/usr/bin/libtool: file: -lorange_include(strings.o/) is not an object file (not allowed in a library)
make[1]: *** [../../orange.so] Error 1
make: *** [all] Error 1

Postby Janez » Fri Feb 23, 2007 13:23

We are working on it. We also have a problem with linking, but a different one. If a template class is defined in a header which is included in multiple files, we get duplicate symbols. The problem seems to be mac-specific, the same version of gcc (4.0) works OK on Fedora. Linux .o files can have weakly defined symbols which are, when they appear in multiple files, merged into a single symbol. Mac seems not to know about that and complains about duplicates.

Does anybody know an elegant way to solve this on Mac?

icc (Intel C++ Compiler)

Postby shingo » Wed Mar 21, 2007 13:43

I succeeded in compiling Orange on MacOS10.4.9 by using icc as LINKER. I also modified source/makefile.defs as below.

#LINKOPTIONS = -arch i386 -arch ppc -dynamiclib -F$(BUNDLE_FRAMEWORK) -framework Python -lstdc++ -L$(OLD) -lorange_include
LINKOPTIONS = -dynamiclib -F$(BUNDLE_FRAMEWORK) -framework Python -lstdc++ -L$(OLD) -lorange_include -O0
#Linker = g++
LINKER = icc

icc doesn't know -arch option and -O0 means no optimization.
Default -O option of g++ is -O0, I'm not sure why g++ doesn't work correctly.

Orange for OSX

Postby blewin9234 » Tue Apr 17, 2007 1:44

Is there any way you can send the compiled modules to the developers at Orange so they can package it up?

Postby Mitar » Mon Apr 23, 2007 3:39

I have just made a Mac OS X bundle with the freshest Orange. You can find it under snapshots on Download page.

Please report any problems.

Orange for OS X

Postby blewin9234 » Sat May 19, 2007 23:30

Thank you! I'm downloading it now and will give it a try over the next few days.


Return to Questions & Support