Forum: Ruby-core [Closed] mkmf does not allow for linking against custom libraries when a system library is present

F1d6cc2b735bfd82c8773172da2aeab9?d=identicon&s=25 Nobuyoshi Nakada (nobu)
on 2014-04-20 01:42
(Received via mailing list)
Issue #9760 has been updated by Nobuyoshi Nakada.

Status changed from Open to Closed
% Done changed from 0 to 100

Applied in changeset r45640.

----------
mkmf.rb: prefer $LIBPATH than $DEFLIBPATH

* lib/mkmf.rb (link_command, libpathflag, create_makefile): prefer
  user specified `$LIBPATH` than `$DEFLIBPATH`.  [ruby-core:62100]
  [ruby-trunk - Bug #9760]

----------------------------------------
Bug #9760: mkmf does not allow for linking against custom libraries when
a system library is present
https://bugs.ruby-lang.org/issues/9760#change-46260

* Author: Andrew DeMaria
* Status: Closed
* Priority: Normal
* Assignee:
* Category:
* Target version:
* ruby -v: ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Hi,

Hopefully the title is not confusing, but the short story is that mkmf
outputs a makefile that first searches the default lib path before
searching any user provided lib paths. This is not an issue until one
tries to link against an included library whose version is different
than a preexisting system library.

The issue cropped up while trying to install the rugged gem (libgit2
wrapper) and a full dialog on the issue can be found on github
https://github.com/libgit2/rugged/issues/351.

I was able to fix the issue with the attached patch
(https://github.com/muff1nman/ruby/commit/a0c8bc32c...)

---Files--------------------------------
fix_default_libpath.diff (1.2 KB)
This topic is locked and can not be replied to.