Skip to content

Instantly share code, notes, and snippets.

@eagletmt
Created August 27, 2015 16:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eagletmt/339dba198c367b11c9b1 to your computer and use it in GitHub Desktop.
Save eagletmt/339dba198c367b11c9b1 to your computer and use it in GitHub Desktop.
diff -u Makefile.217 Makefile.223
--- Makefile.217 2015-08-28 01:25:12.744277586 +0900
+++ Makefile.223 2015-08-28 01:25:28.460913531 +0900
@@ -7,16 +7,17 @@
Q = $(Q1:0=@)
ECHO1 = $(V:1=@:)
ECHO = $(ECHO1:0=@echo)
+NULLCMD = :
#### Start of system configuration section. ####
srcdir = .
-topdir = /home/eagletmt/.rbenv/versions/2.1.7/include/ruby-2.1.0
+topdir = /home/eagletmt/.rbenv/versions/2.2.3/include/ruby-2.2.0
hdrdir = $(topdir)
-arch_hdrdir = /home/eagletmt/.rbenv/versions/2.1.7/include/ruby-2.1.0/x86_64-linux
+arch_hdrdir = /home/eagletmt/.rbenv/versions/2.2.3/include/ruby-2.2.0/x86_64-linux
PATH_SEPARATOR = :
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
-prefix = $(DESTDIR)/home/eagletmt/.rbenv/versions/2.1.7
+prefix = $(DESTDIR)/home/eagletmt/.rbenv/versions/2.2.3
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
rubyarchprefix = $(rubylibprefix)/$(arch)
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -30,8 +31,8 @@
vendorarchdir = $(vendorlibdir)/$(sitearch)
vendorlibdir = $(vendordir)/$(ruby_version)
vendordir = $(rubylibprefix)/vendor_ruby
-sitearchdir = $(DESTDIR)./.gem.20150828-1567-1o79g29
-sitelibdir = $(DESTDIR)./.gem.20150828-1567-1o79g29
+sitearchdir = $(DESTDIR)./.gem.20150828-706-1qx3m8m
+sitelibdir = $(DESTDIR)./.gem.20150828-706-1qx3m8m
sitedir = $(rubylibprefix)/site_ruby
rubyarchdir = $(rubylibdir)/$(arch)
rubylibdir = $(rubylibprefix)/$(ruby_version)
@@ -66,8 +67,8 @@
CXX = g++
LIBRUBY = $(LIBRUBY_SO)
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
-LIBRUBYARG_SHARED = -Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
-LIBRUBYARG_STATIC = -Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static
+LIBRUBYARG_SHARED = -Wl,-R$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
+LIBRUBYARG_STATIC = -Wl,-R$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static
empty =
OUTFLAG = -o $(empty)
COUTFLAG = -o $(empty)
@@ -76,14 +77,14 @@
cflags = $(optflags) $(debugflags) $(warnflags)
optflags = -O3 -fno-fast-math
debugflags = -ggdb3
-warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration
+warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat
CCDLFLAGS = -fPIC
CFLAGS = $(CCDLFLAGS) $(cflags) -fPIC -Wall -funroll-loops $(ARCH_FLAG)
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -I/usr/include/mysql
DEFS =
-CPPFLAGS = -DHAVE_RUBY_THREAD_H -DHAVE_RB_THREAD_CALL_WITHOUT_GVL -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_RB_HASH_DUP -DHAVE_RB_INTERN3 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/home/eagletmt/.rbenv/versions/2.1.7/include $(DEFS) $(cppflags)
+CPPFLAGS = -DHAVE_RUBY_THREAD_H -DHAVE_RB_THREAD_CALL_WITHOUT_GVL -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_RB_HASH_DUP -DHAVE_RB_INTERN3 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/home/eagletmt/.rbenv/versions/2.2.3/include $(DEFS) $(cppflags)
CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG)
-ldflags = -L. -L/home/eagletmt/.rbenv/versions/2.1.7/lib -fstack-protector -rdynamic -Wl,-export-dynamic
+ldflags = -L. -L/home/eagletmt/.rbenv/versions/2.2.3/lib -fstack-protector -rdynamic -Wl,-export-dynamic
dldflags =
ARCH_FLAG =
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
@@ -92,7 +93,7 @@
AR = ar
EXEEXT =
-RUBY_INSTALL_NAME = ruby
+RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
RUBY_SO_NAME = ruby
RUBYW_INSTALL_NAME =
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
@@ -101,8 +102,8 @@
arch = x86_64-linux
sitearch = $(arch)
-ruby_version = 2.1.0
-ruby = $(bindir)/ruby
+ruby_version = 2.2.0
+ruby = $(bindir)/$(RUBY_BASE_NAME)
RUBY = $(ruby)
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h
@@ -120,8 +121,8 @@
preload =
-libpath = . $(libdir) /usr/lib
-LIBPATH = -L. -L$(libdir) -Wl,-R$(libdir) -L/usr/lib -Wl,-R/usr/lib
+libpath = /usr/lib . $(libdir)
+LIBPATH = -L/usr/lib -Wl,-R/usr/lib -L. -L$(libdir) -Wl,-R$(libdir)
DEFFILE =
CLEANFILES = mkmf.log
@@ -189,7 +190,7 @@
pre-install-rb: Makefile
pre-install-rb-default: Makefile
pre-install-rb-default:
- $(ECHO) installing default mysql2 libraries
+ @$(NULLCMD)
$(TIMESTAMP_DIR)/.RUBYARCHDIR.-.mysql2.time:
$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
$(Q) $(TOUCH) $@
@@ -198,36 +199,56 @@
site-install-so: install-so
site-install-rb: install-rb
-.SUFFIXES: .c .m .cc .mm .cxx .cpp .C .o
+.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S
.cc.o:
$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
+.cc.S:
+ $(ECHO) translating $(<)
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
+
.mm.o:
$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
+.mm.S:
+ $(ECHO) translating $(<)
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
+
.cxx.o:
$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
+.cxx.S:
+ $(ECHO) translating $(<)
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
+
.cpp.o:
$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
-.C.o:
- $(ECHO) compiling $(<)
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
+.cpp.S:
+ $(ECHO) translating $(<)
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
.c.o:
$(ECHO) compiling $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
+.c.S:
+ $(ECHO) translating $(<)
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<
+
.m.o:
$(ECHO) compiling $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
+.m.S:
+ $(ECHO) translating $(<)
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<
+
$(DLLIB): $(OBJS) Makefile
$(ECHO) linking shared-object mysql2/$(DLLIB)
-$(Q)$(RM) $(@)
@eagletmt
Copy link
Author

libpath の順序が変わってるので RUBY_CONFIGURE_OPTS=--enable-shared で rbenv install してると /usr/lib/libruby.so.* のほうにリンクしてしまって死

@eagletmt
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment