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


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

RE: libXm.a + xmkmf



You are using X11R6.4 for B20.1.  You need the newer binaries from
xc-4-binaries directory.  Therefore you get _ctype_ undefined

Second xmkmf is a plain text file, you can always edit it according
to your PATHS.

Suhaib

> -----Original Message-----
> From: Tom Weichmann [mailto:tomcw@localnet.com]
> Sent: Friday, June 02, 2000 4:38 PM
> To: Suhaib Siddiqi; cygwin-xfree@sourceware.cygnus.com
> Subject: RE: libXm.a + xmkmf 
> 
> 
> Hello,
> 
> 
> > > Hello,
> > > 
> > > I am running cygwin 1.1.1 on Win98.  I an using the binary release
> > > of the x clients and libs from the cygwin/xfree86 page.  I am trying
> > > to compile a x file manager called mfm, and I an getting the
> > > following errors when I xmkmf -a :
> > > 
> > > makedepend: warning:  pty.c, line 3: cannot find include file
> > > "fcntl.h"
> > >         not in /usr/X11R6.4/include/fcntl.h
> > >         not in /include/fcntl.h
> > >         not in /usr/local/lib/gcc-include/fcntl.h
> > >         not in E:/usr/H-i386-cygwin32/i386-cygwin32/include/fcntl.h
> > >         not in
> > >         E:/usr/H-i386-cygwin32/lib/gcc-lib/i586-cygwin32/egcs-
> > > 2.91.57/inc
> > > lude/fcntl.h
> > > 
> > > This error is repeated over and over for every file in the tar ball.
> > >  Where does xmkmf get its info from?  None of the include
> > > directories which make is looking in exist on my system. 
> 
> Suhaib Siddiqi wrote:
> 
> > "None of the include directories..." <---THIS IS YOUR PROBLEM.  
> > You cannot compile a code if you do not
> > have proper headers for it, a full compilation suite (compilers). A
> > proper installation of Cygwin.
> > 
> > xmkmf is getting it from your pty.c subroutines, which needs fcntl.h
> > header file.
> > 
> > Suhaib
> 
> I think that I might need to explain my self better.  All of these 
> header files *do* exist on my system, but xmkmf/makedepend are 
> looking in directories which only existed in the previous version of 
> cygwin.  Looking at the error, makedepend looked in the following 
> directories for these headers:
> 
>  /usr/X11R6.4/include/
> * I have this dir, but it only contains headers for X
> 
>  /include/
> * This does not exist in cygwin 1.1.1
> 
>  /usr/local/lib/gcc-include/
> * This does not exist in cygwin 1.1.1
> 
>  E:/usr/H-i386-cygwin32/i386-cygwin32/include/
> * This does not exist in 1.1.1, and I do not have an E: drive
> 
>  E:/usr/H-i386-cygwin32/lib/gcc-lib/i586-cygwin32/egcs-2.91.57/inc 
> lude/
> * This does not exist in 1.1.1, I do not have an E: drive, and I do not 
>    have egcs installed on my system.  I compile with gcc 2.95.2
> 
> When I asked where does xmkmf get its info from, what I should 
> have said is:  Why is xmkmf searching these directories for 
> headers.  On Cygwin 1.1.1 all of the headers exist in the following 
> directory:
> 
> /usr/i686-pc-cygwin/include
> 
> This is the way Cygwin 1.1.1 installed itself on my system.  I have 
> not modified it at all.  I have successfully built many other binaries 
> which do not use xmkmf, which leads me to believe that xmkmf is 
> reading an old file somewhere which is telling it to look in these old 
> B20 style directories for the header files.
> 
> As a quick and dirty fix for this I mounted 
> /usr/i686-pc-cygwin/include as /include because for what ever 
> reason xmkmf was looking in /include for the headers contained in
> /usr/i686-pc-cygwin/include.  When I did this xmkmf -a  
> successfully completed.  Then when I tried to make the binary, 
> make died with undefined reference to `_ctype_' errors which 
> referred to libXm.a.  This shows that even with the proper headers 
> there is still a problem with libXm.a.  So to sum up
> 
> 1. How do I get xmkmf/makedepend to look in the proper 
> directories for the needed headers?
> 
> 2. Does libXm.a need to be rebuilt for cygwin 1.1.1?
> 
> Thanks Again,
> 
> Tom Weichmann
> 
> > $ make
> > 
> > rm -f mfm.exe
> > gcc -o mfm.exe -O2 -s -mpentium      -L/usr/X11R6.4/lib 
> accels.o    
> >      dd.o d
> > vices.o         fileMgr.o         fileSelectionBox.o    ftp.o   
> > globalLList.o
> >       info.o         menubar.o         mfm.o         pty.o        
> >  typesFile.o
> >        util.o -lXm -lXt -lSM -lICE -lXpm -lXext -lX11
> > 
> /usr/X11R6.4/lib/libXm.a(ResConvert.o)(.text+0x145d):ResCon
> vert.c:
> >  undefined re
> > erence to `_ctype_'
> > 
> /usr/X11R6.4/lib/libXm.a(ResConvert.o)(.text+0x1478):ResCon
> vert.c:
> >  undefined re
> > erence to `_ctype_'
> > 
> /usr/X11R6.4/lib/libXm.a(ResConvert.o)(.text+0x1490):ResCon
> vert.c:
> >  undefined re
> > erence to `_ctype_'
> > 
> /usr/X11R6.4/lib/libXm.a(ResConvert.o)(.text+0x1b20):ResCon
> vert.c:
> >  undefined re
> > erence to `_ctype_'
> > 
> /usr/X11R6.4/lib/libXm.a(ResConvert.o)(.text+0x1b26):ResCon
> vert.c:
> >  undefined re
> > erence to `_ctype_'
> > 
> /usr/X11R6.4/lib/libXm.a(ResConvert.o)(.text+0x1b46):ResCon
> vert.c:
> >  more undefin
> > d references to `_ctype_' follow
> > collect2: ld returned 1 exit status
> > make: *** [mfm.exe] Error 1
> > 
> > This looks to me like libXm.a needs to be re-compiled with 
> the 
> > latest cygwin.  So this leads me to my next question.  Do I 
> need to
> > download XC40-1 - XC40-4 from the ftp site just to build 
> the libs and
> > clients, or is that for the xserver as well?  Is there another, 
> smaller
> > source I can use if I just want to build the libs and clients?
> > 
> > Thank you for your time,
> > 
> > Tom Weichmann
> 
> 

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