blob: df00c21f821537810f9a1f110a9708433db08399 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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
|