Csound Csound-dev Csound-tekno Search About

[Cs-dev] Problems with compiling opcode for 64-bit on Mac

Date2013-05-22 15:40
Fromlars eri
Subject[Cs-dev] Problems with compiling opcode for 64-bit on Mac
AttachmentsNone  None  
Hi,

I'm trying to compile an opcode for Mac, using Xcode. So far I've been able to compile it for the 32-bit version, but unable to get it working with the 64-bit version. As far as I can understand, all I would have to do is add USE_DOUBLE as a preprocessor macro (which I do in Build settings->Preprocessor Macros->Release), but it still doesn't work when I try running it in the terminal with csound64. Check my last post in this thread for a screenshot:

The  error I get is basically "expecting T_OPCODE", which is the error one gets when a .dylib file is not found. The .dylib is in "/Library/Frameworks/CsoundLib64.framework/Versions/5.2/Resources/Opcodes64". What could I be doing wrong?

Best regards,

Lars

Date2013-05-22 15:50
Fromjpff@cs.bath.ac.uk
SubjectRe: [Cs-dev] Problems with compiling opcode for 64-bit on Mac
Are you confusiong 64bit operating system with doubles (64bit) floating
point?

USE_DOUBLE refers to the latter

> Hi,
> I'm trying to compile an opcode for Mac, using Xcode. So far I've been
> able to compile it for the 32-bit version, but unable to get it working
> with the 64-bit version. As far as I can understand, all I would have to
> do is add USE_DOUBLE as a preprocessor macro (which I do in Build
> settings->Preprocessor Macros->Release), but it still doesn't work when I
> try running it in the terminal with csound64. Check my last post in this
> thread for a
> screenshot:http://thecabbagefoundation.org/viewtopic.php?f=7&t=341&start=20
> The  error I get is basically "expecting T_OPCODE", which is the error one
> gets when a .dylib file is not found. The .dylib is in
> "/Library/Frameworks/CsoundLib64.framework/Versions/5.2/Resources/Opcodes64".
> What could I be doing wrong?
> Best regards,
> Lars
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring
> service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt!
> http://p.sf.net/sfu/newrelic_d2d_may_______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
>



------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-22 16:03
FromRory Walsh
SubjectRe: [Cs-dev] Problems with compiling opcode for 64-bit on Mac
I don't think that's the confusion here. Lars has added the USE_DOUBLE
preprocessor directive to the build settings, but for some reason the
generated .dylib is not seen by Csound(doubles). Without the
USE_DOUBLE, Csound(floats) finds the opcode without any problems.

Lars, what happens when you place the doubles version of your opcode
in the Csound32 frameworks folder. If it's seen by Csound32 then it's
clear the USE_DOUBLE is not making any difference. If you get an
"expecting T_OPCODE" error in this instance, then at least you know
it's building for doubles.

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2013-05-22 16:06
FromBen Hackbarth
SubjectRe: [Cs-dev] Problems with compiling opcode for 64-bit on Mac
AttachmentsNone  None  
hi lars,

are you using cs5 or cs6?  iirc, you should get a warning message from csound if there is a dylib in your opcodes dir that fails to load properly.  are you getting any error/warning messages prior to "expecting T_OPCODE"?

i don't use xcode, but, if i understand your post correctly, i would think that you would want to change your compiler -arch flag from i386 to x86_64.

here is the command i use to build 64 bit opcodes on osx 10.7 with gcc 4.2:

gcc-4.2 -arch x86_64 -bundle -I/Library/Frameworks/CsoundLib64.framework/Versions/5.2/Headers/ pvsfreqwarp.c -o pvsfreqwarp.dylib

--  ben


On Wed, May 22, 2013 at 4:50 PM, <jpff@cs.bath.ac.uk> wrote:
Are you confusiong 64bit operating system with doubles (64bit) floating
point?

USE_DOUBLE refers to the latter

> Hi,
> I'm trying to compile an opcode for Mac, using Xcode. So far I've been
> able to compile it for the 32-bit version, but unable to get it working
> with the 64-bit version. As far as I can understand, all I would have to
> do is add USE_DOUBLE as a preprocessor macro (which I do in Build
> settings->Preprocessor Macros->Release), but it still doesn't work when I
> try running it in the terminal with csound64. Check my last post in this
> thread for a
> screenshot:http://thecabbagefoundation.org/viewtopic.php?f=7&t=341&start=20
> The  error I get is basically "expecting T_OPCODE", which is the error one
> gets when a .dylib file is not found. The .dylib is in
> "/Library/Frameworks/CsoundLib64.framework/Versions/5.2/Resources/Opcodes64".
> What could I be doing wrong?
> Best regards,
> Lars
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring
> service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt!
> http://p.sf.net/sfu/newrelic_d2d_may_______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
>



------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel


Date2013-05-22 16:34
FromSteven Yi
SubjectRe: [Cs-dev] Problems with compiling opcode for 64-bit on Mac
Could you do:

otool -L your.dylib

as well as:

file your.dylib

and post the results here?


Also, are you building Debug builds? It doesn't look like you're
setting USE_DOUBLE for debug.

On Wed, May 22, 2013 at 4:03 PM, Rory Walsh  wrote:
> I don't think that's the confusion here. Lars has added the USE_DOUBLE
> preprocessor directive to the build settings, but for some reason the
> generated .dylib is not seen by Csound(doubles). Without the
> USE_DOUBLE, Csound(floats) finds the opcode without any problems.
>
> Lars, what happens when you place the doubles version of your opcode
> in the Csound32 frameworks folder. If it's seen by Csound32 then it's
> clear the USE_DOUBLE is not making any difference. If you get an
> "expecting T_OPCODE" error in this instance, then at least you know
> it's building for doubles.
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net