X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5498C3870860 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=brian DOT inglis AT systematicsw DOT ab DOT ca X-Authority-Analysis: v=2.4 cv=Q4RsX66a c=1 sm=1 tr=0 ts=5ff8ddbf a=kiZT5GMN3KAWqtYcXc+/4Q==:117 a=kiZT5GMN3KAWqtYcXc+/4Q==:17 a=IkcTkHD0fZMA:10 a=qwOk5wd18er55b7n64gA:9 a=QEXdDO2ut3YA:10 To: "cygwin AT cygwin DOT com" References: <1d7072d9-c982-d3cd-e4ca-b4fd3dc1c6f6 AT gmail DOT com> <7df45147cd4fdd04df6f571ed68cdd2cf1dc8af1 DOT camel AT gmail DOT com> From: Brian Inglis Organization: Systematic Software Subject: Re: problem using gcc-core for compile qemu Message-ID: Date: Fri, 8 Jan 2021 15:33:33 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <7df45147cd4fdd04df6f571ed68cdd2cf1dc8af1.camel@gmail.com> Content-Language: en-CA X-CMAE-Envelope: MS4xfAKmvs/lGoscn9XhEiW8zMtVPGpp5eIXuy5TORmiApOu306ubkcrhT/Rc1uwlL/gMG20Xsq/3SL1zNLi4CffJaowfxm/xyeCBxg0NlJrIE2OtkpWcesA u9164yUI/r9EQTbPJlK2Jr0Y2yOhqwfF56lnex+ANMp0Kog/hStjFAeGn3jyUYPUgnYzh5+mcKzN1U8ZB6CzojFmeJcVq0A4RlrAIScEuPWguCCHH7wsxg5R X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Brian DOT Inglis AT SystematicSw DOT ab DOT ca Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 108MY5QH018352 On 2021-01-08 13:54, juan carlos rebate rodriguez via Cygwin wrote: > El vie, 08-01-2021 a las 08:42 +0000, Arthur Norman escribió: >>> I can't use virtualbox because what I need is to emulate the aarch64 >>> architecture, I don't want to use binaries compiled by others, one of >>> the reasons is that those binaries don't include sd-card emulation >>> support... >> This is perhaps an off-topic response as regards compiling things on >> cygwin, but some while back I found a range of sets of instructions for >> setting up aarch64 emulation in qemu. When I had any issues running on >> Windows I just used virtualbox to give myself an x86_64 Linux world and >> installed qemu there. And after a while I could buy a Raspberry pi with a >> 64-bit cpu and use that, so these days working with aarch64 (and an SD >> card) works best for me on an rpi4 not via emulation. But to find people >> who have worked on adapting and setting up qemu to support aarch64 with an >> SD card you might find it useful to follow the footsteps of those who were >> working towards rpi 64-bit support? >> And I like and use cygwin for most of what I do, but when something I want >> to do is better supported by Linux then setting up an Ubuntu via virtualbox >> uses some disc space but does not add much overhead on my main W10 machine >> and lets me build, test and debug there because following a path that is >> already well trodden is often easiest! > I think I expressed myself incorrectly or I am not able to be > understood, no matter what package I choose. gcc-core does not compile > using the cygwin dll, the one that compiles for that library is cygwin- > gcc. Packages gcc-core/g++ are the Cygwin native compilers for the architecture you are running the compiler on and uses the Cygwin native DLL. Packages cygwin32/64-gcc-core/g++ are the Cygwin cross-compilers for the architecture you are not running the compiler on and uses the Cygwin DLL for the other architecture. Packages mingw64-i686/x86_64-gcc-core/g++ are the Cygwin cross-compilers for each of the Windows architecture runtimes and use only mingw64-i686/x86_64-lib... libraries and Windows native DLLs including msvcrt.dll. > now I will try to explain my case better, > 1 when I use the gcc-core package if it is able to detect the whole > set, the only thing that happens is that the script does not recognize > cygwin nt as a valid operating system. > 2 when I use the mingw64-x86_64-gcc package it is not able to compile > without add-ons. Most complex packages have dependencies on (many) libraries: Cygwin supports 402 mingw64 development library packages for each architecture, which are used to build its own Windows native utilities such as setup-x86/_64, cygcheck, cygwin-console-helper, ldh, strace, and the cygwin1.dll itself, which do not depend on any Cygwin DLLs e.g. $ cygcheck `cygpath -m /setup` C:\...\setup-x86_64.exe C:\Windows\system32\ADVAPI32.dll C:\Windows\system32\msvcrt.dll C:\Windows\system32\ntdll.dll C:\Windows\system32\KERNELBASE.dll C:\Windows\system32\SECHOST.dll C:\Windows\system32\RPCRT4.dll C:\Windows\system32\KERNEL32.dll C:\Windows\system32\COMCTL32.dll C:\Windows\system32\GDI32.dll C:\Windows\system32\win32u.dll C:\Windows\system32\USER32.dll C:\Windows\system32\ole32.dll C:\Windows\system32\combase.dll C:\Windows\system32\bcryptPrimitives.dll C:\Windows\system32\PSAPI.DLL C:\Windows\system32\SHELL32.dll C:\Windows\system32\SHLWAPI.dll C:\Windows\system32\WININET.dll C:\Windows\system32\WS2_32.dll $ cygcheck cygcheck Found: C:\...\cygwin64\bin\cygcheck.exe C:\...\cygwin64\bin\cygcheck.exe C:\Windows\system32\ADVAPI32.dll C:\Windows\system32\msvcrt.dll C:\Windows\system32\ntdll.dll C:\Windows\system32\KERNELBASE.dll C:\Windows\system32\SECHOST.dll C:\Windows\system32\RPCRT4.dll C:\Windows\system32\KERNEL32.dll C:\Windows\system32\PSAPI.DLL C:\Windows\system32\USER32.dll C:\Windows\system32\win32u.dll C:\Windows\system32\GDI32.dll C:\Windows\system32\WININET.dll > for example when I compile with gcc-core if it is able to detect the > libcaca-devel library, this is the library that qemu asks me for sd- > card support, I don't think that is the required library for that function: $ cygcheck -p libcaca-devel Found 3 matches for libcaca-devel libcaca-devel-0.99beta19-?: Color ASCII art library (C development) (installed binaries and support files) ... SD card support requires a hardware device driver and typically a filesystem driver in the OS e.g. for FAT, NTFS, CD/DVD, or as utilities for foreign filesystems e.g. /usr/sbin/mke2fs, resize2fs, tune2fs, dumpe2fs, e2freefrag, e2image, e2fsck, etc. in packages e2fsprogs and e2fsimage. Cygwin lib...-devel packages are for Cygwin native development with the Cygwin native libraries, toolchain, and utilities. > However, when I use the package mingw64-x86_64-gcc it is not able to > find it in the system because it is not in its set, for this it is > mandatory to use the gcc-core package (not cygwin-gcc), I do not want > to use linux, I want to keep him as far away from my team as possible, > just because I work for him doesn't mean I want him You have to install all the required and dependent library packages for that cross-compiler architecture e.g. mingw64--libcaca-0.99beta19-1 library packages: $ cygcheck -p mingw64-.*libcaca Found 4 matches for mingw64-.*libcaca mingw64-i686-libcaca-0.99.beta19-1-src - mingw64-i686-libcaca-src: Color ASCII art library for Win32 toolchain (source) mingw64-i686-libcaca-0.99.beta19-1 - mingw64-i686-libcaca: Color ASCII art library for Win32 toolchain (installed binaries and support files) mingw64-x86_64-libcaca-0.99.beta19-1-src - mingw64-x86_64-libcaca-src: Color ASCII art library for Win64 toolchain (source) mingw64-x86_64-libcaca-0.99.beta19-1 - mingw64-x86_64-libcaca: Color ASCII art library for Win64 toolchain (installed binaries and support files) to allow your package to build. If required or dependent library packages are not already available in Cygwin, you will have to build them using the cross-compiler toolchain and install them for use by your package build. The Cygwin package build utility cygport can help you more easily build Cygwin packages, including mingw64 using cross-compiler toolchains, given a URL for the upstream source package, and a list of Cygwin required or dependent library, toolchain, and utility packages needed (it checks they are all available before building). -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in binary units and prefixes, physical quantities in SI.] -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple