Hi,
I tried to build new 4.0 release on Mageia Cauldron but it fails with an incompatible pointer type:
parse.c:413:72: error: passing argument 3 of 'id3tag_set_textinfo_utf8' from incompatible pointer type [-Wincompatible-pointer-types]
413 | case 'a': return id3tag_set_textinfo_utf8(gfp, "TPE1", str);
| ^~~
| |
| const short unsigned int *
In file included from parse.c:54:
../include/lame.h:1306:76: note: expected 'const char *' but argument is of type 'const short unsigned int *'
1306 | int CDECL id3tag_set_textinfo_utf8(lame_t gfp, char const *id, char const *text);
| ~~~~~~~~~~~~^~~~
parse.c:414:72: error: passing argument 3 of 'id3tag_set_textinfo_utf8' from incompatible pointer type [-Wincompatible-pointer-types]
414 | case 't': return id3tag_set_textinfo_utf8(gfp, "TIT2", str);
| ^~~
| |
| const short unsigned int *
../include/lame.h:1306:76: note: expected 'const char *' but argument is of type 'const short unsigned int *'
1306 | int CDECL id3tag_set_textinfo_utf8(lame_t gfp, char const *id, char const *text);
| ~~~~~~~~~~~~^~~~
parse.c:415:72: error: passing argument 3 of 'id3tag_set_textinfo_utf8' from incompatible pointer type [-Wincompatible-pointer-types]
415 | case 'l': return id3tag_set_textinfo_utf8(gfp, "TALB", str);
| ^~~
| |
| const short unsigned int *
../include/lame.h:1306:76: note: expected 'const char *' but argument is of type 'const short unsigned int *'
1306 | int CDECL id3tag_set_textinfo_utf8(lame_t gfp, char const *id, char const *text);
| ~~~~~~~~~~~~^~~~
parse.c:416:72: error: passing argument 3 of 'id3tag_set_textinfo_utf8' from incompatible pointer type [-Wincompatible-pointer-types]
416 | case 'g': return id3tag_set_textinfo_utf8(gfp, "TCON", str);
| ^~~
| |
| const short unsigned int *
../include/lame.h:1306:76: note: expected 'const char *' but argument is of type 'const short unsigned int *'
1306 | int CDECL id3tag_set_textinfo_utf8(lame_t gfp, char const *id, char const *text);
| ~~~~~~~~~~~~^~~~
parse.c:417:34: error: implicit declaration of function 'id3tag_set_comment_ucs2'; did you mean 'id3tag_set_comment_utf8'? [-Wimplicit-function-declaration]
417 | case 'c': return id3tag_set_comment_ucs2(gfp, 0, 0, str);
| ^~~~~~~~~~~~~~~~~~~~~~~
| id3tag_set_comment_utf8
parse.c:418:72: error: passing argument 3 of 'id3tag_set_textinfo_utf8' from incompatible pointer type [-Wincompatible-pointer-types]
418 | case 'n': return id3tag_set_textinfo_utf8(gfp, "TRCK", str);
| ^~~
| |
| const short unsigned int *
../include/lame.h:1306:76: note: expected 'const char *' but argument is of type 'const short unsigned int *'
1306 | int CDECL id3tag_set_textinfo_utf8(lame_t gfp, char const *id, char const *text);
| ~~~~~~~~~~~~^~~~
parse.c:419:72: error: passing argument 3 of 'id3tag_set_textinfo_utf8' from incompatible pointer type [-Wincompatible-pointer-types]
419 | case 'y': return id3tag_set_textinfo_utf8(gfp, "TYER", str);
| ^~~
| |
| const short unsigned int *
../include/lame.h:1306:76: note: expected 'const char *' but argument is of type 'const short unsigned int *'
1306 | int CDECL id3tag_set_textinfo_utf8(lame_t gfp, char const *id, char const *text);
| ~~~~~~~~~~~~^~~~
parse.c:420:34: error: implicit declaration of function 'id3tag_set_fieldvalue_ucs2'; did you mean 'id3tag_set_fieldvalue_utf16'? [-Wimplicit-function-declaration]
420 | case 'v': return id3tag_set_fieldvalue_ucs2(gfp, str);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| id3tag_set_fieldvalue_utf16
make[2]: *** [Makefile:529: parse.o] Error 1
Build using gcc16.
gcc16 seems to be more picky than earlier versions. Try to build with <16 or clang for the moment. gcc16 fixes are in the pipeline.
Also fail with GCC 15
Last edit: Debian Package 2026-07-12
Also fails with Clang 22.1.8
Fixed in the development tree, will be part of 4.1. Tested with gcc 16.