Project

General

Profile

Actions

Bug #5188

closed

mkmf libpath order prevents use of custom libs

Added by jbl26 (Brian Lindauer) over 12 years ago. Updated over 12 years ago.

Status:
Third Party's Issue
Target version:
-
ruby -v:
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
Backport:
[ruby-core:38927]

Description

The sqlite3 gem has an option --with-sqlite3-lib, which lets you point it to a non-default location for the libsqlite3.so file. However, mkmf still tries to use the default system libsqlite3.so even when this option is specified. I've tracked the behavior down to what I think is a bug in mkmf.rb. The command it tries is

gcc -o conftest -I/usr/include/ruby/ruby-1.9.1/x86_64-linux -I/usr/include/ruby/ruby-1.9.1/ruby/backward -I/usr/include/ruby/ruby-1.9.1 -I. -I../../../../../../../../../include -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include    -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -mtune=generic -Wall -fno-strict-aliasing -fPIC conftest.c  -L. -L/usr/lib64 -L../../../../../../../../../lib -L/usr/local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L.  -rdynamic -Wl,-export-dynamic     -lruby-static -lsqlite3  -lpthread -lrt -ldl -lcrypt -lm   -lc

Note that -L/usr/lib64 comes before the path I specified in --with-sqlite3-lib. If you have a matching library in /usr/lib64, it will always use that instead of the one you have pointed to.

This behavior is implemented in the link_command method of mkmf.rb:


def link_command(ldflags, opt="", libpath=$DEFLIBPATH|$LIBPATH)

I believe that, instead, this should be:


def link_command(ldflags, opt="", libpath=$LIBPATH|$DEFLIBPATH)

Updated by luislavena (Luis Lavena) over 12 years ago

  • Status changed from Open to Feedback
  • Assignee set to luislavena (Luis Lavena)

Can you please try sqlite3 version 1.3.4?

The issue you're mentioning is something present in sqlite3-ruby 1.3.3 and that has been fixed in 1.3.4

Updated by jbl26 (Brian Lindauer) over 12 years ago

Luis,

That fixed my problem. Thank you.

Brian

Updated by luislavena (Luis Lavena) over 12 years ago

  • Status changed from Feedback to Third Party's Issue

Closing this out as 3rd party issue.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0