This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

AW: Compiling Qt


Hi
I like to tell some details of the kde for cygwin project.

a few weeks ago I've heard about a free xfree server from the cygwin project
(http://xfree.cywin.com), so I downloaded it to see how difficult is to
compile
kde on windows.

I think that running kde on windows could be a good entry for windows users
learning and working kde to prepare future migrations to linux or extending
the using base of kde. Perhaps one day one can kill explorer and use only
kde as windows desktop.

So I've compiled kde1.1.2 (in an static version with a few patches) and
haven seen that it seems to work fine (kdelibs/-base/-games/utils about
80%). After that I'm started with compiling kde2. This is a little bit
complexer and need more knowledge about communication/interprocess details.
At now starting single application runs, but kde2.1 based much more on
dynamic libraries, which not works at know.

I've asked kde.org for ftp space and web site and they grant me space on
ftp.kde.org and a website like http://cygwin.kde.org to store all the
relating stuff. Yet I'm waiting for access instructions.

The main problem at now is compiling dll's for cygwin, in special exporting
global data exports. The (at now) supported way on cygwin is to define a
dllexport/dllimport -attribute on all data/functions to export. gcc creates
special access code for accessing such defined global data.
KDE and other big applications don't use  this attribute and I think it's a
never endless story to add this attribute to all the headers in the future.

The solution for this is to leave the header untouched and patch ld to
"auto-import" such data symbols. Paul Sokolovsky [mailto:paul-ml@is.lg.ua]
has implemented a patch for the mingw environment and I have adapted it to a
recent binutils release (2.11.90). (Christopher Faylor
[mailto:cgf@redhat.com] has announced to check this patch.) It works fine,
but on some applications the windows dll loader could not load the dll
because of a segmentation fault. One can reproduce this problem by compiling
a shared version of qt-1.45 and starts tetrix.exe or life.exe. All other
qt-examples will work. The Source package of the patched QT-Lib is available
on my web site, but this is temporally. When having access instructions for
ftp.kde.org, the source will be placed there. If anyone likes to get the
source immediatelly, please send a mail to me.

Remark: This problem although concerns the XFree-Server-lib libICE. In this
lib there is one global var "IceLastMajorOpcodeCode" which is  used by kde
code. One the first kde compiling, I don't use the auto-import feature
described above and the result was, that every application linked with this
lib contains a private copy of this var, which will not work. Using the
auto-import feature solves this problem.

When the problem is solved, the next step is to patch libtool to produce
shared libraries. At now I'm anylizing the related scripts/Makefiles and one
lib (kdelibs/kdecore/libdefakes.dll) is already be compiled. One problem is
to solve library dependences, because (i guess) we could not use the -rpath
statement. The assumption based on the fact, that unix shared libs contains
all required symbols for linking, but on cygwin the symbols are in *.[dll].a
libs. I don't know if --rpath could used for *.a libs.
Perhaps anyone else have knowledge about this.

ToDo:
- General
  compiling with dll's [started] 				(ld bug fixing on auto-import)
  libtool patching for shared support			[analysing]
  printing support  						[not started]
  sound support     						[not started]
  application testing and porting 				[started]
  distribution packaging (patched Cygwin installer ?) [not started]
  resolver lib for qt 2.3 QDNS (KDE2) 			[not started]
  bug fixing
  ...

- kde2: starting single applications works but whole kde could not be
started,

People that asked for helping on kde for cygwin:

Jeremy.Greiner [mailto:jeremy@win1.net]
Michael Goedeker [mailto:Michael.Goedeker@saght.tessag.com]

Best regards

Ralf Habacker
EMail: Ralf@habacker.de
       Ralf.Habacker@saght.tessag.com

> -----Ursprüngliche Nachricht-----
> Von: cygwin-xfree-owner@sources.redhat.com
> [mailto:cygwin-xfree-owner@sources.redhat.com]Im Auftrag von Harold Hunt
> Gesendet am: Mittwoch, 2. Mai 2001 23:59
> An: 'Shamsul Shaikh'; 'Cygwin XFree86'
> Cc: Ralf.Habacker@saght.tessag.com
> Betreff: RE: Compiling Qt
>
> Ralf Habacker used to be working on compiling KDE.
>
> Ralf, are you still around?  Any luck so far?
>
> Harold
>
> > -----Original Message-----
> > From: cygwin-xfree-owner@sources.redhat.com
> > [mailto:cygwin-xfree-owner@sources.redhat.com]On Behalf Of Shamsul
> > Shaikh
> > Sent: Wednesday, May 02, 2001 2:15 PM
> > To: Cygwin XFree86
> > Subject: Compiling Qt
> >
> >
> > Hi,
> >
> > Has anyone tried to compile Qt for the Cygwin/XFree86 Environment?
> > Any hints? - I am relatively new in the X world :)
> >
> > My objective is to try compiling KDE for our "absolutely awesome"
> > Cygwin/XFree86 Environment.
> >
> > Thx
> >
> > Shams
> >
> >
> >
> > =====
> > ----
> > Shamsul A Shaikh, BSc (Hons) in CS, MCPS, MCSE, CNA
> > Graduate Student, Computer Science (Iowa State University)
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Auctions - buy the things you want at great prices
> > http://auctions.yahoo.com/
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]