Board index » cppbuilder » [Linker Fatal Error] Fatal: Access violation. Link terminated.

[Linker Fatal Error] Fatal: Access violation. Link terminated.


2007-11-03 05:37:27 AM
cppbuilder47
I commented out one line in one of my source files in my project group and
did a make.
I got the following linker message:
[Linker Fatal Error] Fatal: Access violation. Link terminated.
I have tried changing compiler and linker options but this message will not
go away and I do not have a clue to what causes the error.
I re-booted my PC but the linker error still occurs.
I closed all files and opened the project again but the linker error still
occurs.
I deleted all .tds, .exe, .lib. bpl and .bpi files but the linker error
still occurs.
I am currently doing a Build all to see if it fixes the problem.
I am wide open for any suggestions on how to get around this problem as it
leaves me dead in the water.
Larry Griffiths
 
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

I forgot to mention I am using BDS 2006 under Windows XP.
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

Still no reply, bummer.
We own multiple BDS2007 Rad studio that we have not migrated to yet.
Could I grab the ILINK32.EXE from BDS2007 and try it instead?
Is there a .DLL I would need to include with it also?
Larry Griffiths
 

{smallsort}

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

"Larry Griffiths" < XXXX@XXXXX.COM >wrote in message
Quote
Still no reply, bummer.

We own multiple BDS2007 Rad studio that we have not migrated to yet.

Could I grab the ILINK32.EXE from BDS2007 and try it instead?
Is there a .DLL I would need to include with it also?
You may want to wait a bit. I got your first
post on my way out of the office on Friday and it's now
Sunday evening...
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

If I were you, I would try it anway. As long as you keep your source
codes safe, there is no reason why you can't try it and see what
happens.
Hope this helps.
Larry Griffiths wrote:
Quote

Still no reply, bummer.

We own multiple BDS2007 Rad studio that we have not migrated to yet.

Could I grab the ILINK32.EXE from BDS2007 and try it instead?
Is there a .DLL I would need to include with it also?

Larry Griffiths
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

We back up our code with CVS.
I tried a full build but still get the linker error.
I removed all my source from the failing project directory and brought back
the files as they were before the link error occurred.
I made a mistake updateing all my CVS project directories and have to work
out some compile errors that are occuring because of submissions from other
members of my group.
I had to break away from this EDI project last month to work on a robotic
interface. This EDI project is a month or two behind schedule now so I
groaned when this linker error shows up. Murphy is at it again. The
business owner dropped by late Friday and asked me how the project was
going. I told him about the linker error and that searching the web did not
produce any solutions to this problem. I found that others had this error
in the past but they did not post any work-arounds for this problem and the
Codegear reports show that the problem could not be fixed because the techs
did not have enough information to solve the problem. It seems to me that
the linker could hold some "In Storage" trace information that it could
output when it catches this exception so that the techs would have some
clues to narrow it down. I get the feeling that the ILINK32 is a piece of
code that does not have an owner or someone who understands it. If someone
did understand the code enough to program in trace code then it seems that
intelligent information could be presented along with the "Fatal Linker
Error" message which would enable the techs to solve this issue. Searching
the web shows this error has been around for years and has not been resolved
yet.
If a trace does exist for the linker then someone please tell me how to use
it. If more detailed information can be presented from ILINK32 then I would
greatly appreciate know how to turn it on and where to look for log files,
etc.
Larry Griffiths
"ANONYMOUS" < XXXX@XXXXX.COM >wrote in message
Quote

If I were you, I would try it anway. As long as you keep your source
codes safe, there is no reason why you can't try it and see what
happens.

Hope this helps.


Larry Griffiths wrote:
>
>Still no reply, bummer.
>
>We own multiple BDS2007 Rad studio that we have not migrated to yet.
>
>Could I grab the ILINK32.EXE from BDS2007 and try it instead?
>Is there a .DLL I would need to include with it also?
>
>Larry Griffiths
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

As far as I know, no trace from the linker exists.
The linker from CRS2007 behaves the same as in BDS2006.
I have put this error to QC at least twice and other people have done the
same but to no avail.
I tried to explain to CodeGear that the basic problem is that the linker
does not leave any trace behind when it quits with that error - just as you
say - but my submission was criticized as "not helpful" .....
The only thing I can recommend to you is to make a "dynamic" link to make
the exe smaller, which worked in my case. The necessity to distribute all
that bpls instead of one "monolithic" exe is a nuisance however.
Codegear, do you listen ? Your linker is {*word*99} {*word*99} {*word*99}PY {*word*99}PY {*word*99}
.........
Regards,
Pavel
"Larry Griffiths" < XXXX@XXXXX.COM >píše v diskusním příspěvku
Quote
We back up our code with CVS.

I tried a full build but still get the linker error.

I removed all my source from the failing project directory and brought
back the files as they were before the link error occurred.

I made a mistake updateing all my CVS project directories and have to work
out some compile errors that are occuring because of submissions from
other members of my group.

I had to break away from this EDI project last month to work on a robotic
interface. This EDI project is a month or two behind schedule now so I
groaned when this linker error shows up. Murphy is at it again. The
business owner dropped by late Friday and asked me how the project was
going. I told him about the linker error and that searching the web did
not produce any solutions to this problem. I found that others had this
error in the past but they did not post any work-arounds for this problem
and the Codegear reports show that the problem could not be fixed because
the techs did not have enough information to solve the problem. It seems
to me that the linker could hold some "In Storage" trace information that
it could output when it catches this exception so that the techs would
have some clues to narrow it down. I get the feeling that the ILINK32 is
a piece of code that does not have an owner or someone who understands it.
If someone did understand the code enough to program in trace code then it
seems that intelligent information could be presented along with the
"Fatal Linker Error" message which would enable the techs to solve this
issue. Searching the web shows this error has been around for years and
has not been resolved yet.

If a trace does exist for the linker then someone please tell me how to
use it. If more detailed information can be presented from ILINK32 then I
would greatly appreciate know how to turn it on and where to look for log
files, etc.

Larry Griffiths


"ANONYMOUS" < XXXX@XXXXX.COM >wrote in message
news: XXXX@XXXXX.COM ...
>
>If I were you, I would try it anway. As long as you keep your source
>codes safe, there is no reason why you can't try it and see what
>happens.
>
>Hope this helps.
>
>
>Larry Griffiths wrote:
>>
>>Still no reply, bummer.
>>
>>We own multiple BDS2007 Rad studio that we have not migrated to yet.
>>
>>Could I grab the ILINK32.EXE from BDS2007 and try it instead?
>>Is there a .DLL I would need to include with it also?
>>
>>Larry Griffiths


 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

I have a statement in a unit that was getting an error...
virtual void __fastcall OnGrid( TStringGrid *Grid, int Row,
TTableInterface *Ti );
[C++ Error] QueryListU.h(27): E2303 Type name expected
I appeared to be pointing at the *Ti.
I added a forward class reference in a header:
class TTableInterface;
and still got the error.
I removed the TTableInterface...
virtual void __fastcall OnGrid( TStringGrid *Grid, int Row );
//virtual void __fastcall OnGrid( TStringGrid *Grid, int Row,
TTableInterface *Ti );
and it compiled without errors.
I removed the forward class reference and went back to the original
condition.
virtual void __fastcall OnGrid( TStringGrid *Grid, int Row,
TTableInterface *Ti );
Now it compiles without an error. Adding and commenting statements and then
removing them makes the failing statement compile now?
Something has got to be really hosed somewhere...
Continuing with compiles.
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

This problem has been resolved. It ended up being a pre-compiled header
problem.
"Larry Griffiths" < XXXX@XXXXX.COM >wrote in message
Quote
I have a statement in a unit that was getting an error...

virtual void __fastcall OnGrid( TStringGrid *Grid, int Row,
TTableInterface *Ti );

[C++ Error] QueryListU.h(27): E2303 Type name expected

I appeared to be pointing at the *Ti.

I added a forward class reference in a header:

class TTableInterface;

and still got the error.

I removed the TTableInterface...

virtual void __fastcall OnGrid( TStringGrid *Grid, int Row );

//virtual void __fastcall OnGrid( TStringGrid *Grid, int Row,
TTableInterface *Ti );

and it compiled without errors.

I removed the forward class reference and went back to the original
condition.

virtual void __fastcall OnGrid( TStringGrid *Grid, int Row,
TTableInterface *Ti );

Now it compiles without an error. Adding and commenting statements and
then removing them makes the failing statement compile now?

Something has got to be really hosed somewhere...

Continuing with compiles.


 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

The link worked after bringing back all the files from our CVS archive.
I will put back all of the files in the original failing project and see if
the linker fails again.
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

The linker is failing again after I restored the files that it failed on
originally.
CVS is showing differences between the .bdsproj file and its archived copy.
There are a couple minor changes to some source code in that directory that
I do not think would affect the linker.
I brought back the .bdsproj file from CVS and compiled the project again.
The Link works so the linker error appears to have something to do with
the diffrence between the two
project files.
I will make incremental changes to bring the original .bdsproj file to the
failing .bdsproj file and do a make after each change in an attempt to
isolate the problem.
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

It all seems to have come down to the diffrence between these statments in
the .bdsproj file.
The addition of the dbexpress.lib causes the linker to get the fatal error.
This is as far as I can go as far as providing information to resolve this
problem. I will suspect the dbexpress.lib if I encounter this problem in
the future.
I have a work-around now.
This works...
<property category="build.node" name="libraries" value="bcbsmp.lib
tee.lib bdertl.lib vclx.lib vclactnband.lib xmlrtl.lib vcldb.lib dbrtl.lib
ProUser.lib vcl.lib rtl.lib"/>
<property category="build.node" name="sparelibs" value="rtl.lib
vcl.lib ProUser.lib dbrtl.lib vcldb.lib xmlrtl.lib vclactnband.lib vclx.lib
bdertl.lib tee.lib bcbsmp.lib"/>
This fails.
<property category="build.node" name="libraries" value="dbexpress.lib
bcbsmp.lib tee.lib bdertl.lib vclx.lib vclactnband.lib xmlrtl.lib vcldb.lib
dbrtl.lib ProUser.lib vcl.lib rtl.lib"/>
<property category="build.node" name="sparelibs" value="rtl.lib
vcl.lib ProUser.lib dbrtl.lib vcldb.lib xmlrtl.lib vclactnband.lib vclx.lib
bdertl.lib tee.lib bcbsmp.lib dbexpress.lib"/>
Larry Griffiths
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

Another piece of debugging information:
The link error only occurs when the "Debug" configuration is active. The
"Release" configuration links ok.
"Larry Griffiths" < XXXX@XXXXX.COM >wrote in message
Quote
It all seems to have come down to the diffrence between these statments in
the .bdsproj file.

The addition of the dbexpress.lib causes the linker to get the fatal
error.

This is as far as I can go as far as providing information to resolve this
problem. I will suspect the dbexpress.lib if I encounter this problem in
the future.

I have a work-around now.

This works...

<property category="build.node" name="libraries" value="bcbsmp.lib
tee.lib bdertl.lib vclx.lib vclactnband.lib xmlrtl.lib vcldb.lib dbrtl.lib
ProUser.lib vcl.lib rtl.lib"/>
<property category="build.node" name="sparelibs" value="rtl.lib
vcl.lib ProUser.lib dbrtl.lib vcldb.lib xmlrtl.lib vclactnband.lib
vclx.lib bdertl.lib tee.lib bcbsmp.lib"/>

This fails.

<property category="build.node" name="libraries"
value="dbexpress.lib bcbsmp.lib tee.lib bdertl.lib vclx.lib
vclactnband.lib xmlrtl.lib vcldb.lib dbrtl.lib ProUser.lib vcl.lib
rtl.lib"/>
<property category="build.node" name="sparelibs" value="rtl.lib
vcl.lib ProUser.lib dbrtl.lib vcldb.lib xmlrtl.lib vclactnband.lib
vclx.lib bdertl.lib tee.lib bcbsmp.lib dbexpress.lib"/>

Larry Griffiths

 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

The only difference between the "Release" build and the "Debug" build
project files are as follows.
Debug link fails:
<property category="build.config" name="active" value="0"/>
Release links ok:
<property category="build.config" name="active" value="1"/>
 

Re:[Linker Fatal Error] Fatal: Access violation. Link terminated.

I copied the dbexpress.bpi and dbexpress.lib files from BDS\Bin\lib\release
to BDS\Bin\lib\debug for grins and giggles.
The link still fails.
.