Hello,

The following error message appears due to a bug in
func_mode_install ():


/bin/sh ../../../libtool --mode=install cp -f  'libeic.la'
'/usr/local/lib/bastard/libeic.la'
libtool: install: you must specify a destination
libtool: install: Try `libtool --help --mode=install' for more
information.

[the first two lines were actually one line]


As one can see, there has been given a destination, so it is not
the fault of automake/autoconf/make, because it is pretty much
legitimate to use both "cp -f" and "install -c".

The reason for this error is, that the -f of "cp" does NOT expect
any further arguments, as opposed to bsd's "install". cp -f rather means
"force" and enforces overwriting of any existing files. This is at least 
true for both of the versions of "cp" under linux (fileutils-4.1) and under 
freebsd-4.6 (and under irix, iirc). Therefore libtool's treatment of -f 
in func_mode_install with "cp" MUST NOT be

        prev="-f"

However, at least bsd's "install" does know the option -f
(opposedly to the install used under linux) and does require 
further arguments. So a short distinction will be necessary. 
My workaround for this is in libtool (around line 2442) rsp.
ltmain.sh (line 2053) in func_mode_install ():

(...)

      case $arg in
      -d) isdir=yes ;;
      -f) if test "$install_prog" = "cp";
                then prev=
          else
                prev="-f"
          fi ;;
      -g) prev="-g" ;;
      -m) prev="-m" ;;
      -o) prev="-o" ;;

(...)


instead of the uniform

        -f) prev="-f";;




Many thanks

Juergen Leising

-- 
***********************************************************
                http://www.8ung.at/leising/             
                http://leising.freeshell.org/        
*********************************************************** 


_______________________________________________
Bug-libtool mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-libtool

Reply via email to