Closed sliwowitz closed 9 years ago
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.
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.
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.
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?
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 https://github.com/ssj71/rkrlv2/issues/2#issuecomment-124968710.
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!
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?