[yocto] Are Windows SDKs (mingw layer) supposed to work?

Reyna, David david.reyna at windriver.com
Tue Mar 6 13:14:34 PST 2018


I am going to slightly amend my comments.

1) When you extract the XZ file you get a TAR. It is when you then extract the TAR that you get all the symlink errors.

2) If you run 7ZIP in Administrator mode then you do _not_ get the syslink access errors, but apparently neither can you build C applications ("...gcc/i686-poky-linux/7.2.0/real-ld.exe: cannot find -lgcc").

I would explore further but I think that ZIP files are the only safe way to do this, especially since you can avoid Windows Admin mode.

- David

-----Original Message-----
From: Reyna, David 
Sent: Tuesday, March 06, 2018 12:55 PM
To: Reyna, David; Hatle, Mark; BURTON, ROSS
Cc: Yocto
Subject: RE: Are Windows SDKs (mingw layer) supposed to work?

Ok, I have it working now.

The problem appears to be that 7ZIP treats "*.xz" files differently than "*.zip" files, specifically in the area of translating symlinks. I am using version 16.00, 64-bit, 2016-05-10.

With the ZIP file I did get an error about replacing "corei7-64-poky-linux\usr\include\linux\netfilter\xt_mark.h" with "...\xt_MARK.h" so the upper/lower case problem still arises just as it did with the XZ file, but I got ZERO errors about "symbolic links" and that makes all the difference.

This is the workflow that worked:

  1) Create the Windows SDK as per normal
  2) Extract the resulting "*.xz" file on your Linux host
  3) Re-package it with ZIP
  4) Extract that file on your Windows host with 7ZIP
  5) Open a Windows shell, start the environment, and build away

Linux:
  $ mkdir sdk_mingw; cd sdk_mingw
  $ unxz -d tmp/deploy/sdk/poky-glibc-i686-core-image-minimal-corei7-64-toolchain-2.4+snapshot.tar.xz
  $ cd ..
  $ zip -r poky-glibc-i686-core-image-minimal-corei7-64-toolchain-2.4+snapshot.zip sdk_mingw/

- David

-----Original Message-----
From: yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] On Behalf Of Reyna, David
Sent: Tuesday, March 06, 2018 8:00 AM
To: Hatle, Mark; BURTON, ROSS
Cc: Yocto
Subject: Re: [yocto] Are Windows SDKs (mingw layer) supposed to work?

Hi Mark and Ross,

> Ross: Have you tried using 2.4 to identify when it broke?
	
I will try 2.4 and see if it is different.

> Mark: In the past 7ZIP (when not the admin) would create either copies or 'shortcuts' instead of actual symbolic links.  

I will look to see if there is a new setting in 7ZIP.

> Mark: What version of windows are you using?  

I am using Windows 7.

Thanks,
David

-----Original Message-----
From: Mark Hatle [mailto:mark.hatle at windriver.com]
Sent: Tuesday, March 06, 2018 5:40 AM
To: BURTON, ROSS; Reyna, David
Cc: Yocto; WANG, YANG
Subject: Re: Are Windows SDKs (mingw layer) supposed to work?

On 3/6/18 4:39 AM, Burton, Ross wrote:
> Have you tried using 2.4 to identify when it broke?  Clearly we need 
> to extend the selftest so the mingw SDK is actually tested...
> 
> Ross
> 
> On 6 March 2018 at 05:32, Reyna, David <david.reyna at windriver.com 
> <mailto:david.reyna at windriver.com>> wrote:
> 
>     Hi all,____
> 
>     __ __
> 
>     I am trying to enable a customer for using YP SDKs on Windows. It apparently
>     is supposed to work, but I am unable to get past fatal errors.____
> 
>     __ __
> 
>     I have looked for documentation at the YP site and the meta-mingw repo, but
>     to no avail.____
> 
>     __ __
> 
>     1) My project is a simple default “qemux86-64” with YP-2.5 HEAD, with the
>     latest “meta-mingw” layer added and <SDKMACHINE ?= 
> "i686-mingw32">.____
> 
>     __ __
> 
>     The SDK builds fine and I get the “*.xz” generated file.____

The output format from the Yocto Project of a tarball has been that way since the beginning.  We (WR) had code that would produce a zip format, but that stopped working a few releases ago when the archive chaining was reworked..

We've not yet resurrected the code for the .zip generation but probably will in the next few months.

>     __ __
> 
>     2) However, when I use 7ZIP to extract it on my Windows host (which is
>     recommended for XY files), I get several fatal issues.____
> 
>     __ __
> 
>       (a) I get more than a hundred errors “Can not create symbolic link: Access
>     is denied”. ____

This is odd.  In the past 7ZIP (when not the admin) would create either copies or 'shortcuts' instead of actual symbolic links.  It sounds like something has changed in 7zip.

>     __ __
> 
>     While I do not care about the ones for the bin tools in the sysroot, I do
>     care that most of the cross toolchain EXE files are thusly broken, plus many
>     of the libraries and header files in the sysroot.____
> 
>     __ __
> 
>     Am I missing a step?____
> 
>     __ __
> 
>     If I in fact extract this file on my Linux host, I can directly see that it
>     is full of symlinks! Why are there symlinks in a Windows-specific 
> tarball?____

Often I've extracted it on a linux machine, and then uses zip to recompress it.
(You still need to use 7zip to extract because of the long pathnames that blow up winzip.)

>     __ __
> 
>       (b) If I attempt to build a simple C file from the shell in the SDK
>     environment, I either get a silent failure (for the 32-bit toolchain) or a
>     blatant error as per:____

What version of windows are you using?  The last time I tested this (Rocko) it was working properly still, but I tested with Win 7.  So it's possible that something more recent has broken it.

I'm not sure if I'll have time today to retry this with Rocko, but I'll see if I can.

--Mark
--
_______________________________________________
yocto mailing list
yocto at yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


More information about the yocto mailing list