dash has problems with some for loops, which causes ATI driver to fail

Bug #68635 reported by Anand Vaidya
4
Affects Status Importance Assigned to Milestone
dash (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: dash

ATI driver 8.29.6 installer script fails as follows:

root@ariesduo:~# cd /usr/local/src/

root@ariesduo:/usr/local/src# ls
ati-driver-installer-8.29.6.run

root@ariesduo:/usr/local/src# sh ati-driver-installer-8.29.6.run
Creating directory fglrx-install
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.29.6.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
-e ==================================================
-e ATI Technologies Linux Driver Installer/Packager
-e ==================================================
./ati-installer.sh: 176: Syntax error: Bad substitution
Removing temporary directory: fglrx-install

This is due to /bin/sh symlinked to /bin/dash . Apparently dash has some problems in the for loop. The solution is to symlink /bin/sh to /bin/bash and the driver installs fine.

Revision history for this message
Anand Vaidya (anand-vaidya) wrote :

Observed in kubuntu edgy 6.10 released version. - Anand Vaidya

Revision history for this message
Micah Cowan (micahcowan) wrote :

Installer appears to be available from: https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.29.6.run, and is about 55MB large.

Revision history for this message
Micah Cowan (micahcowan) wrote :

I'm afraid this is a bug in the installer, which makes bash-specific assumptions, rather than a bug in dash.

The culprit is:

                for dir in ${PATH//\:/ }; do

This is not standard shell syntax, but is a bash extension, and dash is right when it complains that it is a "Bad substitution".

Changed in dash:
status: Unconfirmed → Rejected
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.