summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/debug/1453436
blob: 7d259e02399c27e7062c0ba74af3ab4209197bbd (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
debug: 0.914
permissions: 0.906
register: 0.901
user-level: 0.899
architecture: 0.890
semantic: 0.885
peripherals: 0.873
graphic: 0.868
performance: 0.868
device: 0.858
virtual: 0.858
arm: 0.857
assembly: 0.849
network: 0.845
PID: 0.842
hypervisor: 0.839
ppc: 0.818
socket: 0.817
kernel: 0.811
mistranslation: 0.809
risc-v: 0.793
files: 0.789
boot: 0.763
KVM: 0.762
TCG: 0.762
vnc: 0.746
x86: 0.738
VMM: 0.733
i386: 0.550

Building on OS X: Undefined symbols ___emutls_v.prng_state and ___emutls_v.prng_state_data

Trying to build qemu on my system fails during linking with the error:

Undefined symbols for architecture x86_64:
  "___emutls_v.prng_state", referenced from:
      _main in region-test.o
      __GLOBAL__sub_I_65535_0_region_test.c in region-test.o
  "___emutls_v.prng_state_data", referenced from:
      _main in region-test.o
      __GLOBAL__sub_I_65535_0_region_test.c in region-test.o

My setup:

OS: OS X 10.10.3, 64bit
gcc: 5.1.0
clang: 6.1.0

configure command:

configure --prefix="$HOME/local" --cc=clang --host-cc=clang --cxx=clang++

It makes no difference whether I try to build in the source directory or somewhere else.
It is the same for qemu release 2.3.0 and qemu git@f8340b360b9bc29d48716ba8aca79df2b9544979.

Now this is clearly happening in the pixman submodule, but it does not seem to be a pixman issue, as I can clone git://anongit.freedesktop.org/pixman @cf086d4949092861dc3729465a3881d229cc1060 and build it without any errors with just :

configure --prefix="$HOME/local"
make

It also works with

configure --prefix="$HOME/local" CC=clang CXX=clang++
make

although then OpenMP is disabled.
Also, running

nm qemu/pixman/test/utils.o

gives me (amongst other stuff):

0000000000000020 C ___emutls_v.prng_state
0000000000000020 C ___emutls_v.prng_state_data

So the symbols are actually there, it's really just linking that fails.

On 9 May 2015 at 19:19, Molt <email address hidden> wrote:
> Public bug reported:
>
> Trying to build qemu on my system fails during linking with the error:
>
> Undefined symbols for architecture x86_64:
>   "___emutls_v.prng_state", referenced from:
>       _main in region-test.o
>       __GLOBAL__sub_I_65535_0_region_test.c in region-test.o
>   "___emutls_v.prng_state_data", referenced from:
>       _main in region-test.o
>       __GLOBAL__sub_I_65535_0_region_test.c in region-test.o
>
> My setup:
>
> OS: OS X 10.10.3, 64bit
> gcc: 5.1.0
> clang: 6.1.0
>
> configure command:
>
> configure --prefix="$HOME/local" --cc=clang --host-cc=clang
> --cxx=clang++

I build on OSX 10.10.3 with that clang version, but I build with
the system pixman (in /opt/X11 and presumably part of the optional
X11 OSX download), so I guess that's the difference in our setups
here.

I tried building having configured --without-system-pixman,
but that seems to fail to compile much earlier than your error:

make[3]: *** No rule to make target `pixman-combine.h.template',
needed by `pixman-combine32.h'. Stop.

-- PMM


I have XQuartz 2.7.7 installed and there is no pixman in /opt/X11/bin.

It's /opt/X11/lib/libpixman-1.dylib and /opt/X11/include/pixman-1/ for me, but yes, it's possible I've got that from somewhere other than XQuartz.


Ah well, I only have the "normal" PATH set, not library or include path.
But I managed to build qemu now by just building pixman separately.

According to comment #4, the build finally worked, so I'm closing this ticket now.