Description of problem: There needs to be a reference in the package config file to the architecture-specific directory; i.e., /usr/include/x86_64-linux on 64bit systsems. When trying to build using cmake, for example, the discovery portion only finds the reference to /usr/include. However, there are header files in /usr/include/x86_64-linux that are necessary but which are not being pointed to by the config file. Version-Release number of selected component (if applicable): mcpierce@mcpierce-laptop:~ $ rpm -q ruby-devel ruby-devel-1.9.3.194-10.1.fc17.x86_64 How reproducible: 100% Steps to Reproduce: 1. Create a cmake project that depends on Ruby. 2. Use the cmake command to generate Makefiles. 3. Use make to build. Actual results: The following results, which are due to pkgconfig not telling cmake about the platform-specific header location: Scanning dependencies of target cqpid_ruby [ 93%] Building CXX object bindings/qpid/ruby/CMakeFiles/cqpid_ruby.dir/rubyRUBY_wrap.o In file included from /usr/include/ruby.h:32:0, from /home/mcpierce/Programming/Qpid/cmake/bindings/qpid/ruby/rubyRUBY_wrap.cxx:856: /usr/include/ruby/ruby.h:24:25: fatal error: ruby/config.h: No such file or directory compilation terminated. make[2]: *** [bindings/qpid/ruby/CMakeFiles/cqpid_ruby.dir/rubyRUBY_wrap.o] Error 1 make[1]: *** [bindings/qpid/ruby/CMakeFiles/cqpid_ruby.dir/all] Error 2 make: *** [all] Error 2 Expected results: Compilation to complete successfully. Additional info:
*** Bug 830235 has been marked as a duplicate of this bug. ***
Hi Daryl, Would you mind to open upstream bug regarding this issue? It shouldn't be a big deal, since it should be just a simple extension of [1] Vit [1] https://github.com/ruby/ruby/blob/trunk/template/ruby.pc.in
Turns out the problem was not with Ruby's pkgconfig settings but in our CMakeList.txt file. We had a type (RUBY_INCLUDE_DIR instead of RUBY_INCLUDE_DIRS) and weren't using the include_directories($RUBY_INCLUDE_DIRS) directive but instead were explicitly writing the commandline out.