1.0.x fails to build with Trilinos 11

Bug #1083110 reported by Johannes Ring
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
Fix Released
Undecided
Johannes Ring

Bug Description

DOLFIN 1.0.x fails to build after Trilinos 11 was installed on the buildbots. On lucid-amd64, the error is like this:

/home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/la/EpetraKrylovSolver.cpp: In member function ‘dolfin::uint dolfin::EpetraKrylovSolver::solve(dolfin::EpetraVector&, const dolfin::EpetraVector&)’:
/home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/la/EpetraKrylovSolver.cpp:215: error: conversion from ‘dolfin::Parameter’ to ‘long long int’ is ambiguous
/home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:105: note: candidates are: virtual dolfin::Parameter::operator bool() const
/home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:99: note: virtual dolfin::Parameter::operator double() const
/home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:96: note: virtual dolfin::Parameter::operator dolfin::uint() const
/home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:93: note: virtual dolfin::Parameter::operator int() const
make[2]: *** [dolfin/CMakeFiles/dolfin.dir/la/EpetraKrylovSolver.cpp.o] Error 1

The other buildbots fails with similar errors. An overview is available from here:

  http://fenicsproject.org:8010/waterfall?project=dolfin&category=dolfin.1.0.x&failures_only=true

Is there an easy fix?

Related branches

Revision history for this message
Johan Hake (johan-hake) wrote : Re: [Bug 1083110] [NEW] 1.0.x fails to build with Trilinos 11

We need to help the implicit casting I think. Maybe add a:

    virtual operator long long int() const;

or just cast the parameter to int before it is shipped to Epetra.

Johan

On 11/26/2012 11:23 AM, Johannes Ring wrote:
> Public bug reported:
>
> DOLFIN 1.0.x fails to build after Trilinos 11 was installed on the
> buildbots. On lucid-amd64, the error is like this:
>
> /home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/la/EpetraKrylovSolver.cpp: In member function ‘dolfin::uint dolfin::EpetraKrylovSolver::solve(dolfin::EpetraVector&, const dolfin::EpetraVector&)’:
> /home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/la/EpetraKrylovSolver.cpp:215: error: conversion from ‘dolfin::Parameter’ to ‘long long int’ is ambiguous
> /home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:105: note: candidates are: virtual dolfin::Parameter::operator bool() const
> /home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:99: note: virtual dolfin::Parameter::operator double() const
> /home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:96: note: virtual dolfin::Parameter::operator dolfin::uint() const
> /home/buildbot/buildslave/dolfin-1_0_x-full-lucid-amd64/build/dolfin/parameter/Parameter.h:93: note: virtual dolfin::Parameter::operator int() const
> make[2]: *** [dolfin/CMakeFiles/dolfin.dir/la/EpetraKrylovSolver.cpp.o] Error 1
>
> The other buildbots fails with similar errors. An overview is available
> from here:
>
> http://fenicsproject.org:8010/waterfall?project=dolfin&category=dolfin.1.0.x&failures_only=true
>
> Is there an easy fix?
>
> ** Affects: dolfin
> Importance: Undecided
> Status: New
>

Revision history for this message
Johannes Ring (johannr) wrote :

The attached patch fixes the problem. Is this an okay fix?

Johannes Ring (johannr)
Changed in dolfin:
status: New → Fix Committed
assignee: nobody → Johannes Ring (johannr)
Changed in dolfin:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.