Re: Linux, X, ld, gcc, linking, shared libraries and stuff



NoDot wrote:
> \\o//annabee wrote:
> > :) Ok DotNot,
>
> In the context of my screen name, 'NoDot' refers to the lack of a dot,
> not that I'm not a dot.
>
> > I see. What software do I need to do that ?
>
> I have no idea. I just remember reading it somewhere. I think it was one
> of Beth's posts, but I don't remember, so I'm likely wrong.

"Cygwin"; This is a general project to make UNIX software run on Windows,
that has a simple method of doing it...

There is a "Cygwin DLL" file which offers programs the UNIX system
calls...then you can take your UNIX source code and link against this
"Cygwin DLL"...and then the DLL "emulates" the UNIX functionality on
Windows...

As I say, a pretty simple idea...the Cygwin programs use the DLL as if it
were a UNIX "kernel" and then the DLL uses Win32 underneath to "emulate"
UNIX...

Now, BEFORE getting carried away and downloading it, realise (as the Cygwin
site itself points out) that the Cygwin project is to try to "port" a
complete UNIX system to run Windows...hence, if you download the whole
thing, then get a _complete UNIX system_...and, no, it _DOESN'T_ run nearly
as fast as the "real deal"...

Also, the work on the CygWin X is there but it's very "minimal"...basic
stuff...it only had that rather crap "standard" X window manager that can't
really do anything useful when I tried it...

It's still an on-going project and its primary purpose is to allow
"cross-development" kind of things...it's not quite "X for Windows", so if
you're expecting KDE to appear...well, it's not that far advanced...

And you'll also note that I've said "UNIX software" throughout rather than
"Linux"...this is because the Cygwin DLL is really UNIX in general, rather
than Linux (though, you know, Linux is a variety of UNIX so there's plenty
of "similarities" and software that'll work on both...but, to be precise,
one should say "UNIX", not "Linux" :) and I think only works through the "C
level" interface...

You _might_ find it interesting, though...it's a little weird in that it's
half Windows, half UNIX...it uses Windows - so the files, I do believe, are
proper PEs and the "console" appears in Windows' usual "character
subsystem" that it uses for the "DOS prompt" too - to actually do things
but "pretends" to be UNIX through the DLL calls...the primary purpose, as
noted, is to help with "cross-development" and that kind of thing rather
than as an OS for general use...and the work on X is the part that was "not
yet finished" when I was looking at it...a basic desktop does appear but
"basic" is the operative term there...at the moment, more of a "test
platform" for "cross-development", than a "replacement OS" or anything
quite so grand...

So, yes, there is such a thing...but there's a "caveat" or two
attached...not particularly "fast" (especially not X, when I last
looked...which, admittedly, was a while ago and being "on-going", it might
be slightly better now :)...a very "weird" UNIX system because the programs
are PE files and it sits on your Windows FS as ordinary files and
folders...so, it's half Windows, half UNIX...

But it's an essentially simple idea...UNIX and X are designed to be
"portable"...and by providing these "Cygwin DLLs" that essenitally "fake" a
UNIX kernel on Windows, they can then compile the UNIX software against the
DLL, so that it runs on Windows...and the project is more than simply this,
in the sense that "Cygwin", overall, is an attempt to provide a more or
less complete UNIX system...that is, they've already compiled lots of the
standard UNIX software against the DLLs (and made the "tweaks" necessary to
make sure they work together properly :) and that's what you download when
you download the full "Cygwin" system, not just the DLL...

Although, the Cygwin DLL is very interesting in that you could develop your
own UNIX software on Windows with Windows tools (even RosAsm, as it's a
DLL, not a ".lib"...though how easy that would, you'd have to find out for
yourself...but it shouldn't prove a problem for RosAsm to link to a new DLL
like this, yeah? :)...and then use Windows to develop what is UNIX
software...this is the underlying point, of course...a "cross-development"
thing...

Take a look:
http://www.cygwin.com/

As they themselves stress, it's NOT a way to run Linux apps on Windows or
anything grand...it's just a DLL, basically, that allows you to compile
UNIX source against it so it runs on Windows...note, though, that Windows
is "unaware" of Cygwin and Cygwin is "unaware" of Windows (they function
somewhat independently, other than Cygwin "sits atop" Windows
:)...blah-blah-blah...in short, keep the "expectations" modest...

Note, though, that if ReactOS ever has that "UNIX subsystem" installed,
then, in a manner of speaking, it would roughly work in the same way Cygwin
does work here already (presents the UNIX API to applications but, under
the hood, is "translating" it into NT kernel calls :)...except it would be
"intergrated" into ReactOS as part of its "subsystem" stuff...Cygwin sits
as an ordinary DLL file...

Ah, take a look...you can work it all out, I'm sure...I'll stop ranting now
;)

Beth :)


.



Relevant Pages

  • Re: What is the more popular UNIX flavor?
    ... about my experience with Solaris and Cygwin. ... installing packages. ... needing eg tftp you only need to activate on a Unix system. ... probably need installing first on the equivalent Windows system. ...
    (comp.unix.questions)
  • Re: Open source mail server on windows, oh my...
    ... > Life under windows would be unbearable without cygwin. ... plus UNIX servers is the answer for servers under Windows. ...
    (comp.os.linux)
  • Re: Open source mail server on windows, oh my...
    ... > Life under windows would be unbearable without cygwin. ... plus UNIX servers is the answer for servers under Windows. ...
    (comp.os.linux.questions)
  • Re: What is the more popular UNIX flavor?
    ... The solaris system I was using went ... experience with Solaris and Cygwin. ... Cygwin is but a thin veneer that makes windows more ... want out of full unix but can't get on cygwin. ...
    (comp.unix.questions)
  • Re: What is the more popular UNIX flavor?
    ... experience with Solaris and Cygwin. ... installing packages. ... I prefer Microsoft's grossly-misnamed Windows Services for Unix ...
    (comp.unix.questions)