View Full Version : UNIX on Windows
BigBison
July 30th, 2007, 16:21
Windows does UNIX, believe it or not. Well, I'll believe it when I see it. The first thing to do is get the POSIX subsystem running on Windows. On Vista, use Program Manager, "Turn Windows features on or off", and enable "Subsystem for UNIX-based Applications". On XP or other Windows, go here:
http://www.microsoft.com/windows/sfu
This should forward you to a page with a download link for the current version, there are others floating around out there you can waste time locating and downloading, so thank me for burning my bandwidth attempting to compensate for Microsoft's crappy website...
Now that you've enabled SFU in Vista, you need the SDK / Utilities pack because basically you can't do anything without it. To download, in Vista's start menu, go to "all programs" and you'll see "Subsystem for UNIX-based Applications" is new, under that folder is the download link you want to use for Vista, make sure you get the Vista version.
For XP / etc. the installation is all-in-one. I've installed the hotfixes for the XP installation as per the instructions in the first link, but since the Vista code is newer and different from the others I haven't bothered on it. For help on which options to install, refer to these two pages:
http://www.debian-interix.net/debian-interix/INSTALL
http://www.netbsd.org/docs/pkgsrc/platforms.html#interix
NetBSD's FTP server is down, and the alternate servers only have source versions of pkgsrc, which require Visual Studio to compile. So I haven't tried pkgsrc yet, but I did try Debian, I got further on the XP installation than the Vista installation:
E:\SFU>posix /u /c /bin/ksh
$ cd /tmp/install
$ /bin/ksh setup
setup[3]: dirname: not found
setup[9]: mkdir: not found
setup[10]: ln: not found
setup[12]: chmod: not found
setup[16]: cp: not found
/bin/ksh: /dev/fs/C/Documents: No such file or directory
setup[75]: uname: not found
setup[75]: cannot create /etc/apt/sources.list: No such file or directory
$ exit
E:\SFU>
Supposedly, all the utilities I needed were selected when I installed the utilities / SDK options. so that's kinda frustrating. Perhaps the utilities I need are only in the Vista SFU code? I'll have to take another crack at getting this up under Vista. Sounded too good to be true, and it was. But hey, an install script did run in Korn shell, and it did try to install Debian apt-get on Windows XP...
BigBison
July 31st, 2007, 12:01
OK, taking a mulligan and starting over. You don't have to install SFU as Administrator if you're using pkgsrc, but then again I can't figure out how to make pkgsrc work even after finally being able to download it. But, I did get apt-get up and running (proper PATH settings always help, too).
I figured out how to log in directly as Administrator on XP after some fussing about, but no joy with same as yet in Vista. I have re-installed SFU and am now working on the service packs, when finished I ought to be able to 'apt-get install bash' and 'apt-get install vim-tiny'. There are some dummy packages which indicate SMTP is on the radar, but most of the work seems to be getting compilers and Debian packaging tools working first.
I had hoped to 'apt-get install exim4', but not yet. I'll have to have another go at the pkgsrc route and see if there are any immediately-useful apps available there.
BigBison
July 31st, 2007, 12:45
This geeky article is about the most informative thing in the KB regarding SFU/Interix/whatever:
http://support.microsoft.com/default.aspx?scid=kb;en-us;328860
BigBison
July 31st, 2007, 14:23
OK, you just have to get the hang of 'su Administrator' instead of 'su root'... Debian Interix up and running, on XP anyway. Just dumb luck I'm sure, I'll leave the HowTo to someone else! I still can't crack the pkgsrc nut, I'll leave that to someone else too!
http://support.microsoft.com/kb/891759
http://www.interopcommunity.com/tt.aspx?SelectMenu=&forumid=9
So I have bash and vim (-tiny) on XP now.
deathshadow
July 31st, 2007, 15:16
I believe it for a very simple reason.
NT 3.5 - the original Windows NT is a fork of XENIX, a Unix that Microsoft just happens to own the rights to. (and used to sell - I know, I owned a Trash-80 Model 16 and used to support 'network' of eight Wyse dumb terminals tied to a 286/16 running Xenix)
I keep waiting for them to dust the original Xenix off, polish it up and squash the 'young upstart' linux.
It's actually something that gives me a warm fuzzy glow - to know that when these linux kiddies badmouth NT/2K/XP, they are bashing a flavor of *nix.
inimino
July 31st, 2007, 23:02
NT 3.5 - the original Windows NT is a fork of XENIX, a Unix that Microsoft just happens to own the rights to.
I don't think that's true, do you have a reference for that?
I keep waiting for them to dust the original Xenix off, polish it up and squash the 'young upstart' linux.
Surely you jest...
It's actually something that gives me a warm fuzzy glow - to know that when these linux kiddies badmouth NT/2K/XP, they are bashing a flavor of *nix.
Given that the overwhelming majority of Unix software will not compile on those operating systems, "flavor of *nix" is quite the stretch.
By the way, welcome to IWDN. ;)
BigBison
August 1st, 2007, 03:33
When I started my ISP business in 1994, I did it with Windows NT 3.1 Server and a rackmount USRobotics modem setup, with a T1 connection to the Colorado Internet Cooperative Association. I was generally lauged at by the other ISPs :lol: for not using UNIX, a valid criticism seeing as how NT 3.1 didn't have a native TCP/IP stack. We would install Trumpet Winsock for customers, but the server was running Frontier TCP/IP for NT...
When NT 3.5 debuted, I held off on the upgrade because Microsoft's first crack at a TCP/IP stack had, well, issues. These were eventually fixed in NT 3.51 which I continued to use for four years after NT 4 was released because a GUI crash administering the system wouldn't take out NT 3.51 like it would 4, and it was faster for daemons because of it.
NT 4 was on the big servers, but a strong supporting role was still on 3.51 by the time I sold the thing in 2000. Also, I didn't see any need for Exchange or IIS. While NT 3.5 had TCP/IP, it took until NT 4 before there were any Microsoft apps for it.
The Wikipedia page for NT gets many of those details wrong, but does explain how NT was initially the Microsoft fork of OS/2 NT, with IBM taking the OS/2 fork. NT was also strongly influenced by VMS:
From a technical perspective, the biggest mistake we made in VMS was not writing it in a high level language. At that time, we had a group of very accomplished assembly language programmers, some stringent size constraints, and no complier with the appropriate quality for operating system development. So to ensure that we would ship the system in a marketable time frame, we wrote it in assembly language. Looking back on what happened, it would still be hard to make the decision to write VMS in a high-level language. (Moral: The right thing to do technically isn't always the best thing to do financially.)
...
In the summer of 1988, I received and interesting call from Bill Gates at Microsoft. He asked whether I'd like to come over and talk about building a new operating system at Microsoft for personal computers. At the time, I wasn't too interested in working on personal computers, but I thought this would be a good time to meet Bill and discuss what he had in mind. What Bill had to offer was the opportunity to build another operating system, one that was portable and addressed some of the concerns people had about using personal computers to run mission critical applications. Form me, it meant the chance to build another operating system!
Bill finally convinced me that this was an opportunity I couldn't pass up, and in October of 1988, I came to Microsoft and started to build the team that would build the new operating system. I didn't realize it at the time, but this would be the most ambitious operating system project on which I had ever embarked.
Our goals for the system included portability, security, POSIX compliance, compatibility, scalable performance (multi processor support), extensibility, and the ease of internationalization. Of all these goals, by far the one that was hardest to achieve and that had the most profound effect in the structure of the system was compatibility. Hundreds of thousands of PDP-11 systems had been sold, but tens of millions of personal computers were in operation! As if that weren't enough, we needed to compatibly support three separate 16-bit operating environments and add new 32-bit capabilities to free personal computer applications from the same kind of virtual address constraints that had existed for the PDP-11. To top it off, we wanted to support the UNIX standard interface specification called POSIX.
http://www3.sympatico.ca/n.rieck/docs/Windows-NT_is_VMS_re-implemented.html
So you see, POSIX support has always been native to the Windows NT architecture used today. Getting UNIX to run on top of that requires about 300MB of drive space, after installing apt-get etc. but that's part of the inherent design -- Win32 is a subsystem, UNIX is another subsystem, nothing emulated like Cygwin. Those other ISPs scoffed at me when I told them NT was POSIX-compliant :lol: , and were horrified when NT obtained a C2 TCSEC rating and thoroughly disgusted when NT 4 became the dominant OS in use by the Pentagon to this day -- because it's always been POSIX compliant.
deathshadow
August 1st, 2007, 03:47
I don't think that's true, do you have a reference for that?
It's in most of your college level books on the history of computing that NT was based on Xenix.
http://cgi.galion.lib.oh.us/instruction/windows/versions.htm
for example mentions it... kind of.
I mostly still remember the original advertising for NT, touting it as "all the security of unix with the simplicity of windows"
A notion people would laugh at today.
inimino
August 1st, 2007, 04:47
It's in most of your college level books on the history of computing that NT was based on Xenix.
http://cgi.galion.lib.oh.us/instruction/windows/versions.htm
Right, NT was influenced by ideas from XENIX, but not a fork.
I mostly still remember the original advertising for NT, touting it as "all the security of unix with the simplicity of windows"
Reminds me of the OS X advertising.
BigBison
August 1st, 2007, 08:04
HAH!!! Me: 'pkg_add -v curl-7.16.0' Computer: '...Package curl-7.16.0 registered in /usr/pkg/pkgdb/curl-7.16.0' after auto-installing all dependencies including OpenSSL and Zlib. Although pkgsrc is a source-build system, I don't think I've figured out how to do that, this looks like binaries installing. The key is setting this environment variable:
PKG_PATH=ftp://ftp.netbsd.org/pub/pkgsrc/packages/Interix-3.5/i386/current/All
Still no joy on SMTP, although this looks a lot further along than Debian Interix. BTW, I had to install Debian Interix in order to use 'tar -zxvf' from inside the K shell to extract the pkgsrc binaries. Using Interix tar from the regular Windows shell doesn't work, because that tar doesn't have '-z' to unzip. What I did before was unzip from 7zip on XP but this gets the permissions wrong, a discovery which led to my third from-scratch Interix install, mindful to enter 'Administrator' on the very first screen instead of my name, this time...
The upshot is, I now have both apt-get and pkgsrc coexisting on Interix quite nicely. I can install lynx either way, the Debian version comes first in the PATH but that can easily be switched, the two choices don't overwrite each other because pkgsrc keeps everything in its own directory. An 'apt-get install lynx' sees no unmet dependencies even if pkg_add was used to install, say, Zlib and OpenSSL.
BigBison
August 1st, 2007, 08:28
There is ssmtp, which sends mail out only...
http://www.stanford.edu/services/pubsw/package/mail/ssmtp.html
http://wiki.dreamhost.com/SSMTP
pkg_add -v ssmtp
================================================== =========================
Attempting to record package into /usr/pkg/pkgdb/ssmtp-2.61nb1.
Attempting to record dependency on package `openssl>=0.9.7inb1'
Package ssmtp-2.61nb1 registered in /usr/pkg/pkgdb/ssmtp-2.61nb1
================================================== =========================
$NetBSD: MESSAGE,v 1.2 2003/06/19 22:01:46 jlam Exp $
*BEFORE* using the program, you will need to edit the following files:
/usr/pkg/etc/ssmtp/ssmtp.conf
/usr/pkg/etc/ssmtp/revaliases
especially the variables `mailhub' and `hostname' in ssmtp.conf. You may
optionally install:
/usr/pkg/share/examples/ssmtp/mailer.conf
as /etc/mailer.conf to use ssmtp in place of the system sendmail.
================================================== =========================
That "system sendmail" comes disabled, it's "Interix SMTP" and doesn't seem to have much of a following. Easy enough to enable, though, and solidPOP3d is available on pkgsrc. No IMAP I can see, though.
inimino
August 1st, 2007, 09:10
Using Interix tar from the regular Windows shell doesn't work, because that tar doesn't have '-z' to unzip.
The '-z' is an extension which some implementations of tar lack; if you run into that situation again the solution is something like: gunzip -c *.tgz | tar xvf -
BigBison
August 1st, 2007, 09:26
X Windows on Windows XP is delightfully simple. I had already installed Xming on XP, just execute it and it does nothing. Unless...
$ pkg_add -v gnuchess
$ pkg_add -v xboard
$ xboard
Voila! The screenshot shows Opera displaying this thread, using about 75MB RAM, 45 MB RAM (1/2 for Xming) for UNIX running gnuchess with a GUI. The Windows subsystem is using no more memory than the UNIX subsystem, despite running 100 MB of GUI apps vs. 25 MB on UNIX. Using about 320MB RAM in the screenshot. The CPU is getting a hyperthreading workout, sustained 50% on the performance monitor is really plugging away at 100% and generating a ferocious amount of heat on this long-in-the-tooth system. Just run an app which needs X Windows, and Xming takes it from there.
Time to work out how to dual-boot Vista and Solaris on the 64-bit system, if I'm reading the M$ KB right then the UNIX subsystem may be limited to 32-bit even though I have 64-bit Vista Ultimate (You need to splurge on Vista to get a non-crippled version, unfortunately. But, it is possible to go to Wal-Mart and buy the "upgrade" version off-the-shelf due to a bizarre and perfectly legal twist in the license agreement.
Basically, Vista itself is a prerequisite for the Vista Upgrade (http://www.winsupersite.com/showcase/winvista_upgrade_clean.asp). For now, I'm swapping a pair of SATA drives with Vista and a pair of SCSI drives with Solaris. The question is, dual-boot or use Xen on Solaris with Vista as a guest OS? Anyway, time to see if I can get this working with the new 5.0 version of Interix (up from 3.5 with nothing in between, heh).
BigBison
August 1st, 2007, 09:36
The '-z' is an extension which some implementations of tar lack; if you run into that situation again the solution is something like: gunzip -c *.tgz | tar xvf -
The tar in this case, is the one that comes with Interix, which has no gunzip (probably why there's no -z either). Once Debian Interix is installed, tar is overwritten and gunzip is added, solving the problem.
inimino
August 1st, 2007, 10:00
Huh. I've run into a few Unices that had tar without '-z', but hadn't heard of a modern one lacking gzip. Sometimes gunzip is missing but gzip -d still works, too.
I did a quick search and found this:
http://www.interopcommunity.com/tm.aspx?m=8286
BigBison
August 1st, 2007, 14:11
OK, this next screenshot shows blackbox running as the root-window window manager, with XP's window manager running on top (or is it alongside...). That's WS_FTP Pro and command prompt on XP, with gtk-life, glclock, asclock-gtk and xwpe, which may be used to write simple X window apps. Here's the error message you see after I installed rsync, in the C:\bash window:
================================================== =========================
The following directories are used by rsync-2.6.9 and
have the wrong ownership and/or permissions:
/usr/pkg/etc/rsync (m=755, o=197108, g=131616)
================================================== =========================
What should m=? I came across this somewhere rtfming earlier... I haven't found an Xterm, either, still stuck with the XP shell regardless of the UNIX shell. The screenshot is almost entirely stuff from the NetBSD packages.
BigBison
August 1st, 2007, 14:16
Whoops! Spoke too soon. Installing isn't so straightforward, but rxvt joins the GUI crew on XP...
BigBison
August 1st, 2007, 15:25
Python installs, as do xhangglider, xtu and xroach, amongst other goodies like pure-ftpd which tells me I still have some work to do...
================================================== =========================
$NetBSD: MESSAGE,v 1.3 2004/10/11 22:14:51 reed Exp $
To use pure-ftpd, you will need to perform the following steps:
1. In case you don't have PKG_RCD_SCRIPTS set in your /etc/mk.conf, copy
/usr/pkg/share/examples/rc.d/pure_ftpd to /etc/rc.d/pure_ftpd and add
pure_ftpd=YES
to /etc/rc.conf. Other FTP servers should be disabled.
2. Stop any other running FTP server. Now start pure-ftpd by issuing the
command
/etc/rc.d/pure_ftpd start
================================================== =========================
Also, despite the vim-gtk package (which doesn't work in either distro) I haven't come across a GUI text editor. Since Python installed, supposedly I can install a Python-based httpd, I seem to recall one was mentioned in that article in a nearby thread...
BigBison
August 17th, 2007, 22:22
I haven't yet figured out how to get httpd up on UNIX inside Windows. For my next trick, I think Windows on UNIX is still the way to go...
http://blogs.sun.com/cwb/resource/Screenshot.jpg
That shows Vista and Solaris running simultaneously, on OpenSolaris + Xen platform, this is the goal for my Ultra40 M2 workstation as a weekend project:
http://blogs.sun.com/levon/entry/solaris_xen_update
http://blogs.sun.com/cwb/entry/starting_out_with_solaris_on
Stay tuned for a new project thread...
BigBison
August 18th, 2007, 00:06
XenSource, Inc announced in a letter to customers and partners on the 15th of August 2007, that Citrix has signed a definitive agreement to acquire XenSource. The acquisition is expected to close in Q4 2007.
Interesting.
BigBison
August 18th, 2007, 02:46
Some notes on the current state of virtualization affairs, in pursuit of my "Ultimate Web Developer Workstation", which may need to start with proprietary Mactel hardware and OS X as the host OS:
http://www.parallels.com/en/products/desktop/
Otherwise there's no way to combine Windows, Linux, BSD, Solaris and OS X on the same box, currently. The Mactel boxes don't have BIOS, they have a newer standard called EFI which, atm, prevents OS X from running under virtualization on other x86 hardware platforms. (Xen for SPARC on Solaris, with support for 64-way processing, ought to debut about the same time as Sun's UltraSPARC T2 64-way chip, but will it run Windows?)
Solaris is still the hottest OS around these days, but in order to run OS X as a guest OS under Xen on Solaris, Apple would first have to integrate Xen into OS X. Maybe they will, Microsoft plans to integrate Xen into Windows, currently Windows can only run as a guest OS on Xen or Parallels for Mac if the CPU (AMD or Intel) is the latest and greatest with native virtualization support.
BigBison
August 28th, 2007, 05:48
Also, despite the vim-gtk package (which doesn't work in either distro) I haven't come across a GUI text editor. Since Python installed, supposedly I can install a Python-based httpd, I seem to recall one was mentioned in that article in a nearby thread...
I'm not sure how I missed it last time around, but gcc-4.2 is available in the Debian repository (apt-get install gcc-4.2). I used it to compile vim, but vim-gtk is still elusive. I'll have to try compiling an httpd, and an ftpd as the ones available in the repositories (noted above) don't work.
I had hoped to 'apt-get install exim4', but not yet. I'll have to have another go at the pkgsrc route and see if there are any immediately-useful apps available there.
I had the same results on Interix as I did on Solaris, using pkgsrc. On both, bmake doesn't like doing things it is alleged to do, but I couldn't build vim on Interix without it (probably becuase I don't really know what I'm doing). Unfortunately, Exim doesn't have a Makefile for Interix so it won't build, neither will Postfix, and I struck out on Qmail (edit -- and Dovecot). Better luck with httpd, I hope...
BigBison
August 28th, 2007, 17:35
I tried 16 of the httpd's listed here:
http://www.ibm.com/developerworks/web/library/wa-ltwebserv/index.html
Cheetah works on Interix, but not very well. It does have a nifty 'show headers' feature and it did let me serve my XHTML 1.1 as 'application/xhtml+xml' but it won't serve anything in a subdirectory, or give 404 errors.
BigBison
September 5th, 2007, 09:24
What I was trying before, was incorrect. Now that I have an understanding of pkgsrc, I tried again, starting with qmail. I can't get apt-get install cvs to work, hopefully that's fixed soon. But I did extract the pkgsrc.tar.gz file into /usr and got a mk.conf file configured, so I could cd into the /mail/qmail directory and from there, 'bmake && bmake install'.
What blurted out was an error message warning that the license of the software is incompatible with the NetBSD ethos, unless I added 'ACCEPTABLE_LICENSES+=djb-nonlicense' to my mk.conf, which I did. A whole bunch of prerequisites started to download and configure, but problems happen when a patch needs to be applied (although patch itself, did download-build-install nicely). See for yourself:
=> Registering installation for patch-2.5.4nb2
=> Returning to build of libtool-base-1.5.22nb4
===> Overriding tools for libtool-base-1.5.22nb4
===> Extracting for libtool-base-1.5.22nb4
===> Patching for libtool-base-1.5.22nb4
=> Applying pkgsrc patches for libtool-base-1.5.22nb4
patch: **** Can't create file 'C:\DOCUME~1\ERICJ~1.BOW\LOCALS~1\Temp/poAAAAwM' :
No such file or directory
Patch /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-aa failed
patch: **** Can't create file 'C:\DOCUME~1\ERICJ~1.BOW\LOCALS~1\Temp/poAAAAG-' :
No such file or directory
Patch /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-ab failed
patch: **** Can't create file 'C:\DOCUME~1\ERICJ~1.BOW\LOCALS~1\Temp/poAAAAYM' :
No such file or directory
Patch /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-ac failed
patch: **** Can't create file 'C:\DOCUME~1\ERICJ~1.BOW\LOCALS~1\Temp/poAAAAzJ' :
No such file or directory
Patch /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-ad failed
ERROR: Patching failed due to modified or broken patch file(s):
ERROR: /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-aa
ERROR: /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-ab
ERROR: /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-ac
ERROR: /usr/pkgsrc/devel/libtool-base/../libtool/patches/patch-ad
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/devel/libtool-base
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/devel/libtool-base
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/archivers/bzip2
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/editors/vim
sh-3.1$
Of course those are invalid Windows paths. I wonder how I can set Interix to use /tmp instead of my XP user account as a working directory? Once I've worked around that, we'll see if there's anything useful that can be done with Interix or if everything fails. It would be interesting to download, build and install XFCE4 on XP, for instance.
BigBison
September 6th, 2007, 18:57
Try this:
sh-3.1$ export TMP=/tmp
Which gets me around one problem, and right into another. So I tried building emacs instead of vim... "error: c++ preprocessor fails sanity check"
:|
BigBison
September 7th, 2007, 06:40
The cpp package apt-get installed is a "dummy" package, probably explains it. It occurs to me that the Windows Vista version of Interix (5.0, as opposed to 3.5 on XP) has GCC built-in, hopefully an entire version. The Debian Interix gcc package is in the "experimental" branch and doesn't include all the bits and pieces needed by pkgsrc, although in another few months, who knows? Where I got stuck before on Vista, was logging in as administrator:
http://www.maximumpcguides.com/logon-windows-vista-as-administrator/
There we have it. I'm downloading and installing the "Utilities and SDK for UNIX-based applications" now. I won't install the Debian Interix stuff on Vista, unless I have to. First, I want to see how much is there and what I need to get pkgsrc running. Oddly enough, cvs isn't included in the pkgsrc collection, as it's considered an integral part of NetBSD. So in order to install cvs, I'll probably have to resort to installing apt-get and doing 'apt-get install cvs'. On XP, this resulted in errors in apt-get, despite this cvs installed and operated normally.
I think I'm close to restarting this thread, as "UNIX on Windows HowTo". First, I'd like to get an SMTP program operational. My latest experiment with installing smtpd's from pkgsrc led to errors in each package stating that the username and groupname must not be identical on Interix, i.e. mail/mail which is how all SMTP packages are set up. I think this means editing a config file before installing. One smtpd that won't work on XP is Exim, because it requires a crypt() function to install. Interix 3.5 has no crypt() function, I'll have to wait to see if Interix 5 on Vista does.
BigBison
September 8th, 2007, 05:15
I guess it's Interix 6.0 now, on Vista. I'm trying to donwload the bootstrap kit, and use the './bootstrap' script to build the pkgsrc system and tools. This worked no problem on the XP system, with compilers from the Debian Interix project -- GCC 4.2. The native compiler on Interix 6 is GCC 3.3. Here's what happens:
$ ./bootstrap
===> bootstrap command: ./bootstrap
===> bootstrap started: Fri Sep 7 20:05:46 PDT 2007
Working directory is: work
===> running: /bin/sed -e 's|@DEFAULT_INSTALL_MODE@|'0775'|' files/install-sh.i
> work/install-sh
===> running: /bin/chmod +x work/install-sh
===> Testing file system case sensitivity
===> Building libnbcompat
===> running: (cd work/libnbcompat; /bin/sh ./configure -C --prefix=/usr/pkg --
ysconfdir=/usr/pkg/etc && make)
configure: creating cache config.cache
checking build system type... ./config.guess: unable to guess system type
This script, last modified 2002-07-09, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
ftp://ftp.gnu.org/pub/gnu/config/
If the version you run (./config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.
config.guess timestamp = 2002-07-09
uname -m = x86
uname -r = 6.0
uname -s = Interix
uname -v = 10.0.6000.0
/usr/bin/uname -p = Intel_x86_Family15_Model3_Stepping8
/bin/uname -X =
System = Interix
Node = Vista
Release = 6.0
Version = 10.0.6000.0
Machine = x86
Processor = Intel_x86_Family15_Model3_Stepping8
HostSystem = Windows
HostRelease = 6.0
HostVersion = SP0
hostinfo =
/bin/universe =
/usr/bin/arch -k =
/bin/arch =
/usr/bin/oslevel =
/usr/convex/getsysinfo =
UNAME_MACHINE = x86
UNAME_RELEASE = 6.0
UNAME_SYSTEM = Interix
UNAME_VERSION = 10.0.6000.0
configure: error: cannot guess build type; you must specify one
===> exited with status 1
aborted.
$ bmake
bmake: no target to make.
bmake: stopped in /usr/pkgsrc/bootstrap
$
I can't figure what's so different about this, that configure can't guess this is Interix 6.0 on x86, which is all it takes isn't it? I've looked at config.guess, and found nothing at the ftp address given in the error message. But I still don't get it, here's what I see on the XP system:
sh-3.1$ uname -X
System = Interix
Node = WinXP
Release = 3.5
Version = SP-8.0.1969.50
Machine = x86
Processor = Intel_x86_Family15_Model3_Stepping4
HostSystem = Windows
HostRelease = SP2
HostVersion = 5.1
sh-3.1$ uname -s
Interix
sh-3.1$
Nice of Microsoft to arbitrarily decide to switch HostRelease/HostVersion just for the hell of it, but I don't think that's tripping things up is it?
BigBison
September 8th, 2007, 20:37
The config.guess file is in a directory generated by the bootstrap script. After the build stops, you can go into the source directory and do ./configure --target=x86 and get the tools to build, but you can't tell this to the bootstrap script, or edit the script beforehand, or anything else I can figure to make it work.
BigBison
September 14th, 2007, 01:27
This post made from a Dillo browser, running on XP-Interix with Xming, built from source with pkgsrc. I wish I could build any apps I actually want to use, sigh. Dillo on Windows is pretty cool, though. HowTo thread coming soon, with cool screenshots and everything, for XP. I'm not this far along with Vista-Interix.
I basically started over with the installation, I might wipe this out and go through it again because one key thing does not work, user/password stuff. This seems to stop all mail-related stuff in its tracks. This time, I did not use Debian Interix at all, just Interix 3.5 which comes with gcc-3.3. But I definitely have pkgsrc working nicely.
BigBison
September 14th, 2007, 15:21
Hmmm... a little tinkering with my PATH... :oops: ...and PRESTO! The built-in sendmail is now working. I've built the PureFTPd package from pkgsrc. I can't get any IMAP servers going, I may have to resort to POP3... I had no problem doing a standalone install of PHP5 and had hoped to use Nanoweb (http://nanoweb.si.kz/) as my httpd, I can get it built and installed but not started. WTF is Lua, anyway? The Xavante (http://www.keplerproject.org/xavante/) httpd looks interesting, but same story as Nanoweb with the benefit that Lua is installed as a prerequisite for several things whereas PHP5 would only be used to run Nanoweb. If I could nail down either one, it would be great. POP3, eh?
=> Automatic manual page handling
=> Please note the following:
================================================== =========================
$NetBSD: MESSAGE,v 1.1 2002/05/12 16:54:45 hubertf Exp $
The config file for solid-pop3d-0.15 must be located at /usr/pkg/etc
Example files are located at /usr/pkg/share/examples/spop3d
To use solid-pop3d-0.15 you must add 'spop3d' user:
spop3d:*:68:32766::0:0:spop3d:/sbin/nonexistent:/sbin/nologin
To run solid-pop3d-0.15 from inetd, make sure you didn't enable standalone
option and add the following line to /etc/inetd.conf:
pop3 stream tcp nowait root /usr/pkg/sbin/spop3d spop3d
================================================== =========================
=> Registering installation for solid-pop3d-0.15
$
I hereby dub this installation, FAUXNIX. :banana: Getting all this stuff wired up and functional is another story, of course.
BigBison
September 15th, 2007, 22:27
I tried 16 of the httpd's listed here:
http://www.ibm.com/developerworks/web/library/wa-ltwebserv/index.html
Cheetah works on Interix, but not very well...
Here's one that's not on the list:
http://www.ibm.com/developerworks/systems/library/es-nweb.html
Here's what I get when I try to build it on FAUXNIX:
$ gcc -O nweb.c -o nweb
nweb.c:34: warning: conflicting types for built-in function `log'
/tmp/cceJ44Vv.o(.text+0x603):nweb.c: undefined reference to `_setpgrp'
collect2: ld returned 1 exit status
$
BigBison
September 16th, 2007, 00:54
From the Nanoweb on Windows README:
Installing Nanoweb on Windows
=============================
From version 1.5.0, nanoweb can work in single process mode.
This was necessary for running nanoweb in Windows, because PHP for win32, as
the win32 API, does not support process forking.
This means that nanoweb performance will always be better in unix than Windows.
However, this is perfectly suitable for a development platform.
The provided INSTALL.BAT will install nanoweb in "c:\nanoweb\" and assumes that
your PHP win32 installation resides in c:\php\
If this is not your case, you will have to edit INSTALL.BAT
Once installation is done, INSTALL.BAT will create a file called NANOSTART.BAT
in the installation directory, run this one to start the server.
http://nanoweb.si.kz/README.windows
I don't have PHP installed on my XP box, and don't intend to. But I think the issue about forking holds true on Interix, judging by the errors I get when Nanoweb tries starting. Also, the PHP 5 build on Interix crashes on --enable-sockets, so as long as you don't need that to run your app...
Looks like Nanoweb's a no-go, however, if you don't want to install Apache on Windows to have a nice little standalone server to develop static pages and PHP scripts on, I don't think Nanoweb should be overlooked. You can even set your default Content-Type to 'application/xhtml+xml'. On my Nexenta laptop, installation was as simple as 'apt-get install nanoweb'.
BigBison
February 10th, 2008, 09:26
I've been working on screenshots for my HowTo threads, one for WinXP and another for Vista, perhaps a third thread as a "driver" for the common parts like installing Xming... hmmm... Meanwhile, Gentoo for Interix is coming along nicely:
http://prefix-launcher.svn.sourceforge.net/viewvc/prefix-launcher/
http://forums.gentoo.org/viewtopic-t-319691-postdays-0-postorder-asc-start-0.html
I think I can do some things that are way cooler using Interix 3.5 on XP, due to the maturity of the offerings. In another year or two, the Interix 6.0 (Vista) packages ought to catch up with and surpass what's out for 3.5.
Between pkgsrc and debian-interix, I am oh so close to having some really nifty stuff to show off for XP. BTW, I did get a quick-and-dirty httpd going, the wbox HTTP testing tool (http://www.hping.org/wbox/) has a server mode and does other cool stuff, it's in pkgsrc-wip (http://pkgsrc.se/wip) and builds easily on Interix.
BigBison
February 10th, 2008, 09:51
Another thing I should mention about Interix, if you're using NTFS on XP or Vista, then you get symlinks on XP or Vista (about damn time). This is another, albeit obscure, reason not to use FAT32. Also, you can also get Interix packages here:
http://www.interopsystems.com/community/warehouse.htm
BigBison
February 11th, 2008, 22:22
If you are using Interix, you'll need to patch it. Microsoft has recently revamped just how these patches are distributed. Remember, SFU costs nothing -- it's a free download, provided you agree that it's unsupported and that it, and any patches for it, haven't been regression-tested which is why they aren't in Windows Update. Used to be, if you knew where to go you could download patches. Not anymore!
Now, you have to request each individual patch from mostly-automated support backed up by Indian-outsourced humans who can ask you which version of SFU you are using (rarely matters with patches, but when it does the web form you submit still doesn't have an option for it). Then they e-mail you an URL with a note telling you to make sure that everything between the '(' and ')' delimiters are included in your GET request for the actual patch (which is .zip.exe -- a self-extracting zip archive, believe-it-or-not). Of course, their </a> tag is after the ')' so if you just click on the link in your e-mail client you'll get an error until you've trimmed out the ')'.
Now that you've jumped through those hoops, there is yet one more, and it's certainly new since a few months ago when I last looked. The e-mail you get with the link for the file, also includes one or two passwords that you'll be asked to enter by the extraction process. God only knows what purpose this serves. :? Since the passwords are rotated every 7 days, whether the file changes or not, if the password is on the verge of expiring they'll give you the date and the password that will then be viable. IOW, if it takes you more than a week to try extracting the patches you've downloaded, you get to start over...
Freaking insane.
Of course, if you're using pkgsrc for Interix you will have come across a situation where the install process calls sort, which causes 'segmentation fault - core dumped' except there's no 'core' file to be found anywhere when this occurs. Anyway, this is a known issue, with a two-month-old patch:
http://support.microsoft.com/kb/944412/en-us
Notice the catch, though? If you want that patch, you must first pay Microsoft for a tech support incident, despite the fact that they don't offer support for Interix and all the other patches are free. Yes, I see the disclaimer that they 'may' refund the cost of the support call if the outsourced Indian support rep agrees that you are, indeed, experiencing this error. Of course, had I known this I would have saved an example, offhand I can't recall exactly how to cause this problem only that I've known it exists for some months now.
Assholes. :shake:
BigBison
February 13th, 2008, 19:22
One of the supposed drawbacks of Interix is lack of audio support. Well, not anymore -- there's some clever hackery afoot:
http://www.interopsystems.com/community/tm.aspx?m=7575
It looks like this method has been incorporated into pkgsrc:
=> Running POST-INSTALL script actions
================================================== =========================
Installing files needed by esound-0.2.38:
/usr/pkg/etc/esd.conf
[/usr/pkg/share/examples/esound/esd.conf]
================================================== =========================
=> Please note the following:
================================================== =========================
$NetBSD: MESSAGE.Interix,v 1.1 2004/10/11 22:18:45 tv Exp $
On Interix, this package does not provide physical audio output support,
nor is "autospawn" supported. For the server side of esound, you will
need to install the emulators/cygwin_esound package, and start the
cygwin_esd server using its included rc.d script. Once cygwin_esd is
started, esound-enabled applications will use it automatically.
================================================== =========================
=> Registering installation for esound-0.2.38
esound-0.2.38 requires installed package libaudiofile-0.2.6nb1
$
So far, I can build and launch xmms from pkgsrc, and use its file-picker interface to access any file on my system, and see the graphical EQ display blip when the file plays. But, no joy on sound, even though I followed the instructions:
=> Running POST-INSTALL script actions
================================================== =========================
The following files should be created for cygwin_esound-0.2.35.1nb1:
/etc/rc.d/cygwin_esd (m=0755)
[/usr/pkg/share/examples/rc.d/cygwin_esd]
================================================== =========================
=> Registering installation for cygwin_esound-0.2.35.1nb1
cygwin_esound-0.2.35.1nb1 requires installed package cygwin_lib-1.5.13.1
The command 'which esd' shows the install path, and 'esd' seems to be accepted as a command, but no sound. Yes, I have the volume on xmms turned up to 100% instead of the bizarre default of 0%... :(
$ esd
$ xmms
/usr/pkg/lib/xmms/Input/libmpg123.so: undefined symbol: mpg123_dct64
/usr/pkg/lib/xmms/Visualization/libbscope.so: undefined symbol: _bscope_blur_8
$
I also get a coupla errors when xmms launches.
BigBison
February 14th, 2008, 04:08
At some point, Python needs installing. Not the Windows version, same goes for GTK2 -- it would be nice if .dll's were somehow readable by the Interix subsystem, but they aren't. My first choice for installing Python was to use pkgsrc, but I inexplicably couldn't work around a very simple error preventing python24 from building. The binary pkgsrc package is python22, which is just not good enough.
OK, on to Debian-Interix which has a nice python24 binary. I don't understand the instructions (which assume I know my Debian lingo) for how to patch apt-get to do source builds (yet), so I just installed the binary package. Then, back to building from pkgsrc, with any package depending on python24 having that dependency commented out. All that matters is that it's in the PATH somewhere, although I hate short-circuiting the pkgsrc system like that.
Interestingly, since Python is integral to the Gentoo Portage system, that's one of the initial packages in the Gentoo Interix project:
http://prefix-launcher.svn.sourceforge.net/viewvc/prefix-launcher/prefix-launcher/trunk/python/patches/
There's also a Python 2.4 binary package available from Interop Systems (I see no evidence of any $20 fee required, as I've seen noted in places, but you do have to register for the forum -- btw, they offer a replacement sort which obviates the need to pay M$ tech support for that one patch I mentioned earlier). But, having only today figured out how to have pkgsrc and apt-get work together in peace and harmony, I haven't yet tried to install either portage or the Interop Systems packaging system:
http://www.interopsystems.com/community/pkg_install.htm
The problem is, some of those commands overlap with pkgsrc so using both will require some fancy footwork. It looks like GIMP 2.0 is the best that can be done on Interix, I didn't get very far with my porting effort, which can be a bit daunting (http://www.interopsystems.com/Porting_Gimp_SFU3-5.doc). I've already had to resort to some interesting chicanery due to the fact that the Debian-Interix project makes no effort not to do a complete transformation of the underlying system (not unlike how Nexenta completely transforms OpenSolaris, to the point pkgsrc won't interoperate).
The traditional UNIX directory structure is that if /sbin is present then /bin is a symlink to /usr/bin. Interix is the first UNIX I've come across (despite being a perpetual UNIX noob, I even hacked around a bit with IRIX back in the day) which symlinks /usr/bin to /bin while symlinking /lib to /usr/lib... how bizarre, how bizarre! :D Anyhoo, Debian Interix wants to own /usr/bin and overwrite everything that gets in its way -- unlike pkgsrc which creates its own little /usr/pkg world.
Problem is, once Debian takes over /usr/bin all hell breaks loose, including pkgsrc not working because it's looking for native Interix stuff in /bin. So, the solution is to rm the /bin symlink and cp -rp /usr/bin to / creating two identical directories -- one of which gets wiped out in a major way when you bootstrap Debian. From there, it's all a matter of setting up your PATH with /usr/bin before /bin when using apt-get, otherwise leaving /bin before /usr/bin and always after /usr/pkg/bin.
When Debian wants something that also happens to be in /usr/pkg/bin it ignores the PATH and gets it from /usr/bin anyway, or so it appears to my less-than-knowledgeable eyes. The upshot is, you can install the Debian gcc-4.2 compilers. These are the expected compilers to build Debian Interix packages from source, not the built-in to Interix gcc-3.3 compilers. The gcc-4.2 compilers will also build many packages in pkgsrc, to try just set CC and CXX environment variables to the Debian gcc-4.2 install, and unset them to revert to Interix gcc-3.3 compilers.
The various gcc packages in pkgsrc are all set to fail on Interix. I commented that out, of course, and gave building gcc with gcc-4.2 a whirl but that was no go either. So far as I know, for the POSIX subsystem the only two viable compiler packages are these two, plus the one in the Gentoo Interix collection. But, I can't tell what version anything there is without downloading and extracting, etc. but I can infer that it's at least gcc-4.1. Which means there's a very mature (been out there for years) gcc-3.3 which isn't undergoing active development, plus two versions of gcc-4.x (neither of which existed two years ago) being actively developed for Interix.
BigBison
February 14th, 2008, 07:25
At some point, Python needs installing. Not the Windows version, same goes for GTK2 -- it would be nice if .dll's were somehow readable by the Interix subsystem, but they aren't.
Aha! Actually, .dll integration is supported in Interix > 5.2, so when I get back to trying this stuff on Vista again it ought to be possible to compile UNIX code using Windows libraries like GTK2, and GIMP/Win32.
kk5st
February 14th, 2008, 07:30
Anything in /usr/bin is subject to over-write by dist package managers. I would think that you should put it in /usr/local/bin, or under /opt if you use that tree. In theory, the filesystem hierarchy standard calls for 3rd party packages to be installed under /opt, and self-compiled stuff under /usr/local/bin. The /opt tree is seldom used, to my knowledge, and I don't think any dist sets it up by default. :shrug:
As a long-time Debian user who had to administer an RH installation for a short while that was way too long :(, I can tell you that Debian is generally very well mannered if you follow the rules.
cheers,
gary
BigBison
February 14th, 2008, 23:36
Actually, Interix comes with gcc in /opt. OpenSolaris distros also tend to use /opt (blastwave installs to /opt/csw) and I've seen a few pkgsrc installations in /opt as well. However, since we need to rely on pre-built binaries to fill in here and there in pkgsrc on Interix, we need to stick with the /usr/pkg hierarchy as that's what the binaries expect. On Solaris, which makes no use of /usr/local, I put pkgsrc in /usr/local. As for Debian Interix, I see no way to change the directory it uses or I would have directed it to /usr/local to avoid the confusion of /usr/bin and /bin having different contents. (My Eclipse - Solaris project, discussed elsewhere, puts Eclipse in /opt, right next to the Sun Studio compilers).
BigBison
February 15th, 2008, 09:41
Unfortunately, my Debian Interix install has gotten 'stuck' in that there's a package I can't remove, an error message telling me that I need to reinstall it before I can remove it because it's so badly corrupted, and reinstalling it changes nothing. I don't know how to just wipe it out, but until I can, apt-get won't do anything else.
I did, however, get a critical bit or two out of the Debian Interix repository. I'm now tackling the third package install system, the Interop Systems 'pkg' system. This, from the original makers of Interix back when it was called OpenNT, does an awful lot of updating of the Interix installation itself in the regular scheme of things. So whatever it installs it considers native, and puts it in /bin.
It may take a bit more dickering about with PATH and symlinks to make sure pkg_add (Interop Systems) and pkg_add (pkgsrc) don't get mistaken for one another. I was worried at first that both pkg and pkgsrc use /var/db/pkg to stash installed packages and manifest data, but pkg does 'grep /var/db/pkg/-*-bin/{etc.}' which is not a filename pattern that anything in pkgsrc shares. There still appear to be conflicts, anyway, yet it remains to be seen if they're critical.
I went ahead and just told it to install gtk2 to see how it handled dependencies, and yes, it's installing an awful lot of packages from the Interop Systems repository. So in order to get one FAUXNIX system of use, there will be three different versions of most basic executables and libraries. What winds up in /usr/local are packages I build myself which aren't in any of these porting systems, like (especially) CSSed. (On my bisonix project, this would go in /opt/cssed.)
BigBison
February 15th, 2008, 10:19
GAAAAHHH!!! They aren't compatible. There's a lot more to the Interop Systems repository than meets the eye. For example, gtk2 is hardly a standalone thing, it installs every sort of prerequisite that isn't on their list, like jpeg and tiff. And it will detect the presence of GTK+ 1.2 from pkgsrc and try to delete it, at which point it refuses to go any further. For the same reason I'm stuck with the default /usr/pkg for pkgsrc, I can't change /var/db/pkg although at least with pkgsrc it's possible.
The solution here is to install GIMP and GTK2 and QT4 (no QT3) and anything and everything else that strikes my fancy from Interop Systems' collection. Then, hopefully, there are enough prerequisites in /bin that the binaries (like glib2) I needed from pkgsrc are no longer needed, so I can change the directory structure a bit.
The long and short of it is, I'm about to uninstall SFU and reinstall it again for the umpteenth time, be each go refines my HowTo draft further (I think I finally know what I'm doing...). Too bad, I had some nice apps built this time out, X-wise: dillo, gvim, xeukleides, gnuchess/xboard, gtksee, quicklist, rxvt (way better than using the native Interix interface for your shell of choice), worker (doesn't crash all the time, so you can leave it open for GUI file management, unlike Windows Explorer which is also a memory hog) and xzgv (much better than gtksee, IMHO, and better than any image-management software I have on Windows).
What's missing from that list, unfortunately, are any qt3 apps. For one thing, qbrew, qtstalker, qtdmm, earth3d and others aren't in any of the package collections for Interix. The two or three that are won't build, but not for lack of qt3-libs -- somebody went to monumental trouble to port those to Interix. Takes a long time, but qt3 does indeed build. Most qt3 apps are also kde3 apps, kde3 does not build. I came close with lyx-qt, qgis, qhacc and kvirc. So it's not like there's a lack of cool qt3 apps out there...
The big, long-term question will be, are there enough free software apps of high enough quality to cost-justify the premium cost of XP Professional, Vista Ultimate or Enterprise editions? Without the POSIX subsystem, all other versions seem like crippleware to me, but that's a hefty price to pay for admission. Unless you can actually use apps like cssed where you might otherwise pay for TopStyle Pro or something. Free GIS software might cost-justify Vista Ultimate by itself if you're into that sort of thing.
BigBison
February 16th, 2008, 00:29
OK, I'm removing and reinstalling SFU once again. I know, I just did this last night, but this time I installed Interop Systems' pkg installer first, learning more about Interix in the process. It doesn't clobber anything in /bin, instead using the /usr/local hierarchy. It is easy to tell pkgsrc to use /var/db/pkgsrc instead of /var/db/pkg, this doesn't affect binary installations either.
For some reason, though, when I went to build qt3 today the build failed to even start, telling me that 'make or gmake must be in your PATH' which of course they both were (otherwise I wouldn't be able to build anything). With a few different versions of make and gmake to choose from, I tried changing my PATH to single out the different variants but got the error each time. I think the problem, somehow, happened when I installed qt4 from Interop Systems. I won't do that again, because I don't know of any qt4 apps except KDE4 -- which can't be expected to work on Interix anyway.
So it's back to the drawing board, again... or, as Bullwinkle used to say, "This time for sure!" My goal today is to build scribus (http://www.scribus.net/), a qt3 app. I should mention a very important tip for anyone dinking around with SFU. Give it its own drive, i.e. I'm using "E:\sfu\" (some sort of directory name is required, you can't put it on the root of the drive). Now, the thing about the sfu directory is you can't delete it once you've removed SFU, unless you reformat the drive.
BigBison
February 16th, 2008, 22:27
Bah. Doncha hate wiping things out to start over, then running into the same error, and solving it -- only to realize that means you didn't have to wipe out two days of effort? Sigh. :bored:
The qt3 config file has a test for 'gmake' or 'make' in it, which relies on the 'which' command. Does this mean some variants of 'which' send output to stdout so it can be scripted, and others don't? I'm beginning to understand the attraction of the /usr/xpg4 tools in Solaris.
I don't know which 'which' I used the first time I built qt3, but this time I just hardcoded the variable this test sets, with the path /usr/pkg/bin/gmake. Now qt3 is building as smoothly as it did before, hope I'm not speaking too soon.
BigBison
February 25th, 2008, 11:41
Well, that took a little longer than anticipated. But I did manage to build the Scribus package from the pkgsrc collection, with a little help from libbind, which doesn't come with Interix BIND or build from pkgsrc, so I got it from Interop Systems. Python 2.4 came from Debian Interix, although that could have come from Interop, too. I don't think anything from Debian Interix is required to get Scribus up and running, although I did figure out how to get all three package systems working together -- a minefield with no map, unfortunately.
Somehow, I've lost the ability to do screenshots from my regular XP user account, but at some point I'll post a screenshot of Scribus-Win32 and Scribus-Interix running simultaneously on XP. Gvim runs nicely on XP, Dillo does to except for not wanting to download files. I'm really bummed that Xgalaga works -- except you can't fire. Most of the cool apps will have to wait for my next try at Interix 6.x, the 3.5 version is limited but also a no-brainer to cost-justify if you're choosing between XP Home and XP Pro.
With the bewildering array of Vista versions out there, it would seem sensible to offer SUA (SFU, in Vista-speak) as an option for anyone because it's quite difficult to cost-justify the premium price of Vista Ultimate or Enterprise over the other versions just for Interix. I'm not really aware of what other significant differences (besides price) exist between flavors of Vista. I recommend against using the NFS or NIS capabilities, so that's a pretty big knock against the price as those are alleged selling points.
While it's true that many open-source apps, both GUI and console, have Windows versions there is one technical difference I can note regarding consumption of resources. Looking at my memory and CPU consumption while running Opera and Scribus for Windows, plus Scribus on Interix, reveals the issue. Opera and Scribus both use qt3, but on Windows, qt3 isn't something you can install -- it's compiled into the apps themselves, not linked at runtime (there's no qt3.dll). Unless someone knows better, of course, but you hardly need to 'install qt3' in order to install either Opera's or Scribus' Windows versions.
So on Windows, the memory consumed by the qt3 libraries is 'cloned' each time another qt3 app executes. Whereas on the Interix subsystem, and assuming we could build Opera there, Opera and Scribus would both use the same shared qt3 libraries. This can definitely be chalked up as the major advantage of using a packaging system over ad-hoc application-based installers, rather than an outright difference between OSs.
Multiple GUI apps running on Interix consumes fewer system resources, than running those same apps natively on Windows. This goes for Python-based apps (like Scribus) as well. The Python libraries may be shared in Windows-native apps, but nothing else will be. Now, hopefully without this house of cards crashing, I'm installing GTK2 from Interop so I can try building other stuff from pkgsrc, where GTK2 doesn't build (not in Debian Interix, either).
vBulletin® v3.6.8, Copyright ©2000-2012, Jelsoft Enterprises Ltd.