<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Aug 12, 2013, at 6:34 AM, Francois Retief <<a href="mailto:fgretief@gmail.com">fgretief@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><div>Hi Krzysztof,<br><br></div><div class="gmail_extra">My understanding is that MinGW is the libc library for Win32 environments. So we need to "replace" eglibc with mingw for all code that execute on the Win32 platform. In the case of OpenEmbedded, it is all packages that start with "nativesdk-" when is SDKMACHINE="x86_64-mingw32".<br>
<br></div><div class="gmail_extra">Over the weekend I worked on this by disabling the eglibc recipes and seeing what packages are missing. The eglibc recipe provides the "virtual/nativesdk-libc" package. My understanding is that this virtual package must be implemented by MingGW. In the process I also found that pthreads-win32 was needed and added a recipe for this.<br></div></div></div></blockquote><div><br></div><div>Not really but if you stub eglibc from nativesdk out then make sure the host libc is plugged in correctly at all places where its expected. Its safer to let it</div><div>build its own nativesdk eglibc. Since we also modify the shared library load paths in dynamic linker to use own nativesdk libraries first if available</div><br><blockquote type="cite"><div dir="ltr"><div><div class="gmail_extra">
<br>I ended up at a point where nativesdk-zlib is actually looking for libc and not finding it. Currently I am trying to understand exactly what is required by "nativesdk-*" packages, and what mingw provides, in the hope of understanding where the mismatch is or where my understanding of the system breaks down. ;-) <br>
<br></div><div class="gmail_extra">Will keep you posted.<br></div><div class="gmail_extra"><br></div>Cheers,<br></div> Francois<br><br><span style="font-family:courier new,monospace">$ SDKMACHINE=x86_64-mingw32 bitbake nativesdk-zlib<br>
...</span><br><span style="font-family:courier new,monospace">Log data follows:<br>| DEBUG: Executing shell function do_compile<br>| NOTE: make -j2 -e MAKEFLAGS=<br>| x86_64-oesdk-mingw32-gcc --sysroot=/opt/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32 -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -isystem</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/usr/include -O2 -pipe -fPIC -D_LARGEFILE64_SOURCE=1 -o libz.so.1.2.8 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc -L</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/usr/lib -Wl,-rpath-link,</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/usr/lib -Wl,-rpath,/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/usr/lib -Wl,-O1 -L</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/lib -Wl,-rpath-link,</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/lib -Wl,-rpath,/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/lib -Wl,-O1<br>
| x86_64-oesdk-mingw32-gcc --sysroot=</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32 -isystem</span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-nativesdk-oesdk-mingw32/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-mingw32/usr/include -O2 -pipe -o minigzip64 minigzip64.o -L. libz.a<br>
| </span><span style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">/opt</span>/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/x86_64-oesdk-mingw32/gcc/x86_64-oesdk-mingw32/4.8.1/ld: cannot find -lc<br>
| collect2: error: ld returned 1 exit status<br>| make: *** [libz.so.1.2.8] Error 1<br>| make: *** Waiting for unfinished jobs....<br>| ERROR: oe_runmake failed</span><br><span style="font-family:courier new,monospace">...</span><br>
<br><div><br><div class="gmail_extra"><div class="gmail_quote">On 12 August 2013 12:13, Sywula, Krzysztof M <span dir="ltr"><<a href="mailto:krzysztof.m.sywula@intel.com" target="_blank">krzysztof.m.sywula@intel.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div link="blue" vlink="purple" lang="EN-IE">
<div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">Francois,<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">I tried compiling the same eglibc version as Yocto uses under mingw32/Cygwin. Apparently there is no port for these.<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">Mingw32:<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">$ ../eglibc-2.17/libc/configure<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking build system type... i686-pc-mingw32<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking host system type... i686-pc-mingw32<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for gcc... gcc<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for suffix of object files... o<u></u><u></u></span></p><div class="im"><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether we are using the GNU C compiler... yes<u></u><u></u></span></p>
</div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether gcc accepts -g... yes<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for gcc option to accept ISO C89... none needed<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking how to run the C preprocessor... gcc -E<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for g++... g++<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether we are using the GNU C++ compiler... yes<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether g++ accepts -g... yes<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for readelf... readelf<u></u><u></u></span></p><div class="im"><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for sysdeps preconfigure fragments... x86_64<u></u><u></u></span></p>
</div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">configure: running configure fragment for add-on libidn<u></u><u></u></span></p><div class="im"><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">configure: running configure fragment for add-on nptl<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking add-on ports for preconfigure fragments... aarch64 alpha am33 arm hppa<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">ia64 m68k mips powerpc tile<u></u><u></u></span></p>
</div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** The GNU C library is currently not available for this platform.<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** So far nobody cared to port it and if there is no volunteer it<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** might never happen. So, if you have interest to see glibc on<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** this platform visit<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** <a href="http://www.gnu.org/software/libc/porting.html" target="_blank">http://www.gnu.org/software/libc/porting.html</a><u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** and join the group of porters<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">Cygwin:<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">$ ../eglibc-2.17/libc/configure<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking build system type... i686-pc-cygwin<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking host system type... i686-pc-cygwin<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for gcc... gcc<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for suffix of object files... o<u></u><u></u></span></p><div class="im"><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether we are using the GNU C compiler... yes<u></u><u></u></span></p>
</div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether gcc accepts -g... yes<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for gcc option to accept ISO C89... none needed<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking how to run the C preprocessor... gcc -E<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for g++... g++<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether we are using the GNU C++ compiler... yes<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking whether g++ accepts -g... yes<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for readelf... readelf<u></u><u></u></span></p><div class="im"><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking for sysdeps preconfigure fragments... x86_64<u></u><u></u></span></p>
</div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">configure: running configure fragment for add-on libidn<u></u><u></u></span></p><div class="im"><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">configure: running configure fragment for add-on nptl<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">checking add-on ports for preconfigure fragments... aarch64 alpha am33 arm hppa ia64 m68k mips powerpc tile<u></u><u></u></span></p>
</div><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** The GNU C library is currently not available for this platform.<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** So far nobody cared to port it and if there is no volunteer it<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** might never happen. So, if you have interest to see glibc on<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** this platform visit<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** <a href="http://www.gnu.org/software/libc/porting.html" target="_blank">http://www.gnu.org/software/libc/porting.html</a><u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">*** and join the group of porters<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">To see why is eglibc needed do:<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">bitbake <recipe> -c populate_sdk –g<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">and:<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">less package-depends.dot<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">That’s what it gives:<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" [label="nativesdk-eglibc-initial :2.17-r3\nvirtual:nativesdk:/build/kmsywula<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">3/poky/meta/recipes-core/eglibc/<a href="http://eglibc-initial_2.17.bb/" target="_blank">eglibc-initial_2.17.bb</a>"]<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "virtual/x86_64-pokysdk-mingw32-gcc-initial-crosssdk"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "nativesdk-linux-libc-headers"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "chrpath-replacement-native"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "autoconf-native"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "automake-native"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "libtool-native"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "kconfig-frontends-native"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">"nativesdk-eglibc-initial" -> "gnu-config-native"<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">So as long as there is no port for mingw32/Cygwin we are blocked. Any ideas?<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">Thanks,<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)">Krzysztof<u></u><u></u></span></p><p class=""><span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)"><u></u> <u></u></span></p><p class=""><b><span style="font-size:10pt;font-family:"Tahoma","sans-serif"" lang="EN-US">From:</span></b><span style="font-size:10pt;font-family:"Tahoma","sans-serif"" lang="EN-US"> Francois Retief [mailto:<a href="mailto:fgretief@gmail.com" target="_blank">fgretief@gmail.com</a>]
<br>
<b>Sent:</b> Friday, August 09, 2013 6:33 PM</span></p><div><div class="h5"><br>
<b>To:</b> Sywula, Krzysztof M<br>
<b>Subject:</b> Re: Yocto toolchain for Windows<u></u><u></u></div></div><div><br class="webkit-block-placeholder"></div><div><div class="h5"><p class=""><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<div><p class="" style="margin-bottom:12pt">Hi Krzysztof,<u></u><u></u></p>
</div><p class="" style="margin-bottom:12pt">Yup, that is the same point where I am stuck at the moment. I sent an email to oe-core mailing list about this issue.<br>
<br>
<a href="http://lists.openembedded.org/pipermail/openembedded-core/2013-August/082509.html" target="_blank">http://lists.openembedded.org/pipermail/openembedded-core/2013-August/082509.html</a><u></u><u></u></p>
</div><p class="" style="margin-bottom:12pt">Hoping for a response from the OE community soon.<u></u><u></u></p>
</div><p class="">Cheers,<u></u><u></u></p>
</div><p class=""> Francois<u></u><u></u></p>
<div>
<div>
<div><p class=""><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div></div></div></div>
</blockquote></div></div></div></div>
_______________________________________________<br>Openembedded-core mailing list<br><a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>http://lists.openembedded.org/mailman/listinfo/openembedded-core<br></blockquote></div><br></body></html>