« Return to Thread: PyRTCmix on github

Re: Building RTcmix on OSX 10.6

by John Gibson :: Rate this Message:

| View in Thread

I don't get it about the missing linker flags...

WAVETABLE/Makefile:

lib$(NAME).so: $(OBJS) $(GENLIB)
   $(CXX) $(SHARED_LDFLAGS) -o $@ $(OBJS) $(GENLIB) $(SYSLIBS)


denoise Makefile:

lib$(NAME).so: $(UGENS_H) $(OBJS)
   $(CXX) $(SHARED_LDFLAGS) -o $@ $(OBJS) $(GENLIB) $(SYSLIBS)


J


On Oct 5, 2011, at 2:39 PM, Douglas Scott wrote:

> 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

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

 « Return to Thread: PyRTCmix on github