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
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
Am Fri, 31 Dec 2021 20:03:57 -0800 (PST)
schrieb "Jamie Bainbridge (jamie.ba...@gmail.com) [via
dj...@delorie.com]" <dj...@delorie.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.
JamieOFYI, 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
On Sunday, 2 January 2022 at 9:01:39 am UTC+10, Juan Manuel Guerrero (juan.guerrero@gmx.de) [via djgpp@delorie.com] wrote:
Am Fri, 31 Dec 2021 20:03:57 -0800 (PST)
schrieb "Jamie Bainbridge (jamie.ba...@gmail.com) [via
dj...@delorie.com]" <dj...@delorie.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.
JamieOFYI, 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
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 355 |
Nodes: | 16 (2 / 14) |
Uptime: | 47:32:20 |
Calls: | 7,658 |
Files: | 12,819 |
Messages: | 5,702,666 |