misbuilds when /bin/sh -> bash

Bug #299931 reported by Colin Watson on 2008-11-19
2
Affects Status Importance Assigned to Milestone
libtool (Ubuntu)
Low
Unassigned

Bug Description

Binary package hint: libtool

When /bin/sh is a symlink to bash, libtool finds that /bin/sh supports the features it needs and hence hardcodes it as the #! line of /usr/bin/libtool. If /bin/sh is later changed to be a symlink to dash, this breaks because dash does not support "var+=value" syntax. This broke dictd during the Ubuntu armel bootstrap:

  http://launchpadlibrarian.net/19676627/buildlog_ubuntu-jaunty-armel.dictd_1.10.11.dfsg-2ubuntu2_FAILEDTOBUILD.txt.gz

libtool --tag=CC --mode=link gcc -o dict -static \
  dict.o net.o clientscan.o clientparse.o md5.o wcrtomb.o wctomb.o mbrlen.o mbrtowc.o mbstowcs.o mbtowc.o iswspace.o iswalnum.o towlower.o strlcpy.o strlcat.o parse.o \
   -Wl,-z,defs -Wl,--as-needed -Llibmaa -lmaa -ldl -lz
eval: 1: libtool_args+=: not found
[...]

I worked around this as follows:

libtool (2.2.4-0ubuntu5) jaunty; urgency=low

  * Force /bin/bash as the shell for the generated libtool script, even if
    /bin/sh happens to be bash on the build system.

 -- Colin Watson <email address hidden> Wed, 19 Nov 2008 12:26:34 +0000

... but it perhaps needs a proper fix in libtool to detect this at run-time.

This sort of reminds me of http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447022, but I thought we already had the relevant fakeroot fix in Ubuntu.

Changed in libtool (Ubuntu):
status: New → Confirmed
importance: Undecided → Low
status: Confirmed → Triaged
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers