@eht16 Ok, so `universal-ctags` port will build with the default compiler choice, because old Xcode gcc of 10.6 does not fail on incompatible pointer types, but just issues a warning (which it does in this case).
``` CC main/libctags_a-portable-scandir.o main/portable-scandir.c: In function 'scanDirectory': main/portable-scandir.c:238:56: error: passing argument 3 of 'scandir' from incompatible pointer type [-Wincompatible-pointer-types] 238 | return scandir (directory_name, array_pointer, select_function, compare_function); | ^~~~~~~~~~~~~~~ | | | int (*)(const struct dirent *) In file included from /opt/local/include/LegacySupport/dirent.h:27, from main/portable-dirent_p.h:5, from main/routines_p.h:17, from main/portable-scandir.c:112: /usr/include/dirent.h:129:5: note: expected 'int (*)(struct dirent *)' but argument is of type 'int (*)(const struct dirent *)' 129 | int (*)(struct dirent *), int (*)(const void *, const void *)) __DARWIN_INODE64(scandir); | ^~~~~~~~~~~~~~~~~~~~~~~~ main/portable-scandir.c:238:73: error: passing argument 4 of 'scandir' from incompatible pointer type [-Wincompatible-pointer-types] 238 | return scandir (directory_name, array_pointer, select_function, compare_function); | ^~~~~~~~~~~~~~~~ | | | int (*)(const struct dirent **, const struct dirent **) /usr/include/dirent.h:129:31: note: expected 'int (*)(const void *, const void *)' but argument is of type 'int (*)(const struct dirent **, const struct dirent **)' 129 | int (*)(struct dirent *), int (*)(const void *, const void *)) __DARWIN_INODE64(scandir); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [main/libctags_a-portable-scandir.o] Error 1 make[2]: *** Waiting for unfinished jobs.... ```
The same goes for old Xcode clang, so you can see a warning but no error in the buildbot log: https://build.macports.org/builders/ports-10.7_x86_64-builder/builds/212887/...
It fails to build with gcc14, which does not accept incompatible pointer types.