Hi,
I just pulled master head (2db8f6b6ea41a0ad4bd4cc6dcc2bdae404571c78)and tried to compile, unfortunately it fails:
In file included from /hydrogen/src/core/src/fx/effects.cpp:36:0:
/usr/include/lrdf.h:8:20: fatal error: raptor.h: No such file or directory
compilation terminated.
src/core/CMakeFiles/hydrogen-core-0.9.7.dir/build.make:638: recipe for target 'src/core/CMakeFiles/hydrogen-core-0.9.7.dir/src/fx/effects.cpp.o' failed
make[2]: **\* [src/core/CMakeFiles/hydrogen-core-0.9.7.dir/src/fx/effects.cpp.o] Error 1
make[2]: **\* Waiting for unfinished jobs....
CMakeFiles/Makefile2:181: recipe for target 'src/core/CMakeFiles/hydrogen-core-0.9.7.dir/all' failed
make[1]: **\* [src/core/CMakeFiles/hydrogen-core-0.9.7.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: **\* [all] Error 2
I found a closed issue #194 which more or less describes the same problem, so theoretically it should be fixed, but somehow it still fails here.
I do have raptor2 installed (raptor2-devel-2.0.15-4.fc23.x86_64):
$ pkg-config raptor2 --cflags
-I/usr/include/raptor2
If it was autotools I'd probably come up with a pull request, but I'm not friends with cmake, so I hope you can help me :)
Kind regards,
Jin
I had this happen on my Gentoo system, I worked around by creating a symlink /usr/include/raptor.h -> /usr/include/raptor2/raptor.h
I've been meaning to look into a proper fix (so this report is a good reminder!), but that symlink should let you compile fine.
Paul
Mhmm.. usually I'd pass some CFLAGS/CXXFLAGS from command line (which I tried and failed, but not sure if cmake looks at it at all), linking around on the rootfs is quite ugly, but thanks for the hint. And it fails anyway:
/usr/include/raptor.h:1:21: fatal error: raptor2.h: No such file or directory
It's really required to pass the-I statement correctly, I would not want to link all contents of the raptor2 subdirectory to /usr/include just because I can't set the CFLAGS/CXXFLAGS... did I mention that I really hate cmake? :)
Ha - yeah, I agree that making the symlink(s) is pretty ugly.... that actually makes me really glad that you raised this issue, since I had completely forgotten that I did that!
I'll work on a proper fix today. In the meantime, I checked and I had created two symlinks in /usr/include, one for raptor.h and one for raptor2.h
Jin - try changing line 222 of CMakeLists.txt to:
include_directories(${PC_LRDF_INCLUDE_DIRS}) # see github issue 194 & 342
This change worked indeed, it compiled now, thank you!
Good to hear.
I'll submit a pull request for this soon.
@trebmuh @thijz @mauser
Can someone test this on different platforms?
I've had to make this change for a long time (very long time, actually!) locally to compile.
For reference, the change is just to CMakefiles.txt and can be viewed here: https://github.com/pvint/hydrogen/commit/d2b9e1cd940434ed9e28c76f8943ea91154710b8
I'm not 100% certain of the ramifications to making this change on other systems and OSes.
Thanks!
Paul
@pvint: I'm building it right now. Should be done in 15 mins or so. So far, I just changed the line 222 CMakeLists.txt (mentionned above) to:
include_directories(${PC_LRDF_INCLUDE_DIRS}) # see github issue 194 & 342
but I can see there is another modification on your commit : https://github.com/pvint/hydrogen/commit/d2b9e1cd940434ed9e28c76f8943ea91154710b8
FIND_HELPER(RAPTOR raptor2 raptor.h raptor)
is that one needed as well ?
Anyway, I'll get back to you after the build is finished and after I'll play a bit with the LADSPA (since IIRC the LRDF stuff is related to handling LADSPA).
OK, it builds fine for me (Debian Jessie system) with only the first line changed to:
include_directories(${PC_LRDF_INCLUDE_DIRS}) # see github issue 194 & 342
I've been playing a bit with some LADSPA in the mixer, everything runs smoothly.
@pvint , tell me if you would need an other try for something.
I just made this one line change and it worked for me.
I'm running Arch Linux and used the hydrogen-git AUR package.
Finally got around to doing a pull request for this - see #395
Thanks for all the feedback @kalitara @jin-eld and @trebmuh
I have changed the way this has been resolved, so any testing appreciated - see pull req #395
Thanks!
Paul
@pvint : fresh rebuild from https://github.com/hydrogen-music/hydrogen/commit/a913102650f107c75f3bc5459dedc1ac229dce47 + https://github.com/hydrogen-music/hydrogen/pull/360.patch + https://github.com/hydrogen-music/hydrogen/pull/338.patch + https://github.com/hydrogen-music/hydrogen/pull/395.patch and it compile fine here on a up-to-date Debian Jessie.
If I'm not wrong (please tell me if I would be), the LRDF stuff is about the LADSPA support, so I tried to load and use one LADSPA plugin in the mixer, and it seems to be working as expected.
Hope that helps.
@pvint : ping :) Am I wrong there or not ?
@trebmuh AFAIK the LRDF is indeed just for LADSPA stuff..... although I haven't actually verified, but I believe that you are correct. :)
Error still occurs on latest try to compile Hydrogen under Debian 9 (stretch)
/usr/local/include/lrdf.h:8:20: fatal error: raptor.h: No such file or directory
compilation terminated.
make: *** [all] Error 2
Btw: I would recommend to change the title since this issue is obviously NOT Fedora specific.
I had to do:
sudo ln -s /usr/include/raptor2/raptor.h /usr/local/include/raptor.h
sudo ln -s /usr/include/raptor2/raptor2.h /usr/local/include/raptor2.h
Since /usr/local/include/lrdf.h had an include call to raptor.h in the same path in line 8 and raptor.h itself had a call to raptor2.h in the same path too.
Just to add some context since the last reply also reported an error. Even when this occurs:
/usr/local/include/lrdf.h:8:20: fatal error: raptor.h: No such file or directory
It doesn't mean there is anything wrong with that header file lrdf.h. What's usually wrong is the c/c++ build call for the object that includes the header, and that's where the build toolchain comes into play, in this case CMake + pkg-config. If you ask pkg-config:
pkg-config --cflags --libs lrdf
It will give you:
-I/usr/include/raptor2 -llrdf
Nevertheless I will repeat the old wise warning: do _not_ symlink as a solution!
Note: LRDF is indeed for LADSPA, in particular it is an RDF [1] library for parsing RDF (metadata) from LADSPA plug-ins. Not to be confused with the complete RDF suite librdf/Redland. [2]
[1] https://en.wikipedia.org/wiki/Resource_Description_Framework
[2] http://librdf.org/
I'm currently having this issue on Gentoo. Here is the ebuild I'm working with: https://github.com/audiodef/gentoostudio/tree/master/media-sound/hydrogen
@audiodef Which sources are you using? 0.9.7 or git master branch?
If 0.9.7: Have you tried to adopt the fix for #508 ?
@mauser I was using 0.9.7, but I just successfully compiled from git master. I'm going to recommend that official Gentoo use the 9999 ebuild I'm providing. (You guys are using Travis CI, right?)