blob: 6f396e7ce1c9aa8b9016124a1d188288a5eb1ff5 (
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
|
configure and build errors on Solaris 10 due to /bin/sh usage
Running `LANG=C LC_ALL=C ./configure --prefix=... --install=/usr/ucb/install` on Solaris 10 amd64 results in the following errors:
./configure: bad substitution
./configure: !: not found
./configure: curl-config: not found
./configure: curl-config: not found
Error: invalid trace backend
Please choose a supported trace backend.
Unfortunately it doesn't print the line numbers of the errors. It must be somewhere after the check for `install`.
The first few can be resolved by running `bash ./configure ...` instead.
The "check if trace backend exists" hardcodes `sh "$source_path/tracetool" ...` in configure. Replacing sh with bash makes it work.
`gmake` complains "Makefile:331: no file name for -include", which is a filter for *.d files.
`create_config` gets the 'bad substitution' error as well. Replacing sh with bash in rules.mak works.
etc.
To sum it up,
a) there are shell script incompatibilities with Solaris 10's /bin/sh shell, and
b) hardcoding 'sh' in configure or Makefiles seems like a bad idea.
QEMU Git 73d7434279e3905164afd02360eebe4b43c7fa (ESP: fix ESP DMA access...)
$ uname -a
SunOS sonnengoettin 5.10 Generic_142901-03 i86pc i386 i86pc
# No banner output for /bin/sh
$ bash --version
GNU bash, version 3.00.16(1)-release (i386-pc-solaris2.10)
Copyright (C) 2004 Free Software Foundation, Inc.
|