Re: Another powerpc64 biarch problem.

2008-03-04 Thread Steven Munroe
On Sat, 2008-03-01 at 09:39 -0600, Peter O'Gorman wrote:
 Steven Munroe wrote:
  I am trying to build a package on a OpenSuse-10.3 PowerMac G5. and I see
  the following:
  
  /bin/sh ../../libtool --tag=CC --mode=link /usr/bin/gcc  -m64 -g -O2
  -mcpu=power
  4 -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused
  -Wmissing
  -prototypes -Wmissing-declarations -Wstrict-prototypes
  -Wmissing-prototypes -Wn
  ested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align
  -Wwrite-strings  -m64
  -o pedump  pedump.o
  libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonouti
  ls.la ../../libgc/libmonogc.la -pthread -lgthread-2.0 -lrt -lglib-2.0
  -lm -ldl
   -lpthread -lm
  libtool: link: cannot find the library `/usr/lib64/libpcre.la' 
  or unhandled argument `/usr/lib64/libpcre.la'
 
 It seems likely that some other .la file has /usr/lib64/libpcre.la in
 its dependency_libs. If you add --debug immediately prior to the
 --tag=CC and save stdout and stderr to a log, reading the log should
 tell you which one. Alternatively, grep for /usr/lib64/libpcre.la in
 /usr/lib64.

The dependency seem to be coming from /usr/lib64/libgthread-2.0.la at
least on the system that is failing. The older (--debug output -
libtool-libpcre-ok.tgz) system does not seem to have the same
dependency.

I still don't understand why libtool does not simply link to
the /usr/lib64/libpcre.so that is there?

This is really annoying...


libtool-libpcre.tgz
Description: application/compressed-tar


libtool-libpcre-ok.tgz
Description: application/compressed-tar
___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


Re: Another powerpc64 biarch problem.

2008-03-04 Thread Peter O'Gorman
Steven Munroe wrote:
 On Sat, 2008-03-01 at 09:39 -0600, Peter O'Gorman wrote:
 Steven Munroe wrote:
 I am trying to build a package on a OpenSuse-10.3 PowerMac G5. and I see
 the following:

 /bin/sh ../../libtool --tag=CC --mode=link /usr/bin/gcc  -m64 -g -O2
 -mcpu=power
 4 -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused
 -Wmissing
 -prototypes -Wmissing-declarations -Wstrict-prototypes
 -Wmissing-prototypes -Wn
 ested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align
 -Wwrite-strings  -m64
 -o pedump  pedump.o
 libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonouti
 ls.la ../../libgc/libmonogc.la -pthread -lgthread-2.0 -lrt -lglib-2.0
 -lm -ldl
  -lpthread -lm
 libtool: link: cannot find the library `/usr/lib64/libpcre.la' 
 or unhandled argument `/usr/lib64/libpcre.la'
 It seems likely that some other .la file has /usr/lib64/libpcre.la in
 its dependency_libs. If you add --debug immediately prior to the
 --tag=CC and save stdout and stderr to a log, reading the log should
 tell you which one. Alternatively, grep for /usr/lib64/libpcre.la in
 /usr/lib64.
 
 The dependency seem to be coming from /usr/lib64/libgthread-2.0.la at
 least on the system that is failing. The older (--debug output -
 libtool-libpcre-ok.tgz) system does not seem to have the same
 dependency.
 
 I still don't understand why libtool does not simply link to
 the /usr/lib64/libpcre.so that is there?
 
 This is really annoying...

Both libgthread and libglib have /usr/lib64/libpcre.la in
dependency_libs, so this file must have existed when glib was built. Now
it does not.

Your choices are:
1) rebuild glib (when rebuilt without the presence of
/usr/lib64/libpcre.la, that will not appear in dependency_libs)
2) rebuild/reinstall 64bit pcre (to get the .la file back)
3) edit the glib .la files by hand and change /usr/lib64/libpcre.la to
-lpcre (ugly)

Peter
-- 
Peter O'Gorman
http://pogma.com


___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


Re: libltdl memory corruption

2008-03-04 Thread Ralf Wildenhues
Hi Peter,

* Peter O'Gorman wrote on Tue, Mar 04, 2008 at 07:14:51AM CET:
 Ralf Wildenhues wrote:
  
  So I'd appreciate a review of this, and also test results on systems
  with loaders other than preopen and dlopen.  (I haven't even tested
  successful compilation on those other systems.)
 
 I did not manage to try the shl_load loader, only tested dyld. This
 patch causes no regressions on Mac OS X 10.2. If that is also true for
 the loaders you get around to trying, this is ok.

For the preopen, dlopen, shl_load loaders, I confirmed that the
testsuite addition exposes the bug, and the loader changes fixes the
testsuite failure.  For loadlibrary, I only cross-compiled from
GNU/Linux to ensure absense of typos.

I visually inspected the BeOS and dld changes again for typos, and then
applied the patch, after adding a NEWS entry.

 Thank you. Once again you sent a patch for a bug before I even got
 around to reading the list.

My pleasure.  :-)  Kudos to Andreas for reporting the bug.

Cheers,
Ralf


___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


libtool generated by GNU $PACKAGE (was: [libtool 2.2] testsuite: 34 failed)

2008-03-04 Thread Ralf Wildenhues
* Roberto Bagnara wrote on Mon, Mar 03, 2008 at 09:14:48PM CET:
 P.S. In ./libtool there is the line

# Generated automatically by config.status (GNU ppl) 0.10pre16

  `ppl' is indeed the short name of the project.  I don't know
  why it is preceded by GNU.

Fixed with the patch below.  I don't care much that, in the Libtool
package itself, the will result in a libtool script with the line
# Generated automatically by config.status (libtool 1.2600 2008/03/02 02:19:16) 
2.3a

instead of GNU libtool.

This has been reported several times, please speak up if I forgot to
mention a reporter.  The hard part with this patch was ensuring that
none of the libtool code uses this bit in a sed pattern (in some parts
script headers are checked, but not this one, apparently).

Cheers, and thanks to both of you for the report (I put you in THANKS),
Ralf

2008-03-04  Ralf Wildenhues  [EMAIL PROTECTED]

* libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU'
prefix before the host package name in the Generated by line
for the libtool script.
* THANKS: Update.
Reports by Peter Rosin and Roberto Bagnara.

Index: libltdl/m4/libtool.m4
===
RCS file: /cvsroot/libtool/libtool/libltdl/m4/libtool.m4,v
retrieving revision 1.137
diff -u -r1.137 libtool.m4
--- libltdl/m4/libtool.m4   20 Feb 2008 20:11:39 -  1.137
+++ libltdl/m4/libtool.m4   4 Mar 2008 21:11:56 -
@@ -685,7 +685,7 @@
 #! $SHELL
 
 # `$ECHO $ofile | sed 's%^.*/%%'` - Provide generalized library-building 
support services.
-# Generated automatically by $as_me (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
 # Libtool was configured on host `(hostname || uname -n) 2/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #


___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


mode=execute argument munging bug (was: [libtool 2.2] testsuite: 34 failed)

2008-03-04 Thread Ralf Wildenhues
Hello Roberto,

* Roberto Bagnara wrote on Mon, Mar 03, 2008 at 09:14:48PM CET:

 $ cat mycommand
 #!/bin/sh
 echo mycommand invoked with argument '$1'
 $ mycommand ciao
 mycommand invoked with argument 'ciao'
 $ ./libtool --mode=execute mycommand ciao
 mycommand invoked with argument '/home/roberto/tppl/'
 $

 Note that /home/roberto/tppl/ is the directory where the libtool
 script is located.  I can also do

 $ cd interfaces/
 $ ../libtool --mode=execute ../mycommand ciao
 mycommand invoked with argument '/home/roberto/tppl/'

 Is this behavior normal?

No.  Thank you for the bug report.  I've applied the fix below.

FWIW, the ordering of the tests in execute-mode.at is such that the
first set still passes for 1.5.26.

 ./libtool is what has been created at configure time and a bzipped
 version of it is attached to this file.

It wasn't attached to the message, but that's not a problem.  :-)

Cheers,
Ralf

* libltdl/config/ltmain.m4sh (func_mode_execute): Replace only
arguments we have identified as shell or C wrappers.
(func_emit_wrapper): Output error message on stderr.
* tests/execute-mode.at: New file, with --mode=execute tests.
* Makefile.am: Adjust.
* NEWS: Update.
Fixes 2.2 regression.  Report by Roberto Bagnara.

Index: Makefile.am
===
RCS file: /cvsroot/libtool/libtool/Makefile.am,v
retrieving revision 1.229
diff -u -r1.229 Makefile.am
--- Makefile.am 18 Jan 2008 10:49:40 -  1.229
+++ Makefile.am 4 Mar 2008 21:16:26 -
@@ -447,6 +447,7 @@
  tests/search-path.at \
  tests/indirect_deps.at \
  tests/archive-in-archive.at \
+ tests/execute-mode.at \
  tests/destdir.at \
  tests/old-m4-iface.at \
  tests/am-subdir.at \
Index: NEWS
===
RCS file: /cvsroot/libtool/libtool/NEWS,v
retrieving revision 1.220
diff -u -r1.220 NEWS
--- NEWS4 Mar 2008 21:00:18 -   1.220
+++ NEWS4 Mar 2008 21:16:27 -
@@ -6,6 +6,9 @@
 
   - Fix 2.2 regression in libltdl that causes memory corruption upon
 repeated `lt_dlinit(); lt_dlexit()'.
+  - Fix 2.2 regression in that `libtool --mode=execute CMD ARGS' does not
+transform ARGS that do not look like shell or C wrappers of libtool
+programs.
 
 New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team:
 
Index: libltdl/config/ltmain.m4sh
===
RCS file: /cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v
retrieving revision 1.97
diff -u -r1.97 ltmain.m4sh
--- libltdl/config/ltmain.m4sh  28 Jan 2008 15:49:46 -  1.97
+++ libltdl/config/ltmain.m4sh  4 Mar 2008 21:16:29 -
@@ -1694,12 +1694,14 @@
# Do a test to see if this is really a libtool program.
if func_ltwrapper_script_p $file; then
  func_source $file
+ # Transform arg to wrapped name.
+ file=$progdir/$program
elif func_ltwrapper_executable_p $file; then
  func_ltwrapper_scriptname $file
  func_source $func_ltwrapper_scriptname_result
+ # Transform arg to wrapped name.
+ file=$progdir/$program
fi
-   # Transform arg to wrapped name.
-   file=$progdir/$program
;;
   esac
   # Quote arguments (to preserve shell metacharacters).
@@ -2468,7 +2470,7 @@
  ;;
esac
$ECHO \
-  \$ECHO \\$0: cannot exec \$program \$*\
+  \$ECHO \\$0: cannot exec \$program \$*\ 12
   exit 1
 fi
   else
--- /dev/null   2008-03-02 10:33:19.200041011 +0100
+++ tests/execute-mode.at   2008-03-04 22:15:22.0 +0100
@@ -0,0 +1,92 @@
+# execute-mode.at -- libtool --mode=execute -*- Autotest -*-
+#
+#   Copyright (C) 2008 Free Software Foundation, Inc.
+#   Written by Ralf Wildenhues, 2008
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+AT_SETUP([execute mode])
+AT_KEYWORDS([libtool])
+
+AT_DATA([foo],
+[[#! /bin/sh
+if test $# -gt 0; then
+  echo $@
+else