public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] fix problem with "install" call in populate script
@ 2012-04-27  2:08 Anthony Foiani
  2012-04-30 11:57 ` Yann E. MORIN
  0 siblings, 1 reply; 2+ messages in thread
From: Anthony Foiani @ 2012-04-27  2:08 UTC (permalink / raw)
  To: crossgcc, Yann E. MORIN

[-- Attachment #1: Type: text/plain, Size: 1274 bytes --]

Greetings all --

Due to the usual cascade of requirements and bugs, I had to upgrade my
toolchain to gcc-4.6.3, so I updated my ct-ng to latest hg head.  (I
tried the 1.14.1 release, but that didn't have the 4.6.3 stuff in it).

When I ran though my old scripts for building my ramdisk, I got new errors:

/opt/cross/platforms/foo/xtools/bin/powerpc-e300c3-linux-gnu-populate:
line 208: /usr/bin/install -c: No such file or directory
readelf: Error: 'lib/libpthread.so.0': No such file

Adding verbosity didn't help.  It turns out that autoconf found
"/usr/bin/install -c" to be the correct install tool.  When populate
tries to call it, however, it keeps it in double-quotes, and the shell
tries to interpret the whole string as a command name:

  # this is the value returned by autoconf and stored in CT_install
  $ ins="/usr/bin/install -c"

  # if we call it with quotes, the command is not found
  $ "${ins}"
  bash: /usr/bin/install -c: No such file or directory

  # removing the quotes lets it work as expected
  $ ${ins}
  /usr/bin/install: missing file operand
  Try `/usr/bin/install --help' for more information.

The fix is easy: just remove the quotes around the use of ${install}.

Patch attached.

Thanks,
t.

[-- Attachment #2: ctng-fix_populate_install.patch --]
[-- Type: application/octet-stream, Size: 1507 bytes --]

# HG changeset patch
# User Anthony Foiani <anthony.foiani@gmail.com>
# Date 1335491759 21600
# Node ID 7ea324ba49881cef5305ed977e2dd8849cecf793
# Parent  c7fa97debb36bcea78a28a639d1ae569997cc6f2
Allow multi-word "install" command.

Autoconf can determine that the correct install command includes flags,
e.g., "/usr/bin/install -c".  When using this as a command, we can't
enclose the value in double-quotes, as that makes some shells use the
whole expression as a filename:

  # this is the value returned by autoconf and stored in CT_install
  $ ins="/usr/bin/install -c"

  # if we call it with quotes, the command is not found
  $ "${ins}"
  bash: /usr/bin/install -c: No such file or directory

  # removing the quotes lets it work as expected
  $ ${ins}
  /usr/bin/install: missing file operand
  Try `/usr/bin/install --help' for more information.

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>

diff -r c7fa97debb36 -r 7ea324ba4988 scripts/populate.in
--- a/scripts/populate.in	Mon Apr 02 19:50:22 2012 +0200
+++ b/scripts/populate.in	Thu Apr 26 19:55:59 2012 -0600
@@ -205,7 +205,7 @@
                 *)      mode=0644;;
             esac
             ${CT_PRINTF} "      installing as '%s/%s', mode='%s'\n" "${dir}" "${true_libname}" "${mode}"
-            "${install}" -m "${mode}" "${libfile}" "${dir}/${true_libname}"
+            ${install} -m "${mode}" "${libfile}" "${dir}/${true_libname}"
             do_resolve_deps "${dir}/${true_libname}"
             return 0
         fi

[-- Attachment #3: Type: text/plain, Size: 71 bytes --]

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] fix problem with "install" call in populate script
  2012-04-27  2:08 [PATCH] fix problem with "install" call in populate script Anthony Foiani
@ 2012-04-30 11:57 ` Yann E. MORIN
  0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2012-04-30 11:57 UTC (permalink / raw)
  To: crossgcc; +Cc: Anthony Foiani

Anthony, All,

On Friday 27 April 2012 04:07:51 Anthony Foiani wrote:
> When I ran though my old scripts for building my ramdisk, I got new errors:
> 
> /opt/cross/platforms/foo/xtools/bin/powerpc-e300c3-linux-gnu-populate:
> line 208: /usr/bin/install -c: No such file or directory
> readelf: Error: 'lib/libpthread.so.0': No such file
> 
> Adding verbosity didn't help.  It turns out that autoconf found
> "/usr/bin/install -c" to be the correct install tool.  When populate
> tries to call it, however, it keeps it in double-quotes, and the shell
> tries to interpret the whole string as a command name:

Applied as #58974be61289. Thank you!
REgards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-04-30 11:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-27  2:08 [PATCH] fix problem with "install" call in populate script Anthony Foiani
2012-04-30 11:57 ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).