HP eld Manual page 193

Table of Contents

Advertisement

Output Listings and Error Handling
1528 Cannot preset because <reason>.
Cause. You gave the -must_preset option, to say that eld should consider it an error
if it couldn't correctly perform fixups, and that is what happened. There are many
reasons why fixups might not have been possible, and the message tells the reason
that occurred.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. It is possible to run a program even though it could not be fixed up correctly
at link time. For example, one reason that fixups can't be performed at link time is if
eld is told to look at various DLLs that have overlapping addresses. This may be true
of your link environment, simply because it doesn't have copies of the DLLs for which
people have tried to get the addresses sensible. And even if you are doing a link on
the same machine where you can run, pointing at the real DLLs that you will use, it is
still possible that the DLLs have overlapping addresses, so that fixups can't be
performed at link time. The addresses of the DLLs can be changed at runtime, making
it possible to run correctly. So, you might just want to omit the -must_preset option and
not worry about this. Or, if you want to make sure that the fixups can be correctly
performed at link time, which is a requirement for some special programs, and which is
probably why you specified -must_preset in the first place, then you will need to
investigate the reason why fixups couldn't be done, as given in the message.
1529 <filename> is a <type of file>, but the -alf option
requires DLL's for the liblist entries in <existing program
or DLL name>.
Cause. You have given the -alf option, to update an existing program or DLL.
When that program or DLL was originally built, it specified certain other DLLs to be
used. Those DLLs contained "DLL names", which were saved in the program or DLL
being built at the time. During the -alf option, eld uses those DLL names to search
for those other DLLs again. eld found such a file, and opened it, but instead of being a
DLL it was a different kind of file, as explained in the message. The message might
have called it a "linkfile", which means, for example, that it might be a file produced by
a compilation, or the message might have said it was an "archive", as produced by the
"ar" tool. But, in any case, it wasn't a DLL.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. The simplest approach is that, when you build a DLL, give it a simple
name, and let its DLL name be that same simple name. And then, leave that DLL
where it is, while building another program or DLL that uses it, and then using the -
alf option on that other program or DLL. Then you shouldn't get into this kind of error
situation. Somehow, by having a DLL name that doesn't match the filename, or by
having other files with the same names as the names of DLLs, things have gotten
confused. Start over, and don't do that.
eld Manual—527255-009
6-83
Error Messages

Advertisement

Table of Contents
loading

Table of Contents