delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/03/06/00:30:09

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: BASH 2.05 a cannot find GCC.EXE
Date: Tue, 05 Mar 2002 22:48:35 CST
Organization: Rice University, Houston TX
Lines: 80
Message-ID: <3c859fa3.sandmann@clio.rice.edu>
References: <3c84dfb6$0$4080$9b622d9e AT news DOT freenet DOT de> <3c84f79a DOT sandmann AT clio DOT rice DOT edu> <3c84fe5f$0$12305$9b622d9e AT news DOT freenet DOT de> <3c850cc1 DOT sandmann AT clio DOT rice DOT edu> <3c853c10$0$12701$9b622d9e AT news DOT freenet DOT de> <3c854c79 DOT sandmann AT clio DOT rice DOT edu> <3c856c4d$0$12312$9b622d9e AT news DOT freenet DOT de>
NNTP-Posting-Host: clio.rice.edu
X-Trace: joe.rice.edu 1015391432 17610 128.42.105.3 (6 Mar 2002 05:10:32 GMT)
X-Complaints-To: abuse AT rice DOT edu
NNTP-Posting-Date: 6 Mar 2002 05:10:32 GMT
X-NewsEditor: ED-1.5.9
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

>     First I would really like to thank you for your help so that I can get
> Libxslt ported to DJGPP. I think dos needs a good xsl processor, seeing as
> xml is becoming so popular, don't you agree?

I use it in my day job, I agree.  I'm glad to help people port new products,
which is why I'm happy to take the time to work out the problems.

> I will try to be as specific as possible. Here is my 'Simtel Bash':
> 
> GNU bash, version 2.04.7(1)-release (i686-pc-msdosdjgpp)
> 12/24/2001  10:59p             573,440 bash.exe
> 04/05/1999  09:49p               2,048 sh.exe

This is good - this is the newest 2.04 release based on the V2.03 
tested library.  This should also work just fine on Windows 2000 (mostly).

>     I have really tried everything. This is what I know:
> I can build applications that come with a djgpp makefile without problem
> I cannot build any applications (so far) that require me to 'configure'
> first.

This just means someone hasn't taken the time to make configure work for
that package on DJGPP.  Quite often it's easier for someone who ports
it to just provide an updated makefile by hand edits instead of trying
to get the configure scripts to do the right thing.  If no one has ported
before - then you are blazing the path ...

> With 'configure first' applications using 'Simtel bash', I always get a
> million errors that look like this:
> 
> d:/user/djgpp/bin/as.exe: bfd assertion fail
> /dj204/gnu/binutl-2.112/bfd/coff-i386.c:529
> d:\user\djgpp\tmp\cc0mzF8o.s:8883: Error: cannot represent relocation type
> BFD_RELOC_386_GOT32

PIC errors.  There is a key configuration (hopefully) which turns off 
shared library building.  It needs to be no shared libraries.

> With 'configure first' applications using 'rice bash', I always get a single
> error that looks like this:
> 
> D:\\USER\\DJGPP\\bin\\gcc.exe -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../libxslt
>  -I/dev/env/DJDIR/include/libxml2/libxml -I/dev/env/DJDIR/include/libxml2 -g
>  -O2 -c xslt.c  -fPIC -DPIC -o .libs/xslt.lo
> .../libtool: D:\USER\DJGPP\bin\gcc.exe: command not found

I don't know the cause of this right now - but the creation of xslt.lo 
makes me sure this is a command that shouldn't be executed at all (which
might be the fix ...)

> You are right, by both instances is '-PIC' requested from GCC. What can I do
> to illiminate this? Can I edit the makefile to get rid of it?

anything that has PIC, or libraryname.so or libraryname.lo is shared library
based and would need to be changed also.  Depending on your skills and other
hints that DJGPP users may provide - do what works best for you ...  Fixing
the configure would be great but may be more effort.

> What's a 'shared library', anyway (boy.... is he dumb :-(

In windows speak, a DLL.  It's a piece of code which can be loaded by 
another image.  Your program can be smaller since it doesn't include
commonly used/shared procedures.  On a system like Linux or Windows
this makes lots of sense, you only have one copy on disk, one copy 
in shared memory (that multiple programs can use).  Easy to fix a bug
by replacing the library.

Since most of the GNU distributions are very Unix/Linux biased, they
assume you build in a shared library environment.  Quite often a major
effort to fix.

On DOS, with only one program running at a time it doesn't make as 
much sense.  Tends to waste memory (you bring everything in the DLL
in, even if you only need 1 procedure).  Many files to distribute.
No "standard" location to put them.  No "standard" format.

One of the things I've been working on is trying to provide a better
DLL type capability for DJGPP.  Maybe in a future release.

Thanks for working through this.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019