« Return to Thread: PyRTCmix on github

Re: Building RTcmix on OSX 10.6

by Douglas Scott-2 :: Rate this Message:

| View in Thread

The two problems are completely separate.

32 bit build problem:  The Makefile for libdenoise.so is missing the linker flags that are necessary to
get it to link in 32-bit mode.  Look in that file at the line which does the final link.  Compare it to
a Makefile for any other .so file and see what is not being included as a flag.


64-bit problem:

Odd that the latest code would fail under SnowLeopard but build without any warnings under Lion.

I have no way to "go back" to check that.  John, can you look at what I am casting from char * to int??
That does not seem right at all!  I cannot access the code till tonight -- you could just email me the
source code lines that are being complained about below (perhaps with a bit of context around them)?

-Doug


-----Original Message-----
From: Yuri Spitsyn <yvs2b@...>
To: A discussion list for RTcmix <rtcmix-discuss@...>
Sent: Wed, Oct 5, 2011 11:02 am
Subject: [RTcmix-discuss] Building RTcmix on OSX 10.6


Hi all,

I'm trying to build RTcmix under Snow Leopard for either 32 or 64 bit 
architecture.
So far neither has succeeded, but the reasons vary.

In 64-bit (standard architecture for OSX 10.6) the compilation fails in several 
modules e.g. OSXAudioDevice.cpp, MouseWindow.cpp, DisplayWindow.cpp...

In 32-bit the aforementioned cpp modules seem to do fine but the build fails 
anyway because the linker seems to ignore my LDFLAGS="-arch i386" instruction 
and tries to link 32-bit object files against 64 bit architecture. Which it 
obviously can't.

I would attach the full build logs but the message won't go through (I have 
tried that already).
So I will just provide the most relevant exerpts from both.

-------------------------------------------------------------------

           The 32-bit build:

--------A configure command--------
./configure --with-perl --with-python=/usr/local/bin/python-32 CFLAGS="-arch 
i386" CXXFLAGS="-arch i386" CPPFLAGS="-arch i386" LDFLAGS="-arch i386" 
--with-macosx-sdk="/Developer/SDKs/MacOSX10.5.sdk" --with-macosx-version-min=10.5

--------An exerpt from the log featuring one of the many linking points where 
the linker is expecting a 64-bit architecture--------
c++ -Wno-deprecated -bundle -flat_namespace -undefined suppress -o libdenoise.so 
denoise.o cfast.o cfsst.o cfr2tr.o cfr4tr.o cfr4syn.o cford1.o cford2.o  
-dylib_file /usr/lib/librtcmix.dylib:/Users/yuri/RTcmix/lib/librtcmix.dylib 
-L/Users/yuri/RTcmix/lib -lgen -framework CoreAudio
ld: warning: ignoring file denoise.o, file was built for i386 which is not the 
architecture being linked (x86_64)
ld: warning: ignoring file cfast.o, file was built for i386 which is not the 
architecture being linked (x86_64)

-------------------------------------------------------------------

           The 64-bit build:

--------A configure command--------
./configure --with-perl --with-python=/usr/local/bin/python

--------OSXAudioDevice errors--------
OSXAudioDevice.cpp: In constructor ‘OSXAudioDevice::OSXAudioDevice(const 
char*)’:
OSXAudioDevice.cpp:587: error: cast from ‘char*’ to ‘int’ loses precision
OSXAudioDevice.cpp:587: error: cast from ‘const char*’ to ‘int’ loses precision
OSXAudioDevice.cpp:597: error: cast from ‘char*’ to ‘int’ loses precision
OSXAudioDevice.cpp:597: error: cast from ‘char*’ to ‘int’ loses precision

--------MouseWindow errors (just some) (DisplayWindow produces exactly the same 
error set)--------
MouseWindow.cpp: In function ‘OSStatus doAppMouseMoved(OpaqueEventHandlerCallRef*, 
OpaqueEventRef*, void*)’:
MouseWindow.cpp:243: error: ‘SetThemeCursor’ was not declared in this scope
MouseWindow.cpp: In function ‘void drawXLabels()’:
MouseWindow.cpp:253: error: ‘GetPort’ was not declared in this scope
MouseWindow.cpp:254: error: ‘GetWindowPort’ was not declared in this scope
MouseWindow.cpp:254: error: ‘SetPort’ was not declared in this scope
MouseWindow.cpp:262: error: ‘EraseRect’ was not declared in this scope
MouseWindow.cpp:274: error: ‘CopyCStringToPascal’ was not declared in this scope

Any ideas?

Thanks,
Yuri Spitsyn
_______________________________________________
RTcmix-discuss mailing list
RTcmix-discuss@...
http://music.columbia.edu/mailman/listinfo/rtcmix-discuss

_______________________________________________
RTcmix-discuss mailing list
RTcmix-discuss@...
http://music.columbia.edu/mailman/listinfo/rtcmix-discuss

 « Return to Thread: PyRTCmix on github