|View Issue Details [ Jump to Notes ]||[ Issue History ] [ Print ]|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000261||mercury||Bug||public||2012-07-26 00:38||2013-01-07 16:48|
|Target Version||Fixed in Version|
|Summary||0000261: building mdbcomp in C# grade attempts to link with non-existant mer_rt.dll|
|Description||Attempting to build the compiler in the csharp grade leads to the following error|
** Error making `mer_mdbcomp.dll'.
error CS0006: Metadata file `mer_rt.dll' could not be found
Compilation failed: 1 error(s), 0 warnings
make: *** [libmer_mdbcomp] Error 1
make: Leaving directory `/home/MISCRITITCOM/petdr/merc/workspaces/1107.csharp/mdbcomp'
make: *** [mdbcomp] Error 2
this is because we are calling the following command
% Invoking system command `dmcs -nowarn:162,219 -define:MR_HIGHLEVEL_DATA -target:library -out:mer_mdbcomp.dll -lib:../boehm_gc -lib:../runtime -lib:../library -lib:../trace -lib:../mdbcomp -lib:../browser -r:mer_std.dll -r:mer_rt.dll Mercury/css/mdbcomp.cs Mercury/css/mer_mdbcomp.cs Mercury/css/mdbcomp.feedback.cs Mercury/css/mdbcomp.goal_path.cs Mercury/css/mdbcomp.prim_data.cs Mercury/css/mdbcomp.program_representation.cs Mercury/css/mdbcomp.rtti_access.cs Mercury/css/mdbcomp.slice_and_dice.cs Mercury/css/mdbcomp.trace_counts.cs Mercury/css/mdbcomp.feedback.automatic_parallelism.cs'...
juliensf tells me that it goes wrong at around line 223 of Mmake.workspace
My quick solution is to create a dummy mer_rt.dll in the runtime directory, as a workaround.
|Steps To Reproduce||1. Add GRADE=csharp to Mmake.params|
2. GRADE=csharp mmake --use-mmc-make
|Tags||No tags attached.|
Step (2) needs to be mmake --use-mmc-make GRADE=csharp
Adding GRADE=csharp to Mmake.params doesn't work properly since Mmake.workspaces is
included before Mmake.params and the former makes the relevant settings concerning what
libraries mdbcomp is linked against.
I don't think there's much more to be done here. Since compilers built in the non-C grades don't
work terribly well anyway, I don't think there is much to be gained from improving support
for building them. (Supporting four different target languages makes things quite convoluted
I will add sections to README.CSharp, README.Java etc describing how to build the compiler
in the corresponding grades (for those that are interested in such experimentation.)
|I have updated the README files for the non-C backends with a description of how to build the compiler.|
|2012-07-26 01:13||juliensf||Note Added: 0000477|
|2012-12-07 17:12||juliensf||Assigned To||=> juliensf|
|2012-12-07 17:12||juliensf||Status||new => assigned|
|2012-12-07 17:14||juliensf||Note Added: 0000486|
|2013-01-07 16:48||juliensf||Note Added: 0000492|
|2013-01-07 16:48||juliensf||Status||assigned => resolved|
|2013-01-07 16:48||juliensf||Resolution||open => fixed|