Mail Archives: djgpp/1996/09/03/13:19:45
Lukasz Grochal wrote:
>
> The title says it all I guess, I've come across this linker bug
> mentioned in faq, that makes it bail out on large lib* files with an
> error message like "no memory" or so. Wonder if anyone has debugged
> it and could donate me/all of us a patch/fixed source. The problem is
> I have this big library with no hope to recompile it in smaller
> pieces as suggested in faq (would need a Borland TASM that I don't
> have). Or is there a way to split a compiled library? Or another
> workaround to this problem? For those who might be interested: I'm
> trying to compile Povray-3.0 official release for MS-DOS. The pmode.a
> is the problem. Hope anyone can help me :) I'll appreciate any
> suggestions (or a patched linker <grin>)...
>
>
I have been doing this a while ago : the problem actually is in pmlite.o.
I know two workarounds :
1/ get a copy of ld2.4 (previous version of thie linker), I don't
recommend this (you'll have two versions of the linker on your
machine, and this is never a sane situation)...
2/ split pmode.a into three part : like this
copy pmode.a pmode1.a
ar -d pmode1.a _vflat.o _pmpro.o _pmlite.o
ar -x pmode.a _pmlite.o
copy pmode.a pmode2.a
ar -d pmode2.a vflat.o pmpro.o pmlite.o _pmlite.o
and then replace in MSDOSGCC.LNK "pmode.a" by
pmode1.a _pmlite.o pmode2.a
It should then compile allright (let me know if you have a problem).
If you intend to use the ztimer.a library, you'll have a similar problem
: solve it by splitting ztimer.a into .o objects (BTW there is a bug in
povray with ztimer, so be careful).
After this, you will find that povray 3.0, even though it compiles, still
dies on FPU exceptions. (compiling ballbox1.pov for instance). To avoid
this, remove the '-lm' option from the MSDOSGCC.LNK file.
Finally, don't forget to recompile using the -O3 switch (optimisation),
after this you get a version which is about 10% faster than the official
Watcom-based compile. (Thank you DJ).
Francois
- Raw text -