Best Linux distro for cross-compiling to SUA - windows

I'm very interested in using Linux / GCC for cross-compiling to Microsoft SUA (Subsystem for Unix Applications) format (I have SUA 6.1 as part of Windows 7, 64-bits). Using SUA to natively compile programs and their dependencies is a hassle given the general lacklustre support by MS, no real package manager, etc. What is the best way to do this using Linux? I am open to other approaches, but personally envision Linux as part of the solution. If there are better cross-compilers for the job I'd like to know- seems that I'd have to opt for an older distro (according to GNU webpage, SUA support ended with GCC 3.3)

Gentoo has a Prefix target for Interix. You can try this but I'm not sure if it's up-to-date. It is basically a Gentoo installation (with package manager) inside your Interix system.
The Prefix solution should be easier to maintain that cross-compiling.

You can use "mingw" as an alternative compiler for windows to compile Linux applications.

Related

What operating systems are supported by Substrate?

I've completed the following tutorial on an Ubuntu server...
https://substrate.dev/docs/en/tutorials/create-your-first-substrate-chain/setup
I then tried it on a Red Hat distro (CentOS (Red Hat 4.8.5-39)) but it failed to compile.
Prompted me to ask what OS's are supported by Substrate?
Thanks in advance :)
The Getting Started guide lists macOS (BSD), Ubuntu/Debiant, and Arch Linux as preferred distributions. It also says Windows is supported, though not preferred (due to Windows lacking a Bash-style shell by default).
That doesn't mean other distros won't work - if "it failed to compile" then your machine is missing some dependency. The platform is built using Rust (for the service) and JS+npm for the front-end GUI - so it follows that Substrate should run on any platform that Rust (and npm) will run on (i.e. every modern distro of Linux).

What is an "X11 platform" and can it run on windows?

I'm trying to get GtkPlug and GtkSocket to work on Windows 8, using the currently supported GTK3+ windows bundle.
I see in the documentation this note:
The GtkPlug and GtkSocket widgets are only available when GTK+ is
compiled for the X11 platform and GDK_WINDOWING_X11 is defined. They
can only be used on a GdkX11Display. To use GtkPlug and GtkSocket, you
need to include the gtk/gtkx.h header.
What is an X11 platform, and can it be run on windows?
X11 is the graphics platform used by Linux and other Unix-style OSes. It is available for Windows through the Cygwin package but binaries compiled under Cygwin will not run on Windows without Cygwin installed so you probably don't want to go down that path. The documentation is essentially saying "this feature is only available on Linux."

z3 install in Redhat platform

Can the latest z3 be installed in the Redhat linux platform? There is no mention to this platform in the https://github.com/Z3Prover/z3
As you pointed out, we currently do not provide pre-compiled binaries for RedHat Linux. We currently only provide pre-compiled binaries for: Ubuntu and Debian. We also regularly compile Z3 on Fedora.
That being said, you should be able to compile Z3 on RedHat Linux without problems. In particular, we have managed to compile the unstable (work-in-progress) branch in many different platforms.
See this related question:
Installation of Z3 on a posix system without python?
This link has instructions on how to compile Z3 on Linux.

How to build GCC 4.7 on Windows?

How to build GCC 4.7 on Windows?
You are not finding instructions on how to do this because you cannot natively use gcc in Windows. Your options are either to use gcc through Cygwin [installation instructions] or install the MinGW port [installation instructions].
You can also find links to these projects on the Installing GCC: Binaries page.
Well, gcc 4.7 has not yet been released (it will be released in a few months, i.e. spring 2012).
If your system is Windows then I am sorry for you, Linux is so much better :-) More seriously, you should search for cygwin gcc. I cannot help you in that case.
What did you try? Building GCC (even on Linux) is not an easy task. Some hints (which I guess are also relevant to cygwin & windows).
Always configure and build the compiler in a build tree outside of the source tree. (this is a common mistake).
take care of the many dependencies (and their versions), like the Parma Polyhedra Library, Cloog, etc ...
some features of GCC are not available on Windows. In particular plugins.
I would suppose that installing the binary of an older variant of cygwin gcc (and all the related packages) will help.
But really, I know nothing about Windows. And if you really want a very recent GCC and you cannot install Linux (or build GCC cygwin), you might perhaps consider running Linux in an emulator or virtual machine.

How to compile a Windows binary in Ubuntu?

I have a Qt application that I can compile in Ubuntu 10.04 64-bit and on Windows. However, I would like to avoid switching to Windows every time I want to compile the Windows version.
Is there a way I can compile a Windows Qt executable in Ubuntu with mingw32 or something?
Further, is there a way to integrate that compiler into Qt Creator?
There is a PPA (Personal Package Archive) for some people who are cross-compiling Qt and related software on Ubuntu for Windows. The PPA contains both the cross-compilers and the dependencies you will need to cross-compile Qt programs. If you look at the source packages there, I think you will be able to figure out how to configure your projects and build them.
If you most of your time spend coding with Qt on Linux (for example, Ubuntu), you may produce some experiment: install Wine, install Qt SDK for Windows with Wine and tried to build some simple project!
And if you don't like crazy things, which I wrote above, just use VirtualBox.

Resources