
Ralf Wildenhues wrote:
- 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.
Thanks a lot Ralf!
It is better now, but there is still the problem that, apparently, libtool redirects stdin for the program it is running. Here is a new testcase:
$ cat mycommand #!/bin/sh echo "mycommand invoked with argument '$1' '$2' '$3' '$4' '$5'" while read line do echo "$line" done $ /bin/sh ../../../libtool --mode=execute \ -dlopen ../../../src/libppl.la \ -dlopen ../../../Watchdog/src/libpwl.la \ mycommand mycommand invoked with argument '' '' '' '' '' # # Please DO NOT delete this file! # It is necessary for linking the library.
# The name that we can dlopen(3). dlname='libpwl.so.4'
# Names of this library. library_names='libpwl.so.4.0.0 libpwl.so.4 libpwl.so'
# The name of the static archive. old_library='libpwl.a'
# Linker flags that can not go in dependency_libs. inherited_linker_flags=''
# Libraries that this one depends upon. dependency_libs=''
# Names of additional weak libraries provided by this library weak_library_names=''
# Version information for libpwl. current=4 age=0 revision=0
# Is this an already installed library? installed=no
# Should we warn about portability when linking against -modules? shouldnotlink=no
# Files to dlopen/dlpreopen dlopen='' dlpreopen=''
# Directory that this library needs to be installed in: libdir='/usr/local/lib' $ /bin/sh ../../../libtool --mode=execute \ -dlopen ../../../src/libppl.la \ -dlopen ../../../Watchdog/src/libpwl.la \ mycommand >produced_by_mycommand $ diff produced_by_mycommand ../../../Watchdog/src/libpwl.la 1c1,2 < mycommand invoked with argument '' '' '' '' '' ---
# libpwl.la - a libtool library file # Generated by ltmain.sh (GNU libtool) 2.2
$
It wasn't attached to the message, but that's not a problem. :-)
You are right. It happens to me all the time :-) Let me know if you need it this time. Cheers,
Roberto