bugGNU Octave - Bugs: bug #56728, [octave-forge] (geometry-4.0.0)...

 
 

bug #56728: [octave-forge] (geometry-4.0.0) build error due to apparently unneeded including parse.h

Submitted by:  Philip Nienhuis <philipnienhuis>
Submitted on:  Wed 07 Aug 2019 06:00:19 PM UTC  
 
Category:  Octave Forge Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Patch Submitted Assigned to:  Juan Pablo Carbajal <juanpi>
Originator Name:  Philip Nienhuis Open/Closed:  Open
Release:  dev Operating System:  Any

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 13 Aug 2019 08:01:38 PM UTC, comment #4: 

Forgot to mention (ref. comment #2):

"demo clipPolygon_mrf" works fine on Windows

Philip Nienhuis <philipnienhuis>
Project Member
Tue 13 Aug 2019 07:48:46 PM UTC, comment #3: 

Patch attached

(file #47344)

Philip Nienhuis <philipnienhuis>
Project Member
Fri 09 Aug 2019 08:31:17 AM UTC, comment #2: 

Right, this turned out to be an issue in the geometry package - for unknown (by me) reasons parse.h was included in a binary function (polybool_mrf.cc).
Commenting out that include made geometry at least getting built, I still need to test on Windows.

I'll issue a cset later.

Updating bug report fields, cc'ing, and assigning to, package maintainer.

Philip Nienhuis <philipnienhuis>
Project Member
Thu 08 Aug 2019 09:14:32 PM UTC, comment #1: 

Hmm, grepping for std::transform and inspecting the various calls etc in the log it may be that there's old cruft in the mxe-octave build tree.
I'll start a fresh mxe-octave.

Philip Nienhuis <philipnienhuis>
Project Member
Wed 07 Aug 2019 06:00:19 PM UTC, original submission:  

While trying to build the of-geometry-4.0.0 dev package (still a release candidate) I get the error(s) below.
Some 3 weeks ago (before my vacation) geometry-4.0.0 got (cross)built just fine with then bleeding edge dev Octave.

AFAICS the issue seems to be in graphics.h where an overloaded std::transform() isn't found:

In file included from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/interpreter.h:41:0,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-bp.h:32,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-cmd.h:32,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-decl.h:33,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-misc.h:29,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/parse.h:37,
                 from polybool_mrf.cc:25:
/home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/graphics.h: In member function 'bool base_properties::cmp_caseless_str::operator()(const caseless_str&, const caseless_str&) const':
/home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/graphics.h:2629:67: error: no matching function for call to 'transform(std::__cxx11::basic_string<char>::iterator, std::__cxx11::basic_string<char>::iterator, std::__cxx11::basic_string<char>::iterator, <unresolved overloaded function type>)'
       std::transform (a1.begin (), a1.end (), a1.begin (), tolower);
                                                                   ^
In file included from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/lib/gcc/x86_64-w64-mingw32/7.4.0/include/c++/algorithm:62:0,
                 from polygon.h:5,
                 from polybool_mrf.cc:19:
/home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/lib/gcc/x86_64-w64-mingw32/7.4.0/include/c++/bits/stl_algo.h:4295:5: note: candidate: template<class _IIter, class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation)
     transform(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~
/home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/lib/gcc/x86_64-w64-mingw32/7.4.0/include/c++/bits/stl_algo.h:4295:5: note:   template argument deduction/substitution failed:
In file included from /home/philip/de[vel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/interpreter.h:41:0,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-bp.h:32,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-cmd.h:32,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-decl.h:33,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/pt-misc.h:29,
                 from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/parse.h:37,
                 from polybool_mrf.cc:25:
/home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/x86_64-w64-mingw32/include/octave-6.0.0/octave/../octave/graphics.h:2629:67: note:   couldn't deduce template parameter '_UnaryOperation'
       std::transform (a1.begin (), a1.end (), a1.begin (), tolower);
                                                                   ^
In file included from /home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/lib/gcc/x86_64-w64-mingw32/7.4.0/include/c++/algorithm:62:0,
                 from polygon.h:5,
                 from polybool_mrf.cc:19:
/home/philip/devel/octdev/mxe/mxe_64b_20190615/usr/lib/gcc/x86_64-w64-mingw32/7.4.0/include/c++/bits/stl_algo.h:4332:5: note: candidate: template<class _IIter1, class _IIter2, class _OIter, class _BinaryOperation> _OIter std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
     transform(_InputIterator1 __first1, _InputIterator1 __last1,
     ^~~~~~~~~

While I've hit this when cross-building for Windows, I've set "Operating System" to Linux as AFAICS it looks like a core header file issue.

Philip Nienhuis <philipnienhuis>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #47344:  bug56728.cset added by philipnienhuis (606B - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by philipnienhuis (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 9 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-08-13 philipnienhuis Summary[octave-forge] (geometry-4.0.0) build error due to apparenly unneeded including parse.h => [octave-forge] (geometry-4.0.0) build error due to apparently unneeded including parse.h
    2019-08-13 philipnienhuis Attached File- => Added bug56728.cset, #47344
        StatusIn Progress => Patch Submitted
    2019-08-09 philipnienhuis CategoryLibraries => Octave Forge Package
        Item GroupUnexpected Error => Build Failure
        StatusNone => In Progress
        Assigned toNone => juanpi
        Operating SystemGNU/Linux => Any
        Summarygraphics.h: template argument deduction/substitution failed with std::transform (..., tolower) => [octave-forge] (geometry-4.0.0) build error due to apparenly unneeded including parse.h

    Back to the top


    Powered by Savane 3.5