Why did I get this error “ 'czm_translucentPhong' : no matching overloaded function found”?

Hi there,

I defined the shader using version 1.105 of cesium and received the following error

RuntimeError: Fragment shader failed to compile.  Compile log: ERROR: 0:35: 'czm_translucentPhong' : no matching overloaded function found
ERROR: 0:35: '=' : dimension mismatch
ERROR: 0:35: 'assign' : cannot convert from 'const mediump float' to 'out highp 4-component vector of float'

    at new RuntimeError (
    at createAndLinkProgram (
    at reinitialize (
    at initialize2 (
    at ShaderProgram._bind (
    at beginDraw (
    at Context.draw (
    at DrawCommand.execute (
    at executeCommand (
    at executeTranslucentCommandsSortedMRT (

The following is my definition of the Fragment shader

 const getFragmentShaderSource = function () {
            return "#version 300 es\n\
              in vec3 v_position;\n\
              in vec3 v_normal; \n\
              uniform float picked; \n\
              uniform vec4  pickedColor; \n\
              uniform vec4  defaultColor; \n\
              uniform float specular; \n\
              uniform float shininess; \n\
              uniform vec3  emission; \n\
              in vec2 v_st; \n\
              uniform bool isLine; \n\
              uniform float glowPower; \n\
              layout(location=2) out vec4 pc_FragColor; \n\
              void main() { \n\
                vec3 positionToEyeEC = -v_position; \n\
                vec3 normalEC = normalize(v_normal); \n\
                vec4 color = defaultColor; \n\
                 if (picked != 0.0) { \n\
                        color = pickedColor; \n\
                 } \n\
                  czm_material material; \n\
                  material.specular = specular; \n\
                  material.shininess = shininess; \n\
                  material.normal = normalEC; \n\
                  material.emission = emission;//vec3(0.2,0.2,0.2);\n\
                  material.diffuse = color.rgb ;\n\
                        material.alpha = 1.0; \n\
                  else{ \n\
                    material.alpha = color.a; \n\
                  if(v_st.x==0.0){ \n\
                      pc_FragColor =color ;\n\
                  }else { \n\
                      pc_FragColor = czm_phong(normalize(positionToEyeEC), material) ; \n\
                  } \n\

The following is my definition of the Vertex shader

  const getVertexShaderSource = function () {
            return "#version 300 es\n\
              #ifdef GL_ES\n\
                precision highp float;\n\
              in vec3 position;\n\
              in vec2 st;\n\
              in vec3 normal;\n\
              uniform mat4 modelViewMatrix;\n\
              uniform mat3 normalMatrix;\n\
              uniform mat4 projectionMatrix;\n\
              out vec3 v_position;\n\
              out vec3 v_normal;\n\
              out vec2 v_st;\n\n\
              out vec3 v_light0Direction;\n\n\
              void main(void) \n\
                    vec4 pos =  modelViewMatrix * vec4( position,1.0);\n\
                    v_normal =  normalMatrix *  normal;\n\
                    v_st = st;\n\
                    v_position = pos.xyz;\n\
                    v_light0Direction = mat3( modelViewMatrix) * vec3(1.0,1.0,1.0);\n\
                    gl_Position =  projectionMatrix * pos;\n\

May I ask where I made a mistake?