Here's more details. I'm trying to load a library that includes some C++ code. It requires libstdc++.so.6 which is looking for __strftime_l. $ nm -D /usr/rx30/musl/lib/libstdc++.so.6 | grep __strftime_l U __strftime_l $ I get the following error when trying to load libstdc++.so.6. Error relocating /usr/rx30/musl/lib/libstdc++.so.6: __strftime_l: symbol not found On Wed, May 8, 2019 at 12:26 PM John Mudd wrote: > Hi, I'm upgrading my musl from 1.19 to 1.22 but it looks like I lost > the __strftime_l function. It's present in the 1.19 libc.so but not in 1.22. > > $ nm -D /home/mudd/musl-1.1.19.install/lib/libc.so | grep __strftime_l > 0007b6a0 T __strftime_l > $ nm -D /home/mudd/musl-1.1.22.install/lib/libc.so | grep __strftime_l > $ > > > Here's the diff on the source code. I can't explain how this diff would > cause the function to disappear. Any suggestions? > > $ diff musl-1.1.19/src/time/strftime.c /musl-1.1.22/src/time/strftime.c > 9d8 > < #include "libc.h" > 12,13d10 > < const char *__nl_langinfo_l(nl_item, locale_t); > < > 48,50d44 > < const char *__tm_to_tzname(const struct tm *); > < size_t __strftime_l(char *restrict, size_t, const char *restrict, const > struct tm *restrict, locale_t); > < > 184,186c178,179 > < *l = snprintf(*s, sizeof *s, "%+.2d%.2d", > < (tm->__tm_gmtoff)/3600, > < abs(tm->__tm_gmtoff%3600)/60); > --- > > *l = snprintf(*s, sizeof *s, "%+.4ld", > > tm->__tm_gmtoff/3600*100 + > tm->__tm_gmtoff%3600/60); > $ >