Issue #8115 has been updated by jstribny (Josef Stribny).



This doesn't seem to help.

I am still getting the following error with the generated Makefile[1]
```
+ ruby extconf.rb --vendor --with-mysql-config
checking for mysql_ssl_set()... yes
checking for rb_str_set_len()... yes
checking for rb_thread_start_timer()... no
checking for mysql.h... yes
extconf.rb:40:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
extconf.rb:40:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
creating Makefile
+ make -j4
gcc -I. -I/usr/include/x86_64-linux -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_MYSQL_SSL_SET -DHAVE_RB_STR_SET_LEN -DHAVE_MYSQL_H    -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC  -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1 -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -m64 -o mysql.o -c mysql.c
rm -f mysql.so
gcc -shared -o mysql.so mysql.o -L. -L/usr/lib64 -L. -Wl,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic  -m64  -lruby -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl  -lpthread -lrt -ldl -lcrypt -lm   -lc
+ exit 0
...
+ make install DESTDIR=/builddir/build/BUILDROOT/ruby-mysql-2.8.2-9.fc20.x86_64
make: *** No rule to make target `/builddir/build/BUILDROOT/ruby-mysql-2.8.2-9.fc20.x86_64/usr/include/ruby.h', needed by `mysql.o'.  Stop.
```

Ruby version:
# ruby -v
ruby 2.0.0p214 (2013-06-09 revision 41193) [x86_64-linux]

[1] https://gist.github.com/strzibny/5748006


----------------------------------------
Backport #8115: make install DESTDIR=/my/install/path fails
https://bugs.ruby-lang.org/issues/8115#change-39833

Author: vo.x (Vit Ondruch)
Status: Closed
Priority: Normal
Assignee: nagachika (Tomoyuki Chikanaga)
Category: 
Target version: 


=begin
In Fedora packaging, we used to use (({make install DESTDIR=/my/install/path})) to install compiled extension into the folder, which RPM used to pick up the extension. However, since Ruby 2.0.0, this approach fails with message such as;

 make install DESTDIR=/builddir/build/BUILDROOT/ruby-mysql-2.8.2-9.fc20.i386
 make: *** No rule to make target `/builddir/build/BUILDROOT/ruby-mysql-2.8.2-9.fc20.i386/usr/include/ruby.h', needed by `mysql.o'.  Stop. 
 
Apparently, the mkmf creates Makefile, where everything depends on DESTDIR (see the diff of makefiles here [1]). This is wrong IMO, since obviously Ruby's header files location has nothing to do with location I'd like to install my libraries.

Could you fix this issue? Or if that was always wrong approach, could you provide us better one?

Please note that this was originally reported here: https://bugzilla.redhat.com/show_bug.cgi?id=921650

[1] https://gist.github.com/voxik/5186924
=end



-- 
http://bugs.ruby-lang.org/