#14749 closed bug (duplicate)
Building PHP fails in microtime.c
Reported by: | bullfrog | Owned by: | bonefish |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Build System | Version: | R1/beta1 |
Keywords: | glibc microtime php | Cc: | |
Blocked By: | Blocking: | #3353 | |
Platform: | All |
Description
I'd normally post this in haikuports, but my reasearch shows this may be a flaw in the OS implementation. So I'm posting here first. I'm trying to build php-7.1.25. It fails on when it gets to the microtime.c part of the compile. PHP docs mention it is most likely an issue in our glibc. http://php.net/manual/en/faq.build.php#faq.build.microtime
Attachments (1)
Change History (9)
by , 6 years ago
Attachment: | php-build-log.fail added |
---|
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Is this the matter that was mentioned in php's git that required hardcoding includes as a workaround? It seems to be coming from our posix/sys headers.
comment:3 by , 6 years ago
The struct that it is looking for seems to be in sys/resource.h or rather missing from it.
comment:5 by , 6 years ago
That improved the rendering (still no sprite, but the block trail left by mouse movement in the window refreshes nearly immediately.) It still gives the same output.
~/src/godot-projects/New Game Project> export MESA_GL_VERSION_OVERRIDE="3.1COMPAT"
~/src/godot-projects/New Game Project> export MESA_GLSL_VERSION_OVERRIDE="130"
~/src/godot-projects/New Game Project> godot
GalliumContext: CreateScreen: Using llvmpipe (LLVM 5.0, 128 bits) driver.
OpenGL ES 3.0 Renderer: Gallium 0.4 on llvmpipe (LLVM 5.0, 128 bits)
1: #version 330
2: #define GLES_OVER_GL
3: #define USE_TEXTURE_RECT
4: precision highp float;
5: precision highp int;
6:
7:
8: layout(location=0) in highp vec2 vertex;
9: layout(location=3) in vec4 color_attrib;
10:
11: #ifdef USE_TEXTURE_RECT
12:
13: uniform vec4 dst_rect;
14: uniform vec4 src_rect;
15:
16: #else
17:
18: #ifdef USE_INSTANCING
19:
20: layout(location=8) in highp vec4 instance_xform0;
21: layout(location=9) in highp vec4 instance_xform1;
22: layout(location=10) in highp vec4 instance_xform2;
23: layout(location=11) in lowp vec4 instance_color;
24:
25: #ifdef USE_INSTANCE_CUSTOM
26: layout(location=12) in highp vec4 instance_custom_data;
27: #endif
28:
29: #endif
30:
31: layout(location=4) in highp vec2 uv_attrib;
32:
33: skeletn
34: #endif
35:
36: uniform highp vec2 color_texpixel_size;
37:
38:
39: layout(std140) uniform CanvasItemData { ubo:0
40:
41: highp mat4 projection_matrix;
42: highp float time;
43: };
44:
45: uniform highp mat4 modelview_matrix;
46: uniform highp mat4 extra_matrix;
47:
48:
49: out highp vec2 uv_interp;
50: out mediump vec4 color_interp;
51:
52: #ifdef USE_NINEPATCH
53:
54: out highp vec2 pixel_size_interp;
55: #endif
56:
57:
58: #ifdef USE_LIGHTING
59:
60: layout(std140) uniform LightData { ubo:1
61:
62: light matrices
63: highp mat4 light_matrix;
64: highp mat4 light_local_matrix;
65: highp mat4 shadow_matrix;
66: highp vec4 light_color;
67: highp vec4 light_shadow_color;
68: highp vec2 light_pos;
69: highp float shadowpixel_size;
70: highp float shadow_gradient;
71: highp float light_height;
72: highp float light_outside_alpha;
73: highp float shadow_distance_mult;
74: };
75:
76:
77: out vec4 light_uv_interp;
78:
79:
80: out vec4 local_rot;
81:
82:
83: #ifdef USE_SHADOWS
84: out highp vec2 pos;
85: #endif
86:
87: const bool at_light_pass = true;
88: #else
89: const bool at_light_pass = false;
90: #endif
91:
92: #ifdef USE_PARTICLES
93: uniform int h_frames;
94: uniform int v_frames;
95: #endif
96:
97:
98: #if defined(USE_MATERIAL)
99:
100: layout(std140) uniform UniformData { ubo:2
101:
102:
103: };
104:
105: #endif
106:
107:
108: void main() {
109:
110: vec4 color = color_attrib;
111:
112: #ifdef USE_INSTANCING
113: mat4 extra_matrix2 = extra_matrix * transpose(mat4(instance_xform0,instance_xform1,instance_xform2,vec4(0.0,0.0,0.0,1.0)));
114: color*=instance_color;
115: vec4 instance_custom = instance_custom_data;
116:
117: #else
118: mat4 extra_matrix2 = extra_matrix;
119: vec4 instance_custom = vec4(0.0);
120: #endif
121:
122: #ifdef USE_TEXTURE_RECT
123:
124: if (dst_rect.z < 0.0) { Transpose is encoded as negative dst_rect.z
125: uv_interp = src_rect.xy + abs(src_rect.zw) * vertex.yx;
126: } else {
127: uv_interp = src_rect.xy + abs(src_rect.zw) * vertex;
128: }
129: highp vec4 outvec = vec4(dst_rect.xy + abs(dst_rect.zw) * mix(vertex,vec2(1.0,1.0)- vertex,lessThan(src_rect.zw,vec2(0.0,0.0))),0.0,1.0);
130:
131: #else
132: uv_interp = uv_attrib;
133: highp vec4 outvec = vec4(vertex,0.0,1.0);
134: #endif
135:
136:
137: #ifdef USE_PARTICLES
138: scale by texture size
139: outvec.xy/=color_texpixel_size;
140:
141: compute h and v frames and adjust UV interp for animation
142: int total_frames = h_frames * v_frames;
143: int frame = min(int(float(total_frames) *instance_custom.z),total_frames-1);
144: float frame_w = 1.0/float(h_frames);
145: float frame_h = 1.0/float(v_frames);
146: uv_interp.x = uv_interp.x * frame_w + frame_w * float(frame % h_frames);
147: uv_interp.y = uv_interp.y * frame_h + frame_h * float(frame / h_frames);
148:
149: #endif
150:
151: #define extra_matrix extra_matrix2
152:
153: {
154:
155:
156: }
157:
158:
159: #ifdef USE_NINEPATCH
160:
161: pixel_size_interp=abs(dst_rect.zw) * vertex;
162: #endif
163:
164: #if !defined(SKIP_TRANSFORM_USED)
165: outvec = extra_matrix * outvec;
166: outvec = modelview_matrix * outvec;
167: #endif
168:
169: #undef extra_matrix
170:
171: color_interp = color;
172:
173: #ifdef USE_PIXEL_SNAP
174:
175: outvec.xy=floor(outvec+0.5).xy;
176: #endif
177:
178:
179: gl_Position = projection_matrix * outvec;
180:
181: #ifdef USE_LIGHTING
182:
183: light_uv_interp.xy = (light_matrix * outvec).xy;
184: light_uv_interp.zw =(light_local_matrix * outvec).xy;
185: #ifdef USE_SHADOWS
186: pos=outvec.xy;
187: #endif
188:
189:
190: local_rot.xy=normalize( (modelview_matrix * ( extra_matrix * vec4(1.0,0.0,0.0,0.0) )).xy );
191: local_rot.zw=normalize( (modelview_matrix * ( extra_matrix * vec4(0.0,1.0,0.0,0.0) )).xy );
192: #ifdef USE_TEXTURE_RECT
193: local_rot.xy*=sign(src_rect.z);
194: local_rot.zw*=sign(src_rect.w);
195: #endif
196:
197:
198:
199: #endif
200:
201: }
202:
203:
ERROR: _display_error_with_code: CanvasShaderGLES3: Vertex Program Compilation Failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, and 1.00 ES
At: drivers/gles3/shader_gles3.cpp:168.
ERROR: get_current_version: Method/Function Failed, returning: null
At: drivers/gles3/shader_gles3.cpp:354.
ERROR: bind: Condition ' !version ' is true. returned: false
At: drivers/gles3/shader_gles3.cpp:123.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
1: #version 330
2: #define GLES_OVER_GL
3: #define USE_SOURCE_PANORAMA
4: #define LOW_QUALITY
5: #define USE_DUAL_PARABOLOID
6: #define USE_DIRECT_WRITE
7: precision highp float;
8: precision highp int;
9:
10:
11: layout(location=0) in highp vec2 vertex;
12:
13: layout(location=4) in highp vec2 uv;
14:
15: out highp vec2 uv_interp;
16:
17: void main() {
18:
19: uv_interp=uv;
20: gl_Position=vec4(vertex,0,1);
21: }
22:
23:
ERROR: _display_error_with_code: CubemapFilterShaderGLES3: Vertex Program Compilation Failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, and 1.00 ES
At: drivers/gles3/shader_gles3.cpp:168.
ERROR: get_current_version: Method/Function Failed, returning: null
At: drivers/gles3/shader_gles3.cpp:354.
ERROR: bind: Condition ' !version ' is true. returned: false
At: drivers/gles3/shader_gles3.cpp:123.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
1: #version 330
2: #define GLES_OVER_GL
3: #define USE_SOURCE_DUAL_PARABOLOID_ARRAY
4: #define LOW_QUALITY
5: #define USE_DUAL_PARABOLOID
6: precision highp float;
7: precision highp int;
8:
9:
10: layout(location=0) in highp vec2 vertex;
11:
12: layout(location=4) in highp vec2 uv;
13:
14: out highp vec2 uv_interp;
15:
16: void main() {
17:
18: uv_interp=uv;
19: gl_Position=vec4(vertex,0,1);
20: }
21:
22:
ERROR: _display_error_with_code: CubemapFilterShaderGLES3: Vertex Program Compilation Failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, and 1.00 ES
At: drivers/gles3/shader_gles3.cpp:168.
ERROR: get_current_version: Method/Function Failed, returning: null
At: drivers/gles3/shader_gles3.cpp:354.
ERROR: bind: Condition ' !version ' is true. returned: false
At: drivers/gles3/shader_gles3.cpp:123.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
ERROR: _get_uniform: Condition ' !version ' is true. returned: -1
At: drivers/gles3/shader_gles3.h:377.
comment:6 by , 6 years ago
Blocking: | 3353 added |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
Then PHP needs to be adjusted to use something else on Haiku (haikuports probably has a patch doing that for other versions).
We already have a ticket about adding these to rusage.
comment:8 by , 5 years ago
Remove milestone for tickets with status = closed and resolution != fixed
Are those part of the POSIX spec?