I tried compiling st with musl libc by changing CC to:
musl-gcc But it doesn't seem to work. -- _____________________________________ < Do what you like, like what you do. > ------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
st build options: CFLAGS = -g -std=c99 -pedantic -Wall -Wvariadic-macros -Os -I. -I/usr/include -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -DVERSION="0.5" -D_XOPEN_SOURCE=600 LDFLAGS = -g -L/usr/lib -lc -L/usr/X11R6/lib -lm -lrt -lX11 -lutil -lXext -lXft -lfontconfig -lfreetype -lfreetype CC = musl-gcc CC st.c In file included from st.c:5:0: /usr/include/limits.h:123:3: warning: #include_next is a GCC extension # include_next <limits.h> ^ In file included from /usr/include/bits/local_lim.h:38:0, from /usr/include/bits/posix1_lim.h:160, from /usr/include/limits.h:143, from st.c:5: /usr/include/linux/limits.h:6:0: warning: "NGROUPS_MAX" redefined #define NGROUPS_MAX 65536 /* supplemental group IDs are available */ ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:51:0: note: this is the location of the previous definition #define NGROUPS_MAX 32 ^ In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:143, from st.c:5: /usr/include/bits/local_lim.h:64:0: warning: "PTHREAD_KEYS_MAX" redefined #define PTHREAD_KEYS_MAX 1024 ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:63:0: note: this is the location of the previous definition #define PTHREAD_KEYS_MAX 128 ^ In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:143, from st.c:5: /usr/include/bits/local_lim.h:69:0: warning: "PTHREAD_DESTRUCTOR_ITERATIONS" redefined #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:65:0: note: this is the location of the previous definition #define PTHREAD_DESTRUCTOR_ITERATIONS 4 ^ In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:143, from st.c:5: /usr/include/bits/local_lim.h:81:0: warning: "PTHREAD_STACK_MIN" redefined #define PTHREAD_STACK_MIN 16384 ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:64:0: note: this is the location of the previous definition #define PTHREAD_STACK_MIN 2048 ^ In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:143, from st.c:5: /usr/include/bits/local_lim.h:84:0: warning: "DELAYTIMER_MAX" redefined #define DELAYTIMER_MAX 2147483647 ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:68:0: note: this is the location of the previous definition #define DELAYTIMER_MAX 0x7fffffff ^ In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:143, from st.c:5: /usr/include/bits/local_lim.h:93:0: warning: "HOST_NAME_MAX" redefined #define HOST_NAME_MAX 64 ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:59:0: note: this is the location of the previous definition #define HOST_NAME_MAX 255 ^ In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:143, from st.c:5: /usr/include/bits/local_lim.h:99:0: warning: "SEM_VALUE_MAX" redefined #define SEM_VALUE_MAX (2147483647) ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:66:0: note: this is the location of the previous definition #define SEM_VALUE_MAX 0x7fffffff ^ In file included from /usr/include/limits.h:147:0, from st.c:5: /usr/include/bits/posix2_lim.h:88:0: warning: "RE_DUP_MAX" redefined #define RE_DUP_MAX (0x7fff) ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:82:0: note: this is the location of the previous definition #define RE_DUP_MAX 255 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:65:0: warning: "_XOPEN_IOV_MAX" redefined #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:150:0: note: this is the location of the previous definition #define _XOPEN_IOV_MAX 16 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:70:0: warning: "NL_ARGMAX" redefined #define NL_ARGMAX _POSIX_ARG_MAX ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:84:0: note: this is the location of the previous definition #define NL_ARGMAX 9 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:73:0: warning: "NL_LANGMAX" redefined #define NL_LANGMAX _POSIX2_LINE_MAX ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:85:0: note: this is the location of the previous definition #define NL_LANGMAX 32 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:76:0: warning: "NL_MSGMAX" redefined #define NL_MSGMAX INT_MAX ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:86:0: note: this is the location of the previous definition #define NL_MSGMAX 32767 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:80:0: warning: "NL_NMAX" redefined #define NL_NMAX INT_MAX ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:95:0: note: this is the location of the previous definition #define NL_NMAX 16 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:83:0: warning: "NL_SETMAX" redefined #define NL_SETMAX INT_MAX ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:87:0: note: this is the location of the previous definition #define NL_SETMAX 255 ^ In file included from /usr/include/limits.h:151:0, from st.c:5: /usr/include/bits/xopen_lim.h:86:0: warning: "NL_TEXTMAX" redefined #define NL_TEXTMAX INT_MAX ^ In file included from /usr/include/limits.h:123:0, from st.c:5: /usr/lib/musl/include/limits.h:88:0: note: this is the location of the previous definition #define NL_TEXTMAX 2048 ^ In file included from /usr/include/libio.h:31:0, from /usr/include/stdio.h:74, from st.c:10: /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/libio.h:44:21: note: in expansion of macro ‘_G_va_list’ #define _IO_va_list _G_va_list ^ /usr/include/libio.h:465:4: note: in expansion of macro ‘_IO_va_list’ _IO_va_list, int *__restrict); ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/libio.h:44:21: note: in expansion of macro ‘_G_va_list’ #define _IO_va_list _G_va_list ^ /usr/include/libio.h:467:5: note: in expansion of macro ‘_IO_va_list’ _IO_va_list); ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:79:9: note: in expansion of macro ‘_G_va_list’ typedef _G_va_list va_list; ^ In file included from st.c:10:0: /usr/include/stdio.h:79:20: error: conflicting types for ‘va_list’ typedef _G_va_list va_list; ^ In file included from /usr/lib/musl/include/stdarg.h:10:0, from st.c:8: /usr/lib/musl/include/bits/alltypes.h:6:27: note: previous declaration of ‘va_list’ was here typedef __builtin_va_list va_list; ^ In file included from /usr/include/libio.h:31:0, from /usr/include/stdio.h:74, from st.c:10: /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:372:8: note: in expansion of macro ‘_G_va_list’ _G_va_list __arg); ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:377:54: note: in expansion of macro ‘_G_va_list’ extern int vprintf (const char *__restrict __format, _G_va_list __arg); ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:380:8: note: in expansion of macro ‘_G_va_list’ _G_va_list __arg) __THROWNL; ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:391:42: note: in expansion of macro ‘_G_va_list’ const char *__restrict __format, _G_va_list __arg) ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:472:7: note: in expansion of macro ‘_G_va_list’ _G_va_list __arg) ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:479:53: note: in expansion of macro ‘_G_va_list’ extern int vscanf (const char *__restrict __format, _G_va_list __arg) ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/stdio.h:484:40: note: in expansion of macro ‘_G_va_list’ const char *__restrict __format, _G_va_list __arg) ^ In file included from /usr/include/features.h:365:0, from /usr/include/ctype.h:25, from st.c:2: /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/sys/cdefs.h:177:46: note: in definition of macro ‘__REDIRECT’ # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) ^ /usr/include/stdio.h:496:37: note: in expansion of macro ‘_G_va_list’ const char *__restrict __format, _G_va_list __arg), ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/sys/cdefs.h:177:46: note: in definition of macro ‘__REDIRECT’ # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) ^ /usr/include/stdio.h:500:5: note: in expansion of macro ‘_G_va_list’ _G_va_list __arg), __isoc99_vscanf) ^ /usr/include/_G_config.h:46:20: error: unknown type name ‘__gnuc_va_list’ #define _G_va_list __gnuc_va_list ^ /usr/include/sys/cdefs.h:185:11: note: in definition of macro ‘__REDIRECT_NTH’ name proto __asm__ (__ASMNAME (#alias)) __THROW ^ /usr/include/stdio.h:505:8: note: in expansion of macro ‘_G_va_list’ _G_va_list __arg), __isoc99_vsscanf) ^ In file included from /usr/include/X11/Xlib.h:47:0, from st.c:25: /usr/include/X11/Xfuncproto.h:157:24: warning: ISO C does not permit named variadic macros [-Wvariadic-macros] #define _X_NONNULL(args...) __attribute__((nonnull(args))) ^ In file included from /usr/include/freetype2/config/ftstdlib.h:60:0, from /usr/include/freetype2/config/ftconfig.h:43, from /usr/include/freetype2/freetype.h:33, from /usr/include/X11/Xft/Xft.h:40, from st.c:29: /usr/include/limits.h:123:3: warning: #include_next is a GCC extension # include_next <limits.h> ^ In file included from st.c:32:0: /usr/include/wchar.h:614:9: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg) ^ /usr/include/wchar.h:621:8: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg) ^ /usr/include/wchar.h:627:9: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg) ^ /usr/include/wchar.h:691:8: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg) ^ /usr/include/wchar.h:698:7: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg) ^ /usr/include/wchar.h:703:8: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg) ^ In file included from /usr/include/features.h:365:0, from /usr/include/ctype.h:25, from st.c:2: /usr/include/wchar.h:712:7: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg), __isoc99_vfwscanf) ^ /usr/include/sys/cdefs.h:177:46: note: in definition of macro ‘__REDIRECT’ # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) ^ /usr/include/wchar.h:715:6: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg), __isoc99_vwscanf) ^ /usr/include/sys/cdefs.h:177:46: note: in definition of macro ‘__REDIRECT’ # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) ^ /usr/include/wchar.h:719:11: error: unknown type name ‘__gnuc_va_list’ __gnuc_va_list __arg), __isoc99_vswscanf) ^ /usr/include/sys/cdefs.h:185:11: note: in definition of macro ‘__REDIRECT_NTH’ name proto __asm__ (__ASMNAME (#alias)) __THROW ^ In file included from st.c:8:0: st.c: In function ‘die’: st.c:1191:11: warning: passing argument 1 of ‘__builtin_va_start’ from incompatible pointer type va_start(ap, errstr); ^ st.c:1191:11: note: expected ‘struct __va_list *’ but argument is of type ‘va_list *’ st.c:1192:2: warning: implicit declaration of function ‘vfprintf’ [-Wimplicit-function-declaration] vfprintf(stderr, errstr, ap); ^ In file included from st.c:8:0: st.c:1193:9: warning: passing argument 1 of ‘__builtin_va_end’ from incompatible pointer type va_end(ap); ^ st.c:1193:9: note: expected ‘struct __va_list *’ but argument is of type ‘va_list *’ Makefile:21: recipe for target 'st.o' failed make: *** [st.o] Error 1
pgp1OlmcUI4ck.pgp
Description: PGP signature