2024-05-28 01:38 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000261mercuryBugpublic2013-01-07 16:48
Assigned Tojuliensf 
Product Version 
Target VersionFixed in Version 
Summary0000261: building mdbcomp in C# grade attempts to link with non-existant mer_rt.dll
DescriptionAttempting to build the compiler in the csharp grade leads to the following error

Making mer_mdbcomp.dll
** Error making `mer_mdbcomp.dll'.
error CS0006: Metadata file `mer_rt.dll' could not be found
Compilation failed: 1 error(s), 0 warnings
make[1]: *** [libmer_mdbcomp] Error 1
make[1]: 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 Reproduce1. Add GRADE=csharp to Mmake.params
2. GRADE=csharp mmake --use-mmc-make

TagsNo tags attached.
Attached Files




juliensf (administrator)

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.


juliensf (administrator)

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.)


juliensf (administrator)

I have updated the README files for the non-C backends with a description of how to build the compiler.

-Issue History
Date Modified Username Field Change
2012-07-26 00:38 petdr New Issue
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
+Issue History