blob: c5e2fce8f3eded72210cc8c0374d55f2c9f32a6f (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
user-level: 0.692
debug: 0.690
device: 0.683
semantic: 0.642
permissions: 0.615
ppc: 0.599
mistranslation: 0.580
architecture: 0.565
x86: 0.563
performance: 0.531
PID: 0.513
socket: 0.502
hypervisor: 0.500
graphic: 0.499
vnc: 0.493
i386: 0.484
network: 0.474
risc-v: 0.470
TCG: 0.462
arm: 0.433
register: 0.422
kernel: 0.420
boot: 0.388
peripherals: 0.387
files: 0.374
VMM: 0.333
KVM: 0.283
assembly: 0.280
virtual: 0.269
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
|