Re: [Yade-dev] [Question #681091]: installation problem

2019-05-28 Thread Bruno Chareyre
On Tue, 28 May 2019 at 16:51, Janek Kozicki  wrote:

> but I am afraid that it is only deferring problems to the later stage -
> yade
> will compile, but something won't work.
>

If you mean "won't work" in the sense of "will be disabled" that's fine.
If someone wants to compile with support for a specific module he will
usually pay attention to the prerequisites (especially if cmake output
makes it clearly and if the feature is missing after first compilation).
The problem here is that compilation fails completely for someone who,
potentially, has no interest in metis or in mpi, that's more annoying.
Still, I'm curious to know what the problem is in that case.
Bruno
___
Mailing list: https://launchpad.net/~yade-dev
Post to : yade-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-dev] [Question #681091]: installation problem

2019-05-28 Thread Janek Kozicki
I am suspecting now that _libVersions.cpp can detect some atypical
configurations in the system. So far we had problems with:

1. #include  in
   https://answers.launchpad.net/yade/+question/680867

2. #include  in
   https://answers.launchpad.net/yade/+question/681091

Somehow they passed the cmake detection step, and in _libVersions.cpp there is 
an #ifdef guard:

1. for #include 

#if defined(LINSOLV) || defined(YADE_POTENTIAL_PARTICLES) || 
defined(YADE_POTENTIAL_BLOCKS) || defined(FLOW_ENGINE)

2. for #include  in

#ifdef YADE_MPI


So cmake defines the YADE_MPI and those that use , but then
those files were not found. With metis it turned out that there were
two packages with similar name in gentoo. I am curious what will be
the explanation here in MPI case on Xenial.

I suppose that we would have to fix this inside cmake. I am not sure how, 
though.

OTOH I can make _libVersions.cpp to be totally bulletproof by putting this line:

1. for #include 

#if defined(METIS_VER_MAJOR) && defined(METIS_VER_MINOR) && 
defined(METIS_VER_SUBMINOR)

2. for #include  in

#if defined(OMPI_MAJOR_VERSION) && defined(OMPI_MINOR_VERSION) && 
defined(OMPI_RELEASE_VERSION)

3. similarly for everything else.


but I am afraid that it is only deferring problems to the later stage - yade
will compile, but something won't work.

what do you think?
Janek


Bruno Chareyre said: (by the date of Mon, 27 May 2019 23:59:15 +0200)

> Hi Janek,
> Not sure I understand correctly this problem but, it seems we are not
> switching off features automatically when a package is optional? That was
> usual behavior and it would probably raise less questions.
> Do I miss something?
> Bruno


-- 
Janek Kozicki   http://janek.kozicki.pl/  |

___
Mailing list: https://launchpad.net/~yade-dev
Post to : yade-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp