[#10853] Why limit class def to a constant or colon node? — Charles Oliver Nutter <charles.nutter@...>

Is there a historical reason why I can't do something like these:

12 messages 2007/04/03

[#10933] Cannot build with extra library path if previous version already installed — <noreply@...>

Bugs item #10140, was opened at 2007-04-16 17:32

10 messages 2007/04/16
[#10934] Re: [ ruby-Bugs-10140 ] Cannot build with extra library path if previous version already installed — nobu@... 2007/04/16

Hi,

[#10960] Re: [ ruby-Bugs-10140 ] Cannot build with extra library path if previous version already installed — "Michal Suchanek" <hramrach@...> 2007/04/18

On 4/16/07, nobu@ruby-lang.org <nobu@ruby-lang.org> wrote:

[#10967] Re: [ ruby-Bugs-10140 ] Cannot build with extra library path if previous version already installed — Nobuyoshi Nakada <nobu@...> 2007/04/19

Hi,

[#10970] Re: [ ruby-Bugs-10140 ] Cannot build with extra library path if previous version already installed — "Michal Suchanek" <hramrach@...> 2007/04/19

On 4/19/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:> Hi,>> At Wed, 18 Apr 2007 20:21:44 +0900,> Michal Suchanek wrote in [ruby-core:10960]:> > Yes. And this should also apply to extensions. The mkmf tests are now> > fine but the extension is linked with -L/sw/lib before -L../..>> Indeed.>>> Index: configure.in> ===================================================================> --- configure.in (revision 12191)> +++ configure.in (working copy)> @@ -1385,5 +1385,4 @@ if test "$enable_rpath" = yes; then> fi>> -LDFLAGS="-L. $LDFLAGS"> AC_SUBST(ARCHFILE)>This would break the previous fix so I did not even try to apply this ^

[#11003] miniruby loads extensions from already installed ruby — <noreply@...>

Bugs item #10303, was opened at 2007-04-23 10:44

10 messages 2007/04/23

[#11025] gsub with backslash characters in replacement string — "Adam Bozanich" <adam.boz@...>

Hello, spotted this one the other day:

10 messages 2007/04/26

[ ruby-Bugs-10140 ] Cannot build with extra library path if previous version already installed

From: <noreply@...>
Date: 2007-04-23 08:39:32 UTC
List: ruby-core #11002
Bugs item #10140, was opened at 2007-04-16 17:32
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=10140&group_id=426

Category: Core
Group: 1.8.6
Status: Open
Resolution: None
Priority: 3
Submitted By: Michal Suchanek (hramrach)
Assigned to: Nobody (None)
Summary: Cannot build with extra library path if previous version already installed

Initial Comment:
I tried building with LDFLAGS=-L/sw/lib which is the standard way to build a package with libraries outside of system library locations.

There is apparently already a libruby_static in there because the build has failed on an undefined symbol which was defined in ./libruby_static.a

I modified the Makefile so that it puts XLDFLAGS before LDFLAGS. That way I get -L. -L/sw/lib and the build works. However, if XLDFLAGS contained some linker options meant to override options in LDFLAGS it would not work this way.

----------------------------------------------------------------------

>Comment By: Michal Suchanek (hramrach)
Date: 2007-04-23 10:39

Message:
Thanks to Nobu Nakada for patches should fix this particular
problem:

Index: configure.in
===================================================================
--- configure.in        (revision 12175)
+++ configure.in        (working copy)
@@ -150,4 +150,9 @@ fi
 AC_PROG_CC
 AC_PROG_GCC_TRADITIONAL
+if test "$GCC" = yes; then
+    linker_flag=-Wl,
+else
+    linker_flag=
+fi

 RUBY_PROG_GNU_LD
@@ -1392,12 +1397,8 @@ if test "$enable_shared" = 'yes'; then
 fi
 if test "$enable_rpath" = yes; then
-    if test "$GCC" = yes; then
-       LIBRUBYARG_SHARED='-Wl,-R -Wl,$(libdir) -L$(libdir)
-L. '"$LIBRUBYARG_SHARED"
-    else
-       LIBRUBYARG_SHARED='-R $(libdir) -L$(libdir) -L.
'"$LIBRUBYARG_SHARED"
-    fi
+    LIBRUBYARG_SHARED="${linker_flag}-R
${linker_flag}\ -L. -L\ $LIBRUBYARG_SHARED"
 fi

-XLDFLAGS="$XLDFLAGS -L."
+LDFLAGS="-L. $LDFLAGS"
 AC_SUBST(ARCHFILE)


Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb (revision 12191)
+++ lib/mkmf.rb (working copy)
@@ -292,5 +292,10 @@ end
 def libpathflag(libpath=$DEFLIBPATH|$LIBPATH)
  libpath.map{|x|
-    (x == "$(topdir)" ? LIBPATHFLAG :
LIBPATHFLAG+RPATHFLAG) % x.quote
+    case x
+    when "$(topdir)", /\A\./
+      LIBPATHFLAG
+    else
+      LIBPATHFLAG+RPATHFLAG
+    end % x.quote
  }.join
 end
@@ -1444,4 +1449,5 @@ def init_mkmf(config = CONFIG)
  $LIBRUBYARG_SHARED = config['LIBRUBYARG_SHARED']
  $DEFLIBPATH = $extmk ? ["$(topdir)"] : CROSS_COMPILING ?
[] : ["$(libdir)"]
+  $DEFLIBPATH.unshift(".")
  $LIBPATH = []
  $INSTALLFILES = nil
@@ -1535,6 +1541,6 @@ LINK_SO = config_string('LINK_SO') ||
    "ld $(DLDFLAGS) -r -o $@ $(OBJS)\n"
  else
-    "$(LDSHARED) $(DLDFLAGS) $(LIBPATH) #{OUTFLAG}$@ " \
-    "$(OBJS) $(LOCAL_LIBS) $(LIBS)"
+    "$(LDSHARED) #{OUTFLAG}$@ $(OBJS) " \
+    "$(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)"
  end
 LIBPATHFLAG = config_string('LIBPATHFLAG') || ' -L"%s"'


While testing these I found other problems that are not
related to using -L in LDFLAGS so I will file separate
reports for those.

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=10140&group_id=426

In This Thread

Prev Next