[m-rev.] for tryout and review: install .module_dep files to grade-specific directories

Julien Fischer jfischer at opturion.com
Sun Sep 1 02:02:10 AEST 2024


On Sun, 1 Sept 2024 at 01:34, Zoltan Somogyi <zoltan.somogyi at runbox.com> wrote:
>
>
>
> On Sun, 1 Sep 2024 00:42:09 +1000, Julien Fischer <jfischer at opturion.com> wrote:
> > > That list is a useful cue in its own right. The last line is
> > > for the non-grade-dependent copy for the current grade
> > > (one issue is the question of why is this needed at all),
> > > but the first two shows that
> > >
> > > - .module_dep files *were* installed to grade-specific directories, but
> > > - these seem to be the wrong directories, and
> > > - even this was not done for all libgrades, unless the java and csharp grades
> > >   were the *only* libgrades to install.
> >
> > No, the java and csharp grades were not the only grades installed; they
> > are however the only ones built and installed using mmc --make (via
> > mmake --use-mmc-make).
>
> That would explain why bool.module_dep was installed to a grade-specific
> directory only for those grades, but it also tells me I had the wrong picture of
> how you did the install. I expected a simple mmc --make install of all the libgrades.
>
> Did you do what you did because there is something that prevents an mmc --make
> based install from working for the other grades? If yes, what is the problem?

I built and installed Mercury in the way I usually do: mmake install
It is mmake install itself that uses mmc --make to build and install
the csharp and java grades
(i.e. as part of the install_grades target); note that this happens
regardless of whether
--use-mmc-make is passed to mmake by the user.

In particular, at no point in the process did I specify --use-mmc-make to mmake.

> Whether the sequence
>
> - a purely mmake based install of the library for the non-java, non-c# grades, and

As is hopefully clear from my comments above, "pure" mmake installs *do* use
mmc --make when _installing the libraries_ in the csharp and java grades.
Specifying --use-mmc-make is only useful when you want to build the
entire Mercury system,
using mmc --make.

> - an mmc --make based install (via mmake --use-mmc-make) of the library
>   for the java and c# grades
> should *even be expected to work* is one of the issues I posted.

Based on what the comments above the install_grades target say and also
what has "worked" since the Java and C# grades were capable of being installed,
I would say yes, it should be expected to work.

> I did not have
> a look at how "mmake --use-mmc-mmake" installs would work, but pure mmake
> installs do "rmdir" commands on a directory before copying files to a directory,
> which mmc --make installs do not do. I think either choice is fine, as long as it is
> consistently followed and documented. Unfortunately, the current system is
> *both* inconsistent *and* undocumented :-(

...

> Please keep that install directory for a while longer. I intend to send an updated
> diff in the next 24 hours that won't fix the problem, but will generate more debugging
> output that I expect will give me at least some of the info I will need
> to fix the problem.

Shall do.

Julien.


More information about the reviews mailing list