Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't compile on Ubuntu 14.04 #2

Closed
sliwowitz opened this issue Jul 25, 2015 · 4 comments
Closed

Can't compile on Ubuntu 14.04 #2

sliwowitz opened this issue Jul 25, 2015 · 4 comments

Comments

@sliwowitz
Copy link

Hi, I'm trying to compile on Ubuntu 14.04LTS, but I get this error:

strazce@doom:~/hacking/rkrlv2/build$ make
[ 1%] Building CXX object lv2/CMakeFiles/rkrlv2.dir/rkrlv2.C.o
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C: In function ‘void run_revtronlv2(LV2_Handle, uint32_t)’:
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3037:78: error: ‘lv2_atom_forge_object’ was not declared in this scope
lv2_atom_forge_object( &plug->forge, &frame, 0, plug->URIDs.patch_Set);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3039:68: error: ‘lv2_atom_forge_key’ was not declared in this scope
lv2_atom_forge_key(&plug->forge, plug->URIDs.patch_property);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3074:86: error: ‘lv2_atom_forge_object’ was not declared in this scope
lv2_atom_forge_object( &plug->forge, &frame, 0, plug->URIDs.patch_Set);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3076:73: error: ‘lv2_atom_forge_key’ was not declared in this scope
lv2_atom_forge_key(&plug->forge, plug->URIDs.patch_property);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C: In function ‘void run_echotronlv2(LV2_Handle, uint32_t)’:
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3312:78: error: ‘lv2_atom_forge_object’ was not declared in this scope
lv2_atom_forge_object( &plug->forge, &frame, 0, plug->URIDs.patch_Set);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3314:68: error: ‘lv2_atom_forge_key’ was not declared in this scope
lv2_atom_forge_key(&plug->forge, plug->URIDs.patch_property);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3349:86: error: ‘lv2_atom_forge_object’ was not declared in this scope
lv2_atom_forge_object( &plug->forge, &frame, 0, plug->URIDs.patch_Set);
^
/home/strazce/hacking/rkrlv2/lv2/rkrlv2.C:3351:73: error: ‘lv2_atom_forge_key’ was not declared in this scope
lv2_atom_forge_key(&plug->forge, plug->URIDs.patch_property);
^
make[2]: *** [lv2/CMakeFiles/rkrlv2.dir/rkrlv2.C.o] Error 1
make[1]: *** [lv2/CMakeFiles/rkrlv2.dir/all] Error 2
make: *** [all] Error 2

The system LV2 is version 1.8.0, I don't see these functions declared in the installed headers, and I'm not sure that using some newer LV2 package wouldn't break other stuff I have installed.

Any tips on what to do with that?

@ssj71
Copy link
Owner

ssj71 commented Jul 26, 2015

Hmm. Looks like its not finding your lv2 install. Do you have the package lv2-dev installed? That would have the necessary headers to compile. I'm on a ubuntu 14.04 system as well but its working fine here.

@sliwowitz
Copy link
Author

Yes, lv2-dev was installed, but I didn't see for example "lv2_atom_forge_key" declared in the headers (forge.h). I "solved" that yesterday by upgrading to Ubuntu 15.04 - it works fine there. To reproduce the problem, I installed a 14.04 virtual machine.

Ubuntu 14.04:

strazce@strazce-VirtualBox:~$ apt-show-versions lv2-dev
lv2-dev:amd64/trusty 1.8.0~dfsg0-1 uptodate

Looking for one of the missing symbols yields no result here:

strazce@strazce-VirtualBox:~$ grep lv2_atom_forge_key /usr/include/lv2/lv2plug.in/ns/ext/atom/*
strazce@strazce-VirtualBox:~$

rkrlv2 compilation fails with the error mentioned in the first post.

Ubuntu 15.04:

strazce@doom:~$ apt-show-versions lv2-dev
lv2-dev:amd64/vivid 1.10.0~dfsg1-1 uptodate
lv2-dev:i386 not installed

The function which was missing in 14.04 is declared in forge.h:

strazce@doom:~$ grep lv2_atom_forge_key /usr/include/lv2/lv2plug.in/ns/ext/atom/forge.h 
   lv2_atom_forge_key(forge, eg_name);
lv2_atom_forge_key(LV2_Atom_Forge* forge,
   use the simpler lv2_atom_forge_key() instead.

rkrlv2 compiles fine here.

Are you using the stock lv2-dev package from the 14.04 repos?

@ssj71
Copy link
Owner

ssj71 commented Jul 26, 2015

My package must be coming from the kxstudio ppa. I highly recommend using
them if you are going to do audio work. You can find instructions about how
to install them at the kxstudio site
http://kxstudio.linuxaudio.org/Documentation:Repository:Upgrade I always
skip step 3 and only install the audio and plugin meta packages in step 4.
That repo stays very current without ever breaking official Ubuntu
compatability.
On Jul 26, 2015 4:42 AM, "sliwowitz" notifications@github.com wrote:

Yes, lv2-dev was installed, but I didn't see for example
"lv2_atom_forge_key" declared in the headers (forge.h). I "solved" that
yesterday by upgrading to Ubuntu 15.04 - it works fine there. To reproduce
the problem, I installed a 14.04 virtual machine.
Ubuntu 14.04:

strazce@strazce-VirtualBox:$ apt-show-versions lv2-dev
lv2-dev:amd64/trusty 1.8.0
dfsg0-1 uptodate

Looking for one of the missing symbols yields no result here:

strazce@strazce-VirtualBox:$ grep lv2_atom_forge_key /usr/include/lv2/lv2plug.in/ns/ext/atom/*
strazce@strazce-VirtualBox:
$

rkrlv2 compilation fails with the error mentioned in the first post.
Ubuntu 15.04:

strazce@doom:$ apt-show-versions lv2-dev
lv2-dev:amd64/vivid 1.10.0
dfsg1-1 uptodate
lv2-dev:i386 not installed

The function which was missing in 14.04 is declared in forge.h:

strazce@doom:~$ grep lv2_atom_forge_key /usr/include/lv2/lv2plug.in/ns/ext/atom/forge.h
lv2_atom_forge_key(forge, eg_name);
lv2_atom_forge_key(LV2_Atom_Forge* forge,
use the simpler lv2_atom_forge_key() instead.

rkrlv2 compiles fine here.

Are you using the stock lv2-dev package from the 14.04 repos?


Reply to this email directly or view it on GitHub
#2 (comment).

@ssj71
Copy link
Owner

ssj71 commented Jul 28, 2015

Ok. I ran through installation with a clean install of ubuntu. I needed to install cmake, g++, lv2-dev, libsamplerate0-dev, and libfftw3-dev. It does appear that lv2-dev in 14.04 is too old (1.8.0). I'll update the cmake project to issue an error if lv2-dev is less than 1.10.0.

To work around it I first recommend installing the kxstudio ppas. There is no reason not to. It is a trusted source and the de-facto standard place for music apps on debian and ubuntu systems.
Barring that you can manually install only the more up to date lv2-dev package from kxstudio with the following commands:

wget https://launchpad.net/~kxstudio-debian/+archive/ubuntu/libs/+files/lv2-dev_1.12.0-2kxstudio4_i386.deb
sudo dpkg --install lv2-dev_1.12.0-2kxstudio4_i386.deb

If you are a 64 bit system substitute amd64 in the place of i386 in the above commands. Once you have done this you can make the rkrlv2 plugins successfully in ubuntu 14.04.

Thanks for the report!

@ssj71 ssj71 closed this as completed in 8d94eae Jul 28, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants