Error in building Qemu-1.3.0 on Solaris 10 While trying to build Qemu on Oracle Solaris 10 (SPARC processor), I encountered the following error in the configure step: ./configure --prefix=/usr/local/ --install=/usr/ucb/install ./configure: bad substitution ./configure: !: not found ./configure: !: not found ./configure: !: not found ./configure: !: not found ./configure: !: not found ./configure: curl-config: not found ./configure: curl-config: not found As the following bug report says: https://bugs.launchpad.net/qemu/+bug/636315, "sh" is hard-coded in the script. Can't the script be modified to accept a $SHELL argument to make use of bash or other shell during configure and make step? Are you using /bin/sh (broken) or /usr/xpg4/bin/sh (should work)? If I invoke /usr/xpg4/bin/sh from bash and then start the build process, will it be OK/ Or do I need to add /usr/xpg4/bin/sh to PATH? Does the patch mentioned in the referred bug need to be applied? Just using $SHELL inside configure would be insufficient if run via Solaris' sh. Using `bash ./configure ...` should've worked for v1.2 without patches, didn't test v1.3 on Sol10 yet. Whether the DTrace support scripts fully work on Solaris 10 is another issue. Until tomorrow, I can't report back as the Solaris 10 system is in my workplace. What I tried was to trigger ./configure from bash shell which produced the log above and aborted. As the title already says, I tried to build Qemu 1.3.0. P.S. If I already use bash shell to invoke the script, do I need to `bash ./configure ...` any more? Yes, if you execute `./configure ...` the shell will execute the shebang line inside the script, which says /bin/sh and happens to be a really ancient version for backwards compatibility on Solaris. I did the following and it was a success: 1. Added sh to path to override default /usr/bin/sh: PATH=/usr/xpg4/bin/sh:$PATH 2. From bash: sh ./configure Closing, as there is a work-around according to comment #6