• Bug#1066577: nanovg: FTBFS: ../src/nanovg_gl.h:341:17: error: implicit

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 14:00:01 2024
    Source: nanovg
    Version: 0.0~git20230826.f93799c+dfsg-1
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef

    Hi,

    During a rebuild of all packages in sid, your package failed to build
    on amd64.

    This is most likely caused by a change in dpkg 1.22.6, that enabled -Werror=implicit-function-declaration. For more information, see https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration

    Relevant part (hopefully):
    make[1]: Entering directory '/<<PKGBUILDDIR>>/build'
    ==== Building nanovg (debug) ====
    Creating obj/Debug/nanovg
    nanovg.c
    Linking nanovg
    ==== Building example_gl2 (debug) ====
    ==== Building example_gl3 (debug) ====
    ==== Building example_gl2_msaa (debug) ====
    ==== Building example_gl3_msaa (debug) ====
    ==== Building example_fbo (debug) ====
    ==== Building example_gles2 (debug) ====
    ==== Building example_gles3 (debug) ====
    Creating obj/Debug/example_gl2
    Creating obj/Debug/example_gl3
    example_gl2.c
    Creating obj/Debug/example_gl2_msaa
    Creating obj/Debug/example_gl3_msaa
    example_gl3.c
    Creating obj/Debug/example_gles3
    Creating obj/Debug/example_fbo
    Creating obj/Debug/example_gles2
    demo.c
    example_gl2.c
    example_gl3.c
    example_gles3.c
    example_gles2.c
    example_fbo.c
    In file included from ../example/example_fbo.c:29:
    ../src/nanovg_gl.h: In function ‘glnvg__blendFuncSeparate’: ../src/nanovg_gl.h:341:17: error: implicit declaration of function ‘glBlendFuncSeparate’; did you mean ‘glnvg__blendFuncSeparate’? [-Werror=implicit-function-declaration]
    341 | glBlendFuncSeparate(blend->srcRGB, blend->dstRGB, blend->srcAlpha,blend->dstAlpha);
    | ^~~~~~~~~~~~~~~~~~~
    | glnvg__blendFuncSeparate
    ../src/nanovg_gl.h: In function ‘glnvg__dumpShaderError’: ../src/nanovg_gl.h:404:9: error: implicit declaration of function ‘glGetShaderInfoLog’ [-Werror=implicit-function-declaration]
    404 | glGetShaderInfoLog(shader, 512, &len, str);
    | ^~~~~~~~~~~~~~~~~~
    ../example/demo.c: In function ‘drawParagraph’:
    ../example/demo.c:874:21: warning: unused variable ‘boxText’ [-Wunused-variable]
    874 | const char* boxText = "Testing\nsome multiline\ntext.";
    | ^~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__dumpProgramError’: ../src/nanovg_gl.h:414:9: error: implicit declaration of function ‘glGetProgramInfoLog’ [-Werror=implicit-function-declaration]
    414 | glGetProgramInfoLog(prog, 512, &len, str);
    | ^~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__createShader’: ../src/nanovg_gl.h:441:16: error: implicit declaration of function ‘glCreateProgram’ [-Werror=implicit-function-declaration]
    441 | prog = glCreateProgram();
    | ^~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:442:16: error: implicit declaration of function ‘glCreateShader’; did you mean ‘glnvg__createShader’? [-Werror=implicit-function-declaration]
    442 | vert = glCreateShader(GL_VERTEX_SHADER);
    | ^~~~~~~~~~~~~~
    | glnvg__createShader
    ../src/nanovg_gl.h:445:9: error: implicit declaration of function ‘glShaderSource’ [-Werror=implicit-function-declaration]
    445 | glShaderSource(vert, 3, str, 0);
    | ^~~~~~~~~~~~~~
    ../src/nanovg_gl.h:449:9: error: implicit declaration of function ‘glCompileShader’ [-Werror=implicit-function-declaration]
    449 | glCompileShader(vert);
    | ^~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:450:9: error: implicit declaration of function ‘glGetShaderiv’; did you mean ‘glGetMapiv’? [-Werror=implicit-function-declaration]
    450 | glGetShaderiv(vert, GL_COMPILE_STATUS, &status);
    | ^~~~~~~~~~~~~
    | glGetMapiv
    ../src/nanovg_gl.h:463:9: error: implicit declaration of function ‘glAttachShader’ [-Werror=implicit-function-declaration]
    463 | glAttachShader(prog, vert);
    | ^~~~~~~~~~~~~~
    ../src/nanovg_gl.h:466:9: error: implicit declaration of function ‘glBindAttribLocation’ [-Werror=implicit-function-declaration]
    466 | glBindAttribLocation(prog, 0, "vertex");
    | ^~~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:469:9: error: implicit declaration of function ‘glLinkProgram’; did you mean ‘glHistogram’? [-Werror=implicit-function-declaration]
    469 | glLinkProgram(prog);
    | ^~~~~~~~~~~~~
    | glHistogram
    ../src/nanovg_gl.h:470:9: error: implicit declaration of function ‘glGetProgramiv’ [-Werror=implicit-function-declaration]
    470 | glGetProgramiv(prog, GL_LINK_STATUS, &status);
    | ^~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__deleteShader’: ../src/nanovg_gl.h:486:17: error: implicit declaration of function ‘glDeleteProgram’ [-Werror=implicit-function-declaration]
    486 | glDeleteProgram(shader->prog);
    | ^~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:488:17: error: implicit declaration of function ‘glDeleteShader’; did you mean ‘glnvg__deleteShader’? [-Werror=implicit-function-declaration]
    488 | glDeleteShader(shader->vert);
    | ^~~~~~~~~~~~~~
    | glnvg__deleteShader
    ../src/nanovg_gl.h: In function ‘glnvg__getUniforms’: ../src/nanovg_gl.h:495:43: error: implicit declaration of function ‘glGetUniformLocation’ [-Werror=implicit-function-declaration]
    495 | shader->loc[GLNVG_LOC_VIEWSIZE] = glGetUniformLocation(shader->prog, "viewSize");
    | ^~~~~~~~~~~~~~~~~~~~ ../src/nanovg_gl.h:499:39: error: implicit declaration of function ‘glGetUniformBlockIndex’ [-Werror=implicit-function-declaration]
    499 | shader->loc[GLNVG_LOC_FRAG] = glGetUniformBlockIndex(shader->prog, "frag");
    | ^~~~~~~~~~~~~~~~~~~~~~ ../src/nanovg_gl.h: In function ‘glnvg__renderCreate’: ../src/nanovg_gl.h:695:9: error: implicit declaration of function ‘glGenVertexArrays’ [-Werror=implicit-function-declaration]
    695 | glGenVertexArrays(1, &gl->vertArr);
    | ^~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:697:9: error: implicit declaration of function ‘glGenBuffers’; did you mean ‘glReadBuffer’? [-Werror=implicit-function-declaration]
    697 | glGenBuffers(1, &gl->vertBuf);
    | ^~~~~~~~~~~~
    | glReadBuffer
    ../src/nanovg_gl.h:701:9: error: implicit declaration of function ‘glUniformBlockBinding’ [-Werror=implicit-function-declaration]
    701 | glUniformBlockBinding(gl->shader.prog, gl->shader.loc[GLNVG_LOC_FRAG], GLNVG_FRAG_BINDING);
    | ^~~~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__renderCreateTexture’: ../src/nanovg_gl.h:813:17: error: implicit declaration of function ‘glGenerateMipmap’ [-Werror=implicit-function-declaration]
    813 | glGenerateMipmap(GL_TEXTURE_2D);
    | ^~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__setUniforms’: ../src/nanovg_gl.h:986:9: error: implicit declaration of function ‘glBindBufferRange’ [-Werror=implicit-function-declaration]
    986 | glBindBufferRange(GL_UNIFORM_BUFFER, GLNVG_FRAG_BINDING, gl->fragBuf, uniformOffset, sizeof(GLNVGfragUniforms));
    | ^~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__fill’:
    ../src/nanovg_gl.h:1026:9: error: implicit declaration of function ‘glStencilOpSeparate’ [-Werror=implicit-function-declaration]
    1026 | glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR_WRAP);
    | ^~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__renderFlush’: ../src/nanovg_gl.h:1187:17: error: implicit declaration of function ‘glUseProgram’ [-Werror=implicit-function-declaration]
    1187 | glUseProgram(gl->shader.prog);
    | ^~~~~~~~~~~~
    ../src/nanovg_gl.h:1215:17: error: implicit declaration of function ‘glBindBuffer’; did you mean ‘glReadBuffer’? [-Werror=implicit-function-declaration]
    1215 | glBindBuffer(GL_UNIFORM_BUFFER, gl->fragBuf);
    | ^~~~~~~~~~~~
    | glReadBuffer
    ../src/nanovg_gl.h:1216:17: error: implicit declaration of function ‘glBufferData’ [-Werror=implicit-function-declaration]
    1216 | glBufferData(GL_UNIFORM_BUFFER, gl->nuniforms * gl->fragSize, gl->uniforms, GL_STREAM_DRAW);
    | ^~~~~~~~~~~~
    ../src/nanovg_gl.h:1221:17: error: implicit declaration of function ‘glBindVertexArray’ [-Werror=implicit-function-declaration]
    1221 | glBindVertexArray(gl->vertArr);
    | ^~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:1225:17: error: implicit declaration of function ‘glEnableVertexAttribArray’ [-Werror=implicit-function-declaration]
    1225 | glEnableVertexAttribArray(0);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h:1227:17: error: implicit declaration of function ‘glVertexAttribPointer’; did you mean ‘glVertexPointer’? [-Werror=implicit-function-declaration]
    1227 | glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(NVGvertex), (const GLvoid*)(size_t)0);
    | ^~~~~~~~~~~~~~~~~~~~~
    | glVertexPointer
    ../src/nanovg_gl.h:1231:17: error: implicit declaration of function ‘glUniform1i’ [-Werror=implicit-function-declaration]
    1231 | glUniform1i(gl->shader.loc[GLNVG_LOC_TEX], 0);
    | ^~~~~~~~~~~
    ../src/nanovg_gl.h:1232:17: error: implicit declaration of function ‘glUniform2fv’ [-Werror=implicit-function-declaration]
    1232 | glUniform2fv(gl->shader.loc[GLNVG_LOC_VIEWSIZE], 1, gl->view);
    | ^~~~~~~~~~~~
    ../src/nanovg_gl.h:1251:17: error: implicit declaration of function ‘glDisableVertexAttribArray’ [-Werror=implicit-function-declaration]
    1251 | glDisableVertexAttribArray(0);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl.h: In function ‘glnvg__renderDelete’: ../src/nanovg_gl.h:1540:17: error: implicit declaration of function ‘glDeleteBuffers’; did you mean ‘glSelectBuffer’? [-Werror=implicit-function-declaration]
    1540 | glDeleteBuffers(1, &gl->fragBuf);
    | ^~~~~~~~~~~~~~~
    | glSelectBuffer
    ../src/nanovg_gl.h:1543:17: error: implicit declaration of function ‘glDeleteVertexArrays’ [-Werror=implicit-function-declaration]
    1543 | glDeleteVertexArrays(1, &gl->vertArr);
    | ^~~~~~~~~~~~~~~~~~~~
    In file included from ../example/example_fbo.c:30:
    ../src/nanovg_gl_utils.h: In function ‘nvgluCreateFramebuffer’: ../src/nanovg_gl_utils.h:81:9: error: implicit declaration of function ‘glGenFramebuffers’; did you mean ‘glfwGetFramebufferSize’? [-Werror=implicit-function-declaration]
    81 | glGenFramebuffers(1, &fb->fbo);
    | ^~~~~~~~~~~~~~~~~
    | glfwGetFramebufferSize
    ../src/nanovg_gl_utils.h:82:9: error: implicit declaration of function ‘glBindFramebuffer’; did you mean ‘nvgluBindFramebuffer’? [-Werror=implicit-function-declaration]
    82 | glBindFramebuffer(GL_FRAMEBUFFER, fb->fbo);
    | ^~~~~~~~~~~~~~~~~
    | nvgluBindFramebuffer
    ../src/nanovg_gl_utils.h:85:9: error: implicit declaration of function ‘glGenRenderbuffers’ [-Werror=implicit-function-declaration]
    85 | glGenRenderbuffers(1, &fb->rbo);
    | ^~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl_utils.h:86:9: error: implicit declaration of function ‘glBindRenderbuffer’ [-Werror=implicit-function-declaration]
    86 | glBindRenderbuffer(GL_RENDERBUFFER, fb->rbo);
    | ^~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl_utils.h:87:9: error: implicit declaration of function ‘glRenderbufferStorage’ [-Werror=implicit-function-declaration]
    87 | glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, w, h);
    | ^~~~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl_utils.h:90:9: error: implicit declaration of function ‘glFramebufferTexture2D’ [-Werror=implicit-function-declaration]
    90 | glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fb->texture, 0);
    | ^~~~~~~~~~~~~~~~~~~~~~
    demo.c
    perf.c
    demo.c
    ../src/nanovg_gl_utils.h:91:9: error: implicit declaration of function ‘glFramebufferRenderbuffer’ [-Werror=implicit-function-declaration]
    91 | glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, fb->rbo);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~
    ../src/nanovg_gl_utils.h:93:13: error: implicit declaration of function ‘glCheckFramebufferStatus’ [-Werror=implicit-function-declaration]
    93 | if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
    | ^~~~~~~~~~~~~~~~~~~~~~~~
    demo.c
    ../src/nanovg_gl_utils.h: In function ‘nvgluDeleteFramebuffer’: ../src/nanovg_gl_utils.h:138:17: error: implicit declaration of function ‘glDeleteFramebuffers’; did you mean ‘nvgluDeleteFramebuffer’? [-Werror=implicit-function-declaration]
    138 | glDeleteFramebuffers(1, &fb->fbo);
    | ^~~~~~~~~~~~~~~~~~~~
    | nvgluDeleteFramebuffer ../src/nanovg_gl_utils.h:140:17: error: implicit declaration of function ‘glDeleteRenderbuffers’ [-Werror=implicit-function-declaration]
    140 | glDeleteRenderbuffers(1, &fb->rbo);
    | ^~~~~~~~~~~~~~~~~~~~~
    demo.c
    demo.c
    ../example/perf.c: In function ‘startGPUTimer’:
    ../example/perf.c:46:9: error: implicit declaration of function ‘glBeginQuery’ [-Werror=implicit-function-declaration]
    46 | glBeginQuery(GL_TIME_ELAPSED, timer->queries[timer->cur % GPU_QUERY_COUNT] );
    | ^~~~~~~~~~~~
    ../example/perf.c: In function ‘stopGPUTimer’:
    ../example/perf.c:59:9: error: implicit declaration of function ‘glEndQuery’ [-Werror=implicit-function-declaration]
    59 | glEndQuery(GL_TIME_ELAPSED);
    | ^~~~~~~~~~
    ../example/demo.c: In function ‘drawParagraph’:
    ../example/demo.c:874:21: warning: unused variable ‘boxText’ [-Wunused-variable]
    874 | const char* boxText = "Testing\nsome multiline\ntext.";
    | ^~~~~~~
    ../example/perf.c:62:17: error: implicit declaration of function ‘glGetQueryObjectiv’ [-Werror=implicit-function-declaration]
    62 | glGetQueryObjectiv(timer->queries[timer->ret % GPU_QUERY_COUNT], GL_QUERY_RESULT_AVAILABLE, &available);
    | ^~~~~~~~~~~~~~~~~~
    ../example/demo.c: In function ‘drawParagraph’:
    ../example/demo.c:874:21: warning: unused variable ‘boxText’ [-Wunused-variable]
    874 | const char* boxText = "Testing\nsome multiline\ntext.";
    | ^~~~~~~
    cc1: some warnings being treated as errors
    make[2]: *** [example_gles3.make:226: obj/Debug/example_gles3/perf.o] Error 1


    The full build log is available from: http://qa-logs.debian.net/2024/03/13/nanovg_0.0~git20230826.f93799c+dfsg-1_unstable.log

    All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lucas@debian.org
    or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

    A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

    If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects

    If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Tue Mar 19 08:00:01 2024
    This is a multi-part message in MIME format...

    Your message dated Tue, 19 Mar 2024 06:49:47 +0000
    with message-id <E1rmTIB-0010Sm-Qv@fasolo.debian.org>
    and subject line Bug#1066577: fixed in nanovg 0.0~git20230826.f93799c+dfsg-2 has caused the Debian Bug report #1066577,
    regarding nanovg: FTBFS: ../src/nanovg_gl.h:341:17: error: implicit declaration of function ‘glBlendFuncSeparate’; did you mean ‘glnvg__blendFuncSeparate’? [-Werror=implicit-function-declaration]
    to be marked as done.

    This means that you claim that the problem has been dealt with.
    If this is not the case it is now your responsibility to reopen the
    Bug report if necessary, and/or fix the problem forthwith.

    (NB: If you are a system administrator and have no idea what this
    message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org
    immediately.)


    --
    1066577: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066577
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 13 Mar 2024 12:55:00 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-106.2 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
    DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,
    FVGT_m_MULTI_ODD,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,
    UNPARSEABLE_RELAY,USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST
    autolearn=ham autolearn_force=no
    version=3.4.6-bugs.debian.org_2005_01_02
    X-Spam-Bayes: score:0.0000 Tokens: new, 222; hammy, 150; neutral, 216; spammy,
    0. spammytokens:
    hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
    0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
    0.000-+--H*RT:108, 0.000-+--H*RT:311
    Return-path: <lucas@debian.org>
    Received: from stravinsky.debi