delorie.com/archives/browse.cgi | search |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |