On Tue, Feb 13, 2018 at 9:06 PM, Geraldo Netto <geraldone...@gmail.com> wrote:
> Dear Friends, > > I was playing with current version of musl on osv > I have progressed in compilation, but still failing as below > > Most problems are related to locales (wide chars?), math, some stdio, etc > Do you happen to have any magic suggestion/guidance? :) > No magic suggestion, but it's not going to be a walk in the park... As you may have noticed, for some of the Musl stuff we don't take the unmodified Musl code directly, but rather take a *modified* version in libc/. Often the git history of the modified file says why we modified it. It's also not always clear what we modified it *from* - in some cases we modified an even older version and not the version in the current musl/ submodule. You may need or want to take the newer Musl code and make the same modifications we did - or even better (when possible...) try to push our modifications upstream to Musl so they are no longer a modification. All in all, this is not going to be a simple project, and it also will not be easy to test the results - although we do have unit tests, I wouldn't presume they test everything, and you'll need to run a bunch of code which uses all these modified functions, or write new tests, to have any certainty that things continue to work. > ... > LINK zpool.so > CXX runtime.cc > LINK zfs.so > LINK cpiod.so > MKBOOTFS build/release.x64/bootfs.bin > AS bootfs.s > LINK loader.elf > build/release.x64/musl/src/ctype/iswctype.o: In function `__iswctype_l': > /home/netto/osv-dirty/musl/src/ctype/iswctype.c:66: multiple definition > of `__iswctype_l' > build/release.x64/libc/locale/iswctype_l.o:/home/netto/osv- > dirty/libc/locale/iswctype_l.c:6: first defined here > So, you're taking the new musl "iswctype.c" and the older version we have in libc/locale/iswctyle_l.c, so it's no wonder you have two definitions. In this and similar cases, you'll need to understand why we had our own modified version of this function and didn't just take musl/'s version directly - and you'll need to think if we still need this modification. > build/release.x64/musl/src/ctype/iswctype.o: In function `__wctype_l': > /home/netto/osv-dirty/musl/src/ctype/iswctype.c:71: multiple definition > of `__wctype_l' > build/release.x64/libc/locale/wctype_l.o:/home/netto/osv- > dirty/libc/locale/wctype_l.c:5: first defined here > build/release.x64/musl/src/ctype/toupper.o: In function `toupper': > /home/netto/osv-dirty/musl/src/ctype/toupper.c:6: multiple definition of > `__toupper_l' > build/release.x64/libc/locale/toupper_l.o:/home/netto/osv- > dirty/libc/locale/toupper_l.c:6: first defined here > build/release.x64/musl/src/ctype/towctrans.o: In function `__towupper_l': > /home/netto/osv-dirty/musl/src/ctype/towctrans.c:269: multiple definition > of `__towupper_l' > build/release.x64/libc/locale/towupper_l.o:/home/netto/osv- > dirty/libc/locale/towupper_l.c:5: first defined here > build/release.x64/musl/src/ctype/towctrans.o: In function `__towlower_l': > /home/netto/osv-dirty/musl/src/ctype/towctrans.c:274: multiple definition > of `__towlower_l' > build/release.x64/libc/locale/towlower_l.o:/home/netto/osv- > dirty/libc/locale/towlower_l.c:5: first defined here > build/release.x64/core/elf.o: In function `elf::file::load_elf_header()': > /home/netto/osv-dirty/core/elf.cc:236: undefined reference to `strerror' > These and similar errors suggest that something happened to the header file which strerror. <string.h> is supposed to define strerror() and indeed include/api/string.h define it... Maybe it no longer does in your version? Did you notice that include/api/ includes symbolic links to musl's header files? Did you remember to fix those appropriately? > build/release.x64/core/trace.o: In function `trace_out::trace_out()': > /home/netto/osv-dirty/core/trace.cc:526: undefined reference to `tempnam' > /home/netto/osv-dirty/core/trace.cc:526: undefined reference to `tempnam' > build/release.x64/core/app.o: In function `osv::application::run_main( > std::__cxx11::basic_string<char, std::char_traits<char>, > std::allocator<char> >, int, char**)': > /home/netto/osv-dirty/core/app.cc:334: undefined reference to `optind' > /home/netto/osv-dirty/core/app.cc:335: undefined reference to `optind' > /home/netto/osv-dirty/core/app.cc:337: undefined reference to `optind' > build/release.x64/fs/vfs/main.o: In function `mount_rootfs()': > /home/netto/osv-dirty/fs/vfs/main.cc:2200: undefined reference to > `strerror' > /home/netto/osv-dirty/fs/vfs/main.cc:2193: undefined reference to > `strerror' > /home/netto/osv-dirty/fs/vfs/main.cc:2196: undefined reference to > `strerror' > build/release.x64/fs/vfs/main.o: In function `unmount_rootfs': > /home/netto/osv-dirty/fs/vfs/main.cc:2315: undefined reference to > `strerror' > /home/netto/osv-dirty/fs/vfs/main.cc:2309: undefined reference to > `strerror' > build/release.x64/fs/vfs/main.o:/home/netto/osv-dirty/fs/vfs/main.cc:2293: > more undefined references to `strerror' follow > build/release.x64/libc/internal/floatscan.o: In function `decfloat': > /home/netto/osv-dirty/libc/internal/floatscan.c:282: undefined reference > to `fmodl' > /home/netto/osv-dirty/libc/internal/floatscan.c:300: undefined reference > to `scalbnl' > /home/netto/osv-dirty/libc/internal/floatscan.c:264: undefined reference > to `fmodl' > build/release.x64/libc/internal/floatscan.o: In function `hexfloat': > /home/netto/osv-dirty/libc/internal/floatscan.c:412: undefined reference > to `scalbnl' > build/release.x64/libc/math/finitel.o: In function `__finitel': > /home/netto/osv-dirty/libc/math/finitel.c:6: undefined reference to > `__fpclassifyl' > build/release.x64/libc/misc/mntent.o: In function `endmntent': > /home/netto/osv-dirty/libc/misc/mntent.cc:108: undefined reference to > `fclose' > build/release.x64/libc/network/getaddrinfo.o: In function `getaddrinfo': > /home/netto/osv-dirty/libc/network/getaddrinfo.c:95: undefined reference > to `fclose' > /home/netto/osv-dirty/libc/network/getaddrinfo.c:153: undefined reference > to `fclose' > /home/netto/osv-dirty/libc/network/getaddrinfo.c:184: undefined reference > to `fclose' > build/release.x64/libc/network/getnameinfo.o: In function `getnameinfo': > /home/netto/osv-dirty/libc/network/getnameinfo.c:54: undefined reference > to `fclose' > build/release.x64/libc/network/getnameinfo.o:/home/ > netto/osv-dirty/libc/network/getnameinfo.c:57: more undefined references > to `fclose' follow > build/release.x64/libc/stdio/freopen.o: In function `freopen': > /home/netto/osv-dirty/libc/stdio/freopen.c:22: undefined reference to > `fflush' > /home/netto/osv-dirty/libc/stdio/freopen.c:42: undefined reference to > `fclose' > /home/netto/osv-dirty/libc/stdio/freopen.c:51: undefined reference to > `fclose' > /home/netto/osv-dirty/libc/stdio/freopen.c:49: undefined reference to > `fclose' > build/release.x64/libc/stdio/stdin.o: In function `__stdin_read': > /home/netto/osv-dirty/libc/stdio/stdin.c:10: undefined reference to > `fflush' > build/release.x64/libc/stdio/vfprintf.o: In function `fmt_fp': > /home/netto/osv-dirty/libc/stdio/vfprintf.c:221: undefined reference to > `__signbitl' > /home/netto/osv-dirty/libc/stdio/vfprintf.c:229: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/libc/stdio/vfprintf.c:239: undefined reference to > `frexpl' > build/release.x64/libc/stdio/vfprintf.o: In function `printf_core': > /home/netto/osv-dirty/libc/stdio/vfprintf.c:603: undefined reference to > `strerror' > build/release.x64/libc/stdio/vfwscanf.o: In function `vfwscanf': > /home/netto/osv-dirty/libc/stdio/vfwscanf.c:120: undefined reference to > `ungetwc' > /home/netto/osv-dirty/libc/stdio/vfwscanf.c:113: undefined reference to > `ungetwc' > /home/netto/osv-dirty/libc/stdio/vfwscanf.c:188: undefined reference to > `ungetwc' > /home/netto/osv-dirty/libc/stdio/vfwscanf.c:239: undefined reference to > `ungetwc' > /home/netto/osv-dirty/libc/stdio/vfwscanf.c:269: undefined reference to > `ungetwc' > build/release.x64/libc/stdio/vfwscanf.o:/home/netto/osv- > dirty/libc/stdio/vfwscanf.c:230: more undefined references to `ungetwc' > follow > build/release.x64/libc/string/strerror_r.o: In function > `__xpg_strerror_r': > /home/netto/osv-dirty/libc/string/strerror_r.c:17: undefined reference to > `strerror' > build/release.x64/musl/src/math/atan2.o: In function `atan2': > /home/netto/osv-dirty/musl/src/math/atan2.c:99: undefined reference to > `atan' > /home/netto/osv-dirty/musl/src/math/atan2.c:56: undefined reference to > `atan' > build/release.x64/musl/src/math/expl.o: In function `expl': > /home/netto/osv-dirty/musl/src/math/expl.c:98: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/expl.c:108: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/expl.c:120: undefined reference to > `scalbnl' > build/release.x64/musl/src/math/expm1l.o: In function `expm1l': > /home/netto/osv-dirty/musl/src/math/expm1l.c:87: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/expm1l.c:98: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/expm1l.c:113: undefined reference to > `scalbnl' > build/release.x64/musl/src/math/fdiml.o: In function `fdiml': > /home/netto/osv-dirty/musl/src/math/fdiml.c:12: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/fdiml.c:14: undefined reference to > `__fpclassifyl' > build/release.x64/musl/src/math/fmaxl.o: In function `fmaxl': > /home/netto/osv-dirty/musl/src/math/fmaxl.c:12: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/fmaxl.c:14: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/fmaxl.c:17: undefined reference to > `__signbitl' > /home/netto/osv-dirty/musl/src/math/fmaxl.c:17: undefined reference to > `__signbitl' > /home/netto/osv-dirty/musl/src/math/fmaxl.c:18: undefined reference to > `__signbitl' > build/release.x64/musl/src/math/fminl.o: In function `fminl': > /home/netto/osv-dirty/musl/src/math/fminl.c:12: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/fminl.c:14: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/fminl.c:17: undefined reference to > `__signbitl' > /home/netto/osv-dirty/musl/src/math/fminl.c:17: undefined reference to > `__signbitl' > /home/netto/osv-dirty/musl/src/math/fminl.c:18: undefined reference to > `__signbitl' > build/release.x64/musl/src/math/ldexpl.o: In function `ldexpl': > /home/netto/osv-dirty/musl/src/math/ldexpl.c:5: undefined reference to > `scalbnl' > build/release.x64/musl/src/math/log10l.o: In function `log10l': > /home/netto/osv-dirty/musl/src/math/log10l.c:123: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/log10l.c:136: undefined reference to > `frexpl' > build/release.x64/musl/src/math/log1pl.o: In function `log1pl': > /home/netto/osv-dirty/musl/src/math/log1pl.c:109: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/log1pl.c:127: undefined reference to > `frexpl' > build/release.x64/musl/src/math/log2l.o: In function `log2l': > /home/netto/osv-dirty/musl/src/math/log2l.c:114: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/log2l.c:128: undefined reference to > `frexpl' > build/release.x64/musl/src/math/logb.o: In function `logb': > /home/netto/osv-dirty/musl/src/math/logb.c:16: undefined reference to > `ilogb' > build/release.x64/musl/src/math/logbf.o: In function `logbf': > /home/netto/osv-dirty/musl/src/math/logbf.c:9: undefined reference to > `ilogbf' > build/release.x64/musl/src/math/logbl.o: In function `logbl': > /home/netto/osv-dirty/musl/src/math/logbl.c:10: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/logbl.c:14: undefined reference to > `ilogbl' > build/release.x64/musl/src/math/logl.o: In function `logl': > /home/netto/osv-dirty/musl/src/math/logl.c:113: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/logl.c:127: undefined reference to > `frexpl' > build/release.x64/musl/src/math/nearbyintl.o: In function `nearbyintl': > /home/netto/osv-dirty/musl/src/math/nearbyintl.c:19: undefined reference > to `rintl' > build/release.x64/musl/src/math/nexttoward.o: In function `nexttoward': > /home/netto/osv-dirty/musl/src/math/nexttoward.c:14: undefined reference > to `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/nexttoward.c:20: undefined reference > to `__signbitl' > build/release.x64/musl/src/math/nexttowardf.o: In function `nexttowardf': > /home/netto/osv-dirty/musl/src/math/nexttowardf.c:8: undefined reference > to `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/nexttowardf.c:14: undefined reference > to `__signbitl' > build/release.x64/musl/src/math/nexttowardl.o: In function `nexttowardl': > /home/netto/osv-dirty/musl/src/math/nexttowardl.c:5: undefined reference > to `nextafterl' > build/release.x64/musl/src/math/powl.o: In function `powl': > /home/netto/osv-dirty/musl/src/math/powl.c:203: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/powl.c:204: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/powl.c:208: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/powl.c:215: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/powl.c:239: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/powl.c:290: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/powl.c:296: undefined reference to > `frexpl' > build/release.x64/musl/src/math/powl.o: In function `reducl': > /home/netto/osv-dirty/musl/src/math/powl.c:416: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/powl.c:416: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/powl.c:416: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/powl.c:416: undefined reference to > `floorl' > build/release.x64/musl/src/math/powl.o: In function `powl': > /home/netto/osv-dirty/musl/src/math/powl.c:402: undefined reference to > `scalbnl' > /home/netto/osv-dirty/musl/src/math/powl.c:250: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/powl.c:278: undefined reference to > `__signbitl' > build/release.x64/musl/src/math/powl.o: In function `powil': > /home/netto/osv-dirty/musl/src/math/powl.c:474: undefined reference to > `frexpl' > build/release.x64/musl/src/math/powl.o: In function `powl': > /home/netto/osv-dirty/musl/src/math/powl.c:272: undefined reference to > `__signbitl' > build/release.x64/musl/src/math/remainderl.o: In function `remainderl': > /home/netto/osv-dirty/musl/src/math/remainderl.c:13: undefined reference > to `remquol' > build/release.x64/musl/src/math/significand.o: In function `significand': > /home/netto/osv-dirty/musl/src/math/significand.c:6: undefined reference > to `ilogb' > build/release.x64/musl/src/math/significandf.o: In function > `significandf': > /home/netto/osv-dirty/musl/src/math/significandf.c:6: undefined reference > to `ilogbf' > build/release.x64/musl/src/math/tgammal.o: In function `tgammal': > /home/netto/osv-dirty/musl/src/math/tgammal.c:209: undefined reference to > `__fpclassifyl' > /home/netto/osv-dirty/musl/src/math/tgammal.c:215: undefined reference to > `floorl' > /home/netto/osv-dirty/musl/src/math/tgammal.c:226: undefined reference to > `sinl' > /home/netto/osv-dirty/musl/src/math/tgammal.c:230: undefined reference to > `floorl' > build/release.x64/musl/src/misc/getopt_long.o: In function > `__getopt_long': > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:26: undefined reference > to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:26: undefined reference > to `__optreset' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:39: undefined reference > to `optind' > build/release.x64/musl/src/misc/getopt_long.o: In function > `__getopt_long_core': > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:54: undefined reference > to `optarg' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:122: undefined > reference to `getopt' > build/release.x64/musl/src/misc/getopt_long.o: In function > `__getopt_long': > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:44: undefined reference > to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:47: undefined reference > to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:27: undefined reference > to `__optreset' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:28: undefined reference > to `__optpos' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:29: undefined reference > to `optind' > build/release.x64/musl/src/misc/getopt_long.o: In function > `__getopt_long_core': > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:111: undefined > reference to `optopt' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:112: undefined > reference to `opterr' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:113: undefined > reference to `__getopt_msg' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:113: undefined > reference to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:118: undefined > reference to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:77: undefined reference > to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:91: undefined reference > to `optarg' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:101: undefined > reference to `optind' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:80: undefined reference > to `optopt' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:81: undefined reference > to `opterr' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:83: undefined reference > to `__getopt_msg' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:89: undefined reference > to `optarg' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:92: undefined reference > to `optopt' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:94: undefined reference > to `opterr' > /home/netto/osv-dirty/musl/src/misc/getopt_long.c:95: undefined reference > to `__getopt_msg' > build/release.x64/musl/src/network/gethostbyname2_r.o: In function > `gethostbyname2_r': > /home/netto/osv-dirty/musl/src/network/gethostbyname2_r.c:21: undefined > reference to `__lookup_name' > build/release.x64/musl/src/network/getservbyname_r.o: In function > `getservbyname_r': > /home/netto/osv-dirty/musl/src/network/getservbyname_r.c:37: undefined > reference to `__lookup_serv' > build/release.x64/musl/src/stdio/__toread.o: In function > `__toread_needs_stdio_exit': > /home/netto/osv-dirty/musl/src/stdio/__toread.c:20: undefined reference > to `__stdio_exit_needed' > build/release.x64/musl/src/stdio/__towrite.o: In function > `__towrite_needs_stdio_exit': > /home/netto/osv-dirty/musl/src/stdio/__towrite.c:24: undefined reference > to `__stdio_exit_needed' > build/release.x64/musl/src/stdio/ext.o: In function `_flushlbf': > /home/netto/osv-dirty/musl/src/stdio/ext.c:7: undefined reference to > `fflush' > build/release.x64/musl/src/stdio/fgetpos.o: In function `fgetpos': > /home/netto/osv-dirty/musl/src/stdio/fgetpos.c:5: undefined reference to > `__ftello' > build/release.x64/musl/src/stdio/fgetws.o: In function `fgetws': > /home/netto/osv-dirty/musl/src/stdio/fgetws.c:15: undefined reference to > `__fgetwc_unlocked' > build/release.x64/musl/src/stdio/getwc.o: In function `getwc': > /home/netto/osv-dirty/musl/src/stdio/getwc.c:6: undefined reference to > `fgetwc' > build/release.x64/musl/src/stdio/getwchar.o: In function `getwchar': > /home/netto/osv-dirty/musl/src/stdio/getwchar.c:6: undefined reference to > `fgetwc' > build/release.x64/musl/src/stdio/perror.o: In function `perror': > /home/netto/osv-dirty/musl/src/stdio/perror.c:9: undefined reference to > `strerror' > build/release.x64/musl/src/stdio/putwc.o: In function `putwc': > /home/netto/osv-dirty/musl/src/stdio/putwc.c:6: undefined reference to > `fputwc' > build/release.x64/musl/src/stdio/putwchar.o: In function `putwchar': > /home/netto/osv-dirty/musl/src/stdio/putwchar.c:6: undefined reference to > `fputwc' > build/release.x64/musl/src/stdio/vfwprintf.o: In function `out': > /home/netto/osv-dirty/musl/src/stdio/vfwprintf.c:125: undefined reference > to `fputwc' > build/release.x64/musl/src/stdio/vfwprintf.o: In function `wprintf_core': > /home/netto/osv-dirty/musl/src/stdio/vfwprintf.c:291: undefined reference > to `fputwc' > /home/netto/osv-dirty/musl/src/stdio/vfwprintf.c:277: undefined reference > to `strerror' > /home/netto/osv-dirty/musl/src/stdio/vfwprintf.c:258: undefined reference > to `fputwc' > /home/netto/osv-dirty/musl/src/stdio/vfwprintf.c:262: undefined reference > to `fputwc' > build/release.x64/musl/src/stdio/vfwprintf.o: In function `vfwprintf': > /home/netto/osv-dirty/musl/src/stdio/vfwprintf.c:350: undefined reference > to `fwide' > build/release.x64/musl/src/time/getdate.o: In function `getdate': > /home/netto/osv-dirty/musl/src/time/getdate.c:43: undefined reference to > `fclose' > build/release.x64/musl/src/regex/glob.o: In function `match_in_dir': > /home/netto/osv-dirty/musl/src/regex/glob.c:97: undefined reference to > `fnmatch' > /home/netto/osv-dirty/musl/src/regex/glob.c:107: undefined reference to > `fnmatch' > /usr/lib/gcc/x86_64-linux-gnu/5/libgcc.a(_eprintf.o): In function > `__eprintf': > (.text+0x27): undefined reference to `fflush' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(wlocale-inst.o): In function > `std::messages<wchar_t>::open(std::string const&, std::locale const&, > char const*) const': > (.text._ZNKSt8messagesIwE4openERKSsRKSt6localePKc[_ > ZNKSt8messagesIwE4openERKSsRKSt6localePKc]+0x15): undefined reference to > `bindtextdomain' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(system_error.o): In function > `(anonymous namespace)::system_error_category::message[abi:cxx11](int) > const': > (.text._ZNK12_GLOBAL__N_121system_error_category7messageB5cxx11Ei+0xc): > undefined reference to `strerror' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(locale-inst.o): In function > `std::messages<char>::open(std::string const&, std::locale const&, char > const*) const': > (.text._ZNKSt8messagesIcE4openERKSsRKSt6localePKc[_ > ZNKSt8messagesIcE4openERKSsRKSt6localePKc]+0x15): undefined reference to > `bindtextdomain' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(cxx11-locale-inst.o): In > function `std::__cxx11::messages<char>::open(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, std::locale const&, > char const*) const': > (.text._ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_ > traitsIcESaIcEEERKSt6localePKc[_ZNKSt7__cxx118messagesIcE4openERKNS_ > 12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc]+0x15): undefined > reference to `bindtextdomain' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(cxx11-wlocale-inst.o): In > function > `std::__cxx11::messages<wchar_t>::open(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, std::locale const&, > char const*) const': > (.text._ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_ > traitsIcESaIcEEERKSt6localePKc[_ZNKSt7__cxx118messagesIwE4openERKNS_ > 12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc]+0x15): undefined > reference to `bindtextdomain' > build/release.x64/musl/src/math/llroundl.o: In function `llroundl': > /home/netto/osv-dirty/musl/src/math/llroundl.c:5: undefined reference to > `roundl' > build/release.x64/musl/src/math/lroundl.o: In function `lroundl': > /home/netto/osv-dirty/musl/src/math/lroundl.c:5: undefined reference to > `roundl' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members.o): In > function > `std::__cxx11::messages<char>::do_open(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, std::locale const&) > const': > (.text._ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_ > traitsIcESaIcEEERKSt6locale+0x46): undefined reference to > `bind_textdomain_codeset' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members.o): In > function `std::__cxx11::messages<char>::do_get(int, int, int, > std::__cxx11::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&) const': > (.text._ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE+0x14c): > undefined reference to `dgettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members.o): In > function > `std::__cxx11::messages<wchar_t>::do_open(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, std::locale const&) > const': > (.text._ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_ > traitsIcESaIcEEERKSt6locale+0x46): undefined reference to > `bind_textdomain_codeset' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members.o): In > function `std::__cxx11::messages<wchar_t>::do_get(int, int, int, > std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, > std::allocator<wchar_t> > const&) const': > (.text._ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE+0x219): > undefined reference to `dgettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(hash_tr1.o): In function > `std::tr1::hash<long double>::operator()(long double) const': > (.text._ZNKSt3tr14hashIeEclEe+0x4d): undefined reference to `frexpl' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members_cow.o): In > function `std::messages<char>::do_open(std::string const&, std::locale > const&) const': > (.text._ZNKSt8messagesIcE7do_openERKSsRKSt6locale+0x46): undefined > reference to `bind_textdomain_codeset' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members_cow.o): In > function `std::messages<char>::do_get(int, int, int, std::string const&) > const': > (.text._ZNKSt8messagesIcE6do_getEiiiRKSs+0x160): undefined reference to > `dgettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members_cow.o): In > function `std::messages<wchar_t>::do_open(std::string const&, std::locale > const&) const': > (.text._ZNKSt8messagesIwE7do_openERKSsRKSt6locale+0x46): undefined > reference to `bind_textdomain_codeset' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(messages_members_cow.o): In > function `std::messages<wchar_t>::do_get(int, int, int, > std::basic_string<wchar_t, std::char_traits<wchar_t>, > std::allocator<wchar_t> > const&) const': > (.text._ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE+0x1f9): > undefined reference to `dgettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(basic_file.o): In function > `std::__basic_file<char>::close()': > (.text._ZNSt12__basic_fileIcE5closeEv+0x3a): undefined reference to > `fclose' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(basic_file.o): In function > `std::__basic_file<char>::sync()': > (.text._ZNSt12__basic_fileIcE4syncEv+0x4): undefined reference to `fflush' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(hash_c++0x.o): In function > `std::hash<long double>::operator()(long double) const': > (.text._ZNKSt4hashIeEclEe+0x4d): undefined reference to `frexpl' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(functexcept.o): In function > `std::__throw_logic_error(char const*)': > (.text._ZSt19__throw_logic_errorPKc+0x1a): undefined reference to > `gettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(functexcept.o): In function > `std::__throw_domain_error(char const*)': > (.text._ZSt20__throw_domain_errorPKc+0x1a): undefined reference to > `gettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(functexcept.o): In function > `std::__throw_invalid_argument(char const*)': > (.text._ZSt24__throw_invalid_argumentPKc+0x1a): undefined reference to > `gettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(functexcept.o): In function > `std::__throw_length_error(char const*)': > (.text._ZSt20__throw_length_errorPKc+0x1a): undefined reference to > `gettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(functexcept.o): In function > `std::__throw_out_of_range(char const*)': > (.text._ZSt20__throw_out_of_rangePKc+0x1a): undefined reference to > `gettext' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(functexcept.o):( > .text._ZSt24__throw_out_of_range_fmtPKcz+0xe2): more undefined references > to `gettext' follow > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::sync()': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_ > traitsIcEE4syncEv[_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv]+0x5): > undefined reference to `fflush' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::sync()': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE4syncEv[_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv]+0x5): > undefined reference to `fflush' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> > >::seekoff(long, std::_Ios_Seekdir, std::_Ios_Openmode)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_ > traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode[_ZN9_ > _gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_ > SeekdirSt13_Ios_Openmode]+0x42): undefined reference to `ftello64' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::seekoff(long, std::_Ios_Seekdir, std::_Ios_Openmode)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode[_ZN9_ > _gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_ > SeekdirSt13_Ios_Openmode]+0x42): undefined reference to `ftello64' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::underflow()': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE9underflowEv[_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv]+0x15): > undefined reference to `ungetwc' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::pbackfail(unsigned int)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE9pbackfailEj[_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj]+0x10): > undefined reference to `ungetwc' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::pbackfail(unsigned int)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE9pbackfailEj[_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj]+0x31): > undefined reference to `ungetwc' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::overflow(unsigned int)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE8overflowEj[_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj]+0x21): > undefined reference to `fflush' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> > >::overflow(int)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_ > traitsIcEE8overflowEi[_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi]+0x21): > undefined reference to `fflush' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> > >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_ > traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode[_ > ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11_ > _mbstate_tESt13_Ios_Openmode]+0x65): undefined reference to `ftello64' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(ext11-inst.o): In function > `__gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> > >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)': > (.text._ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_ > traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode[_ > ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11_ > _mbstate_tESt13_Ios_Openmode]+0x65): undefined reference to `ftello64' > /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a(random.o): In function > `std::random_device::_M_fini()': > (.text._ZNSt13random_device7_M_finiEv+0x9): undefined reference to > `fclose' > Makefile:1857: recipe for target 'build/release.x64/loader.elf' failed > make: *** [build/release.x64/loader.elf] Error 1 > > > These are the changes I had to make: > musl/src/env/clearenv.c: > -#define _GNU_SOURCE > +/* #define _GNU_SOURCE */ > > musl/include/poll.h: > -#include <bits/poll.h> > +/* #include <bits/poll.h> */ > +#include <../../include/api/poll.h> > > Makefile: > -musl += errno/strerror.o > +#musl += errno/strerror.o > -musl += locale/iconv.o > -musl += locale/intl.o > +#musl += locale/duplocale.o > +#musl += locale/freelocale.o > +#musl += locale/iconv.o > +#musl += locale/intl.o > -musl += locale/localeconv.o > +#musl += locale/localeconv.o > -musl += locale/strcasecmp_l.o > +#musl += locale/strcasecmp_l.o > -musl += locale/strerror_l.o > +#musl += locale/strerror_l.o > -musl += locale/strncasecmp_l.o > +#musl += locale/strncasecmp_l.o > -musl += locale/towctrans_l.o > +#musl += locale/towctrans_l.o > -musl += locale/wctrans_l.o > +#musl += locale/wctrans_l.o > -musl += math/__fpclassifyl.o > +#musl += math/__fpclassifyl.o > -musl += math/__rem_pio2l.o > +#musl += math/__rem_pio2l.o > -musl += math/__signbitl.o > +#musl += math/__signbitl.o > -musl += math/acoshl.o > -musl += math/acosl.o > +#musl += math/acoshl.o > +#musl += math/acosl.o > -musl += math/asinhl.o > -musl += math/asinl.o > -musl += math/atan.o > +#musl += math/asinhl.o > +#musl += math/asinl.o > +#musl += math/atan.o > -musl += math/atan2l.o > +#musl += math/atan2l.o > -musl += math/atanhl.o > -musl += math/atanl.o > +#musl += math/atanhl.o > +#musl += math/atanl.o > -musl += math/cbrtl.o > +#musl += math/cbrtl.o > -musl += math/ceill.o > +#musl += math/ceill.o > -musl += math/copysignl.o > +#musl += math/copysignl.o > -musl += math/coshl.o > -musl += math/cosl.o > +#musl += math/coshl.o > +#musl += math/cosl.o > -musl += math/erfl.o > +#musl += math/erfl.o > -musl += math/exp10l.o > +#musl += math/exp10l.o > -musl += math/exp2l.o > +#musl += math/exp2l.o > -musl += math/fabsl.o > +#musl += math/fabsl.o > -musl += math/floorl.o > +#musl += math/floorl.o > -musl += math/fmodl.o > +#musl += math/fmodl.o > -musl += math/frexpl.o > +#musl += math/frexpl.o > -musl += math/hypotl.o > -musl += math/ilogb.o > -musl += math/ilogbf.o > -musl += math/ilogbl.o > +#musl += math/hypotl.o > +#musl += math/ilogb.o > +#musl += math/ilogbf.o > +#musl += math/ilogbl.o > -musl += math/lgammal.o > +#musl += math/lgammal.o > -musl += math/modfl.o > +#musl += math/modfl.o > -musl += math/nextafterl.o > +#musl += math/nextafterl.o > -musl += math/remquol.o > +#musl += math/remquol.o > -musl += math/rintl.o > +#musl += math/rintl.o > -musl += math/roundl.o > +#musl += math/roundl.o > -musl += math/scalblnl.o > +#musl += math/scalblnl.o > -musl += math/scalbnl.o > +#musl += math/scalbnl.o > -musl += math/sinhl.o > -musl += math/sinl.o > +#musl += math/sinhl.o > +#musl += math/sinl.o > -musl += math/tanhl.o > -musl += math/tanl.o > +#musl += math/tanhl.o > +#musl += math/tanl.o > -musl += math/truncl.o > +#musl += math/truncl.o > -musl += misc/getopt.o > +#musl += misc/getopt.o > -musl += stdio/__stdio_exit.o > +#musl += stdio/__stdio_exit.o > -musl += stdio/fclose.o > +#musl += stdio/fclose.o > -musl += stdio/fflush.o > +#musl += stdio/fflush.o > -musl += stdio/fgetwc.o > +#musl += stdio/fgetwc.o > -musl += stdio/fputwc.o > -musl += stdio/fputws.o > +#musl += stdio/fputwc.o > +#musl += stdio/fputws.o > -musl += stdio/ftell.o > +#musl += stdio/ftell.o > -musl += stdio/fwide.o > +#musl += stdio/fwide.o > -musl += stdio/tempnam.o > +#musl += stdio/tempnam.o > -musl += stdio/ungetwc.o > +#musl += stdio/ungetwc.o > -musl += regex/fnmatch.o > +#musl += regex/fnmatch.o > -musl += regex/regerror.o > +#musl += regex/regerror.o > > > Kind Regards, > > Geraldo Netto > Sapere Aude => Non dvcor, dvco > http://exdev.sf.net/ > > -- > You received this message because you are subscribed to the Google Groups > "OSv Development" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to osv-dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to osv-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.