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.

Reply via email to