delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2022/01/01/20:45:08

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Received: by 2002:a05:622a:1902:: with SMTP id w2mr36653934qtc.498.1641087044205;
Sat, 01 Jan 2022 17:30:44 -0800 (PST)
X-Received: by 2002:a25:3006:: with SMTP id w6mr53940431ybw.691.1641087044036;
Sat, 01 Jan 2022 17:30:44 -0800 (PST)
Newsgroups: comp.os.msdos.djgpp
Date: Sat, 1 Jan 2022 17:30:43 -0800 (PST)
In-Reply-To: <20220102000102.7d7b014f@gmx.de>
Injection-Info: google-groups.googlegroups.com; posting-host=180.150.111.33; posting-account=Q2OZEwoAAAANKo2GT_l3uUEobIMUphXY
NNTP-Posting-Host: 180.150.111.33
References: <ac1dadfd-435e-4f3f-a126-04cfafb8b571n AT googlegroups DOT com> <20220102000102 DOT 7d7b014f AT gmx DOT de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0c1dd41b-c587-4822-9b41-5d8e1586058an@googlegroups.com>
Subject: Re: binutils 2.37 fails PDCurses library make with "ar: invalid operation"
From: "Jamie Bainbridge (jamie DOT bainbridge AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
Injection-Date: Sun, 02 Jan 2022 01:30:44 +0000
Bytes: 3896
Lines: 66
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sunday, 2 January 2022 at 9:01:39 am UTC+10, Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com] wrote:
> Am Fri, 31 Dec 2021 20:03:57 -0800 (PST) 
> schrieb "Jamie Bainbridge (jamie DOT ba DOT  DOT  DOT  AT gmail DOT com) [via 
> dj DOT  DOT  DOT  AT delorie DOT com]" <dj DOT  DOT  DOT  AT delorie DOT com>:
> > Hello, 
> > 
> > Compiling the PDCurses-3.9 source with the latest binutils (bnu237b) 
> > fails to create the library file with: 
> > 
> > ar: curses.a: invalid operation 
> > 
> > You can also reproduce the same error easily with the same command 
> > manually: 
> > 
> > ar rcv curses.a *.o 
> > 
> > ar makes a small 8-byte curses.a file but that's obviously not valid. 
> > 
> > Trying several previous versions (bnu232b, bnu234b, bnu2351b) with 
> > the same compiled object files all work fine. 
> > 
> > I'm compiling the latest stable PDCurses from upstream: 
> > https://github.com/wmcbrine/PDCurses/releases/tag/3.9 
> > 
> > The only change I've made is to add -DPDC_RGB to CFLAGS and change 
> > the LIBCURSES variable to "curses.a". 
> > 
> > My environment is dosbox-staging. I've set "LFN=n" in djgpp.env as 
> > DOSBox doesn't have LFN support (at least not this fork of it). There 
> > are no long filenames involved here anyway. 
> > 
> > I hope that's a useful enough error report. Please let me know if I 
> > can provide any more information. 
> > 
> > Jamie
> OFYI, after having installed DOSBox I was able to reproduce the bug. 
> What the maintariners of binutils have changed between bnu2351b and 
> bnu237b is completely unknown to me. It seems to be a DOSBox specific 
> issue and AFIAK DOSBox has never been recommended to be used as DJGPP 
> development environment. I will try to investigate this issue when I 
> have enough time. This will not be quite soon. 
> 
> Use bnu2351b; AFAIK there are no DJGPP specific changes between 
> bnu2351b and bnu237b. 
> 
> 
> Regrads, 
> Juan M. Guerrero

I'm also unable to reproduce this in a DOS 6.22 virtual machine. I
agree it's a DOSBox-specific issue.

Thinking about DOSBox limits, there are a hard-coded number of FILES
and FCBs, I thought maybe ar has generally changed the way it reads
input files and is hitting a limit. However, trying the DOSBox-X fork
which allows these to be configured, FILES=10 produced a different
more specific error "ar: Too many open files (EMFILE)" so at least a
file limit doesn't appear to be the problem.

Thank you for your time testing. I agree there's no rush to fix it and
DOSBox isn't such a great environment for DJGPP anyway.

It's possible to work around this with a DOS VM (probably FreeDOS
too), or cross-compile on Linux, or just use bnu2351b in DOSBox.
That's plenty of valid alternatives.

Jamie

- Raw text -


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