Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#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)

php-build-log.fail (9.2 KB ) - added by bullfrog 6 years ago.

Download all attachments as: .zip

Change History (9)

by bullfrog, 6 years ago

Attachment: php-build-log.fail added

comment:1 by waddlesplash, 6 years ago

Are those part of the POSIX spec?

comment:2 by bullfrog, 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.

Last edited 6 years ago by bullfrog (previous) (diff)

comment:3 by bullfrog, 6 years ago

The struct that it is looking for seems to be in sys/resource.h or rather missing from it.

Last edited 6 years ago by bullfrog (previous) (diff)

comment:5 by bullfrog, 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.

Version 0, edited 6 years ago by bullfrog (next)

comment:6 by pulkomandy, 6 years ago

Blocking: 3353 added
Resolution: duplicate
Status: newclosed

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:7 by bullfrog, 6 years ago

Thanks.

comment:8 by nielx, 5 years ago

Remove milestone for tickets with status = closed and resolution != fixed

Note: See TracTickets for help on using tickets.