07 64 bit build ?

anyone have luck building 07 in lion to 64 bit ? generally i don’t like changing many build settings with of unless it is necessary. 07 for me doesn’t like 64 bit or architecture changes etc… ?

From posts around here, my impression is that the version of Quicktime OF uses won’t do 64bit, so OF is tied to 32 until we upgrade the QT API.

this is the explanation i keep hearing as well, but i don’t really understand why – cinder (for example) links against quicktime when building 64-bit apps, so there must be something else going on.

Interested in this as well. I took a look at the Cinder quickTimeSample and out of the box those seem to be running at 32 bit (according to Activity Monitor). Admittedly I didn’t compile boost with 64 bit support as mentioned on this page. http://libcinder.org/docs/v0.8.3/-cinder-boost.html (edit: went back and did this, same result)

Switching the architectures on the quickTimeSample project to 64-bit intel caused errors

‘qtime’ has not been declared

switching back to 32-bit intel architecture allowed it to run

Found this in a search - interesting comment by Andrew about being little benefit of 64 bit (granted this is 11/10)

http://forum.libcinder.org/topic/os-x-10-6-screen-saver-errors

aha, it’s more subtle than i thought. i hadn’t actually tried to build 64-bit cinder i just assumed it worked – but it looks like (at least this time last year) it was still having issues because of quicktime.

Getting around 64bit in quicktime comes down to finding a happy way to embrace QTKit but I haven’t seen anyone do that yet and I’m not sure how it would happen really. There’s some details here: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/6

Other than QT, I think everything in OF (and Cinder for that matter) is 64-bit ready, but like Jason mentioned, I don’t think that it’s super urgent for anyone.

Has anyone been able to get OF as 32/64 bit? I am trying to use the new screen saver lib for osx and it requires the project to be built as 32 / 64 bit.

Can I remove Quicktime if that is causing problems?

It shouldn’t be super hard to remove quicktime if you’re not actually using it at all. In ofMain.h I just commented out

  
// video  
#include "ofVideoGrabber.h"  
#include "ofVideoPlayer.h"  
  

and then removed the quicktime framework and everything still works fine.

Hi Joshua,

Thank you for the quick response. I have removed qtime and cairo from OF and rebuilt the lib successfully. I get plenty of errors when trying to compile emptyExample with x86_64 arch. One of the first being the following:

  
warning: ld: warning: in ../../../libs/glew/lib/osx/glew.a, file was built for unsupported file format   
which is not the architecture being linked (x86_64)  
  
error: "_glewInit", referenced from:  
ofSetupOpenGL(ofPtr<ofAppBaseWindow>, int, int, int)in openFrameworksDebug.a(ofAppRunner.o)  

It also says pretty much the same for tess2, poco, libfmodex, rtAudio and GLUT :confused:
Would I have to rebuild all of the libs?

You would yes, but at least they’re all x86_64 bit compatible, unlike quicktime :slight_smile: To be honest, I haven’t given that a try yet, but I think all the libraries come with makefiles that should make it fairly easy.

I’d love to see 64 bit support on mac. It would make development way easier, since configure scripts, macports etc all build 64 bit by default. Is quicktime really the only lib that’s not compatible?! Maybe it’s time to replace it with https://github.com/Flightphase/ofxQTKitVideoGrabber? just thinking ahead of myself…

I believe so, though I could be wrong, maybe Arturo/Theo knows something I don’t. It would definitely increase the size of the repo and downloads, but I agree that it would be really nice. Maybe the downloads could be split out into 32 vs 64. I could see how that might be a bit complicated for noobs, but it would be worth I think.

Unfortunately yes.
Basically as things stand switching away from Quicktime API to QTKit or AVFoundation ( new ) would result in a lot less features ( codecs / file support / capture options etc ).

There is some interesting info on the subject here:
http://lists.apple.com/archives/quicktime-api/2011/Jul/msg00043.html
http://lists.apple.com/archives/quicktime-api/2011/Jul/msg00028.html

We could probably start building 64bit versions of the other libraries however, so to make things easier for people who don’t mind dropping QT for 64bit support.

I was thinking our Github was feeling like it could use some more heavy binaries.
:slight_smile:

I have compiled several of the compiled libs to FAT i386 and x86_64, but I have had trouble with the tess2 lib.
With the download, there is no make file, only an xcode project that requires the SDL lib and with an app as a target. :confused: http://code.google.com/p/libtess2/source/checkout
I am rather new to compiling libs, so I am at a loss, any tips?

Also, is this the rtAduio lib? http://www.music.mcgill.ca/~gary/rtaudio/index.html

Thanks for the help!

This will compile tess. I’m terrible at makefiles so I’m not sure how to make GCC compile in 64 bit, but I’m guessing it’s just a simple flag like -m64 (which works but then ar freaks).

  
CC=gcc  
CFLAGS=-I./Include  
LIB=libtess.a  
LIBDEST=./  
  
LIBSRC=Source/bucketalloc.c Source/dict.c Source/geom.c Source/mesh.c Source/priorityq.c Source/sweep.c Source/tess.c Include/tesselator.h  
  
LIBOBJ=$(LIBSRC:.c=.o)  
  
install: $(LIB)  
	@echo lib Makefile - installing $(LIB)  
	@install -m 444 $(LIB) $(LIBDEST)  
  
$(LIB): $(LIBOBJ)  
	@echo lib Makefile - archiving $(LIB)  
	@$(AR) r $(LIB) $(LIBOBJ)  
  
.c.o:  
	@echo lib Makefile - compiling $<  
	@$(CC) $(CFLAGS) -c $< -o $@  

Hey

Just spent the morning compiling the libs, here is a basic vanilla oF 64 bit, no addons yet, will get to work on opencv!
https://github.com/mazbox/of64

Had to remove fmod as I couldn’t find a 64 bit dylib and cairo I couldn’t figure out so I just removed it. It’s a rats nest of hacks, be warned!

Apparently to get the 64 bit lib you download & install the fmod Programmers API and then get the x86_64 lib by doing:

  
lipo -thin x86_64 libfmodex.dylib -output libfmodex_x86_64.dylib  

I think just modding the linker flags would link to that you’d be golden.

Cheers!

Done. Stripped out relevant bits of fmod, not done in the linker setings. So all it’s missing is Cairo (and of course quicktime - although I won’t miss it in favour of the QTKit addons).

https://github.com/mazbox/of64

I’ve also put in a screensaver example, only tested it on my laptop in Lion, but I reckon it’s a goer.

When I’m free this afternoon I’m going to take a stab at this since the macports version apparently is having some trouble w/64bit: http://cairographics.org/end-to-end-build-for-mac-os-x/

That should allow 64 bit and then we just need QTKit

Sweet!!

Got ofxQTKitVideoGrabber working in screensaver, had to comment out some code as it has a few legacy Quicktime things to help configure the camera and sound input. It’s in the repo.