Version: unspecified (using Devel) OS: Linux [ 19%] Building CXX object src/CMakeFiles/krubypluginfactory.dir/krubypluginfactory.o Linking CXX shared module ../lib/krubypluginfactory.so CMakeFiles/krubypluginfactory.dir/krubypluginfactory.o: In function `kdemain': krubypluginfactory.cpp:(.text+0xbb4): undefined reference to `Init_prelude' CMakeFiles/krubypluginfactory.dir/krubypluginfactory.o: In function `KRubyPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&)': krubypluginfactory.cpp:(.text+0x1ec0): undefined reference to `Init_prelude' collect2: ld returned 1 exit status make[2]: *** [lib/krubypluginfactory.so] Error 1 make[1]: *** [src/CMakeFiles/krubypluginfactory.dir/all] Error 2 make: *** [all] Error 2 Reproducible: Always Steps to Reproduce: try to build it Actual Results: build fails Expected Results: build KDE 4.7.80 ruby 1.9.3_p0
The problem here is that the function Init_prelude is hidden in ruby 1.9.3. I tried searching for an explanation for this change, but I couldn't find it. It seems that to allow compilation with ruby 1.9.3, the only solution is not to call Init_prelude. However, I'm not sure what this function does. The only hint I found with google is that it is used to setup the path for gems, but I don't know whether it is also needed for something else. However, here's a link to a thread in the ruby forum discussing a workaround for this: http://www.ruby-forum.com/topic/2323190
Dear upstream, you can update the bug: http://quickgit.kde.org/?p=korundum.git&a=commit&h=118c19ba70eadb353a8f19e4c86f38099416919c