Author Topic: Linux installation  (Read 3893 times)

soundfun

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Linux installation
« on: May 21, 2014, 09:25:02 PM »
Hi, I am not sure if you know, but your software is being mentioned at http://createdigitalmusic.com/2014/05/watch-bt-reveal-sound-design-tricks-free-geeky-cdp-learn/ and I think re-posted over at Synthopia, so good job! :)

I wanted to ask you about the Linux version of the command line tools. In the downloaded package there are two closed source object files: libcdp2k.a and libsfsys.a

Of course it is your prerogative to keep them closed, but they are compiled for a 64bit architecture, and as such I cannot compile the tools for my 32 bit Ubuntu machine.

I am quite excited to try these tools out, I was wondering if it would be possible to provide a 32bit version?

Many thanks for all your hard work.

rwdobson

  • Sr. Member
  • ****
  • Posts: 73
    • View Profile
Re: Linux installation
« Reply #1 on: May 21, 2014, 10:25:01 PM »
Hello, thanks for the BT info!

No worries, it is all LGPL, I just left the two library builds in situ (possibly not intentionally!), but each is simply the result of building respectively in the "cdp2k" and "sfsys" directories. It should all build without fuss on a 32bit Linux, but as my only linux system is 64bit (Suse), I can't absolutely guarantee it. But making it work on 64bit architectures is the new thing, hitherto it has only been built on 32bit architectures anyway. I am currently testing a "proper" build system using CMake, created by John Fitch, and will post a new source release in a few weeks (because I am away for one of them). It will all eventually find a home on (probably) github.


soundfun

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Linux installation
« Reply #2 on: May 22, 2014, 09:39:03 PM »
Thanks for the quick reply! I have done as you said and indeed I can compile those libraries. I still have a few compilation issues to work on (still messing around with the portaudio). Some programmes worked and I have already made some weird sounds.

As a strange little aside, before you responded, I thought I would try CDP under wine. The programmes I ran worked so that is also an option for another linux user who is less interested in busying themselves with compilation. :)

soundfun

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Linux installation
« Reply #3 on: May 22, 2014, 10:05:19 PM »
I hope you will not mind me spamming this topic with the steps that I needed to do to get everything working.

To get those 32 bit versions, I removed the .a files from the sub-directories, ran make -f Makefile.linux and then copied those the libfsys.a (etc.) files into the lib folder in the top of the folder hierarchy that is extracted from the downloaded CDP archive.

There is an old versions of portaudio in the /dev/externals/paprogs -- delete it or rename it, then extract the .tgz file. Now work in this folder (the instructions this, but just for clarity)

In order to compile portaudio (instructions found in: /dev/externals/paprogs/portaudio), I had to install the the alsa dev package to get ./configure to output Alsa = yes.

sudo apt-get install libasound2-dev

Will compile away -- as the instructions say: DON'T RUN -- make install, this may mess up audio on your system.

Go to the dev folder and run makeprograms.sh -- everything compiles happily.

Seems to have a problem with libportsf.a. I am going to try to recompile it to see if it is like the other .a files that were compiled for 64 bit architecture. Does not seem to compile. Returning:

portsf.o: In function `psf_sndCreate':
portsf.c:(.text+0x378f): undefined reference to `double_to_ieee_80'
portsf.c:(.text+0x3da2): undefined reference to `double_to_ieee_80'
portsf.o: In function `psf_sndOpen':
portsf.c:(.text+0x45d9): undefined reference to `ieee_80_to_double'
portsf.c:(.text+0x5129): undefined reference to `ieee_80_to_double'
collect2: error: ld returned 1 exit status
make: *** [portsf] Error 1

Will have to get some sleep. Will try to return to this tomorrow.



rwdobson

  • Sr. Member
  • ****
  • Posts: 73
    • View Profile
Re: Linux installation
« Reply #4 on: May 22, 2014, 10:47:23 PM »
The portsf build requires the file ieee80.c which is/should be in the portsf directory, and referenced in Makefile.linux. You may need to run make clean if I managed to leave some object files in the distribution. 

Good point about alsa dev; I will need to add that to the install instructions.

soundfun

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Linux installation
« Reply #5 on: May 26, 2014, 10:43:38 PM »
Thank you for the help. I will give this a try. I should also that most of the other tools were built, so I have been happily mangling sounds for the last couple of days. :)

sleestack

  • Sr. Member
  • ****
  • Posts: 84
    • View Profile
Re: Linux installation
« Reply #6 on: June 08, 2014, 07:49:45 PM »
forgive my novice question. to have this compiled in say ubuntu what can you do? Use CDP command line?

soundfun

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Linux installation
« Reply #7 on: June 09, 2014, 12:30:08 PM »
Hi sleestack. If I understand your question correctly, then yes, the result is a directory of command line tools that can be used to alter and mangle audio. :)

Like with OSX, one of the benefits of this is the ability to create sophisticated scripts to process sounds with a bunch of steps.