bugGNU Octave - Bugs: bug #58900, Name collisions with "make...

 
 

bug #58900: Name collisions with "make check" with g++ but not clang

Submitter:  None
Submitted:  Tue 04 Aug 2020 10:07:33 PM UTC
   
 
Category:  Interpreter Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Unexpected Error or Warning
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * dev
Operating System:  * GNU/Linux Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 05 Aug 2020 02:55:51 AM UTC, comment #3: 

Thank you for your feedback 🙂

If you want to investigate further on the ichol problem, can you open a new bug report with one of those failing tests as example.
 It is helpful, if you tell us the version numbers of your compilers and configuration details, too.

Closing this item.

Kai Torben Ohlhus <siko1056>
Group Member
Wed 05 Aug 2020 02:16:38 AM UTC, comment #2: 

Thank you, Kai! Rebuilding all trees solved the problem. The last time it was built completely from scratch was Feb 29 and March 14 for the two g++ trees, and April 5 for the clang tree. All subsequent builds were only incremental builds. That would explain why the error showed only in the older trees.

I get new errors with ichol in the two g++ trees that I don't get in the clang tree. It spews 40K lines of output after ichol listing several matrices that it says are not Hermitian. It looks like a tolerance issue. In an ideal world that shouldn't happen, since they all use the same OpenBLAS library, but I don't use ichol and am OK letting that rest.

Anonymous
Wed 05 Aug 2020 01:21:00 AM UTC, comment #1: 

Thank you for your bug report.  After some investigation, it seems that your build trees are "dirty".  I build 652a675c0916 without trouble.

There has been a change in March 2020 (https://hg.savannah.gnu.org/hgweb/octave/rev/7a8c69c4eb55) where the tests of "libinterp/octave-value/ov-fcn-inline.cc" were moved to "test/inline-fcn.tst" and the file itself was removed entirely.  Somehow "ov-fcn-inline.cc-tst" has survived in your build trees and the error messages match with that change.  The new tests are here: https://hg.savannah.gnu.org/hgweb/octave/file/652a675c0916/test/inline-fcn.tst

Please restart your Octave build trees from scratch 😓 and your errors will be gone.

When did you build your trees the last time and can you report back if that fixed the errors?

Kai Torben Ohlhus <siko1056>
Group Member
Tue 04 Aug 2020 10:07:33 PM UTC, original submission:  

This is with the dev version, hg id 652a675c0916. I maintain three parallel build trees, one for g++ with compiler optimizations, one for g++ with debug flags, and one for clang with optimizations. The optimized g++ version is installed system-wide. Whatever packages are installed are also installed system-wide.

Running "make check" on all trees gives generally similar results except for name collisions on the two g++ versions that don't present themselves in clang:


>>>>> processing /home/username/src/octave/build/libinterp/octave-value/ov-fcn-inline.cc-tst
***** error <STR argument must be a string> inline (1)
!!!!! error failed.
Expected <STR argument must be a string>, but got <inline: EXPR must be a string>

***** error <FUN must be an inline function> formula (1)
!!!!! error failed.
Expected <FUN must be an inline function>, but got <'formula' undefined near line 2, column 2

The 'formula' function belongs to the symbolic package from Octave Forge
which you have installed but not loaded.  To load the package, run 'pkg
load symbolic' from the Octave prompt.

Please read <https://www.octave.org/missing.html> to learn how you can
contribute missing functionality.>

***** error <FUN must be an inline function> argnames (1)
!!!!! error failed.
Expected <FUN must be an inline function>, but got <'argnames' undefined near line 2, column 2

The 'argnames' function belongs to the symbolic package from Octave
Forge which you have installed but not loaded.  To load the package, run
'pkg load symbolic' from the Octave prompt.

Please read <https://www.octave.org/missing.html> to learn how you can
contribute missing functionality.>

***** error <FUN must be a string or inline function> vectorize (1)
!!!!! error failed.
Expected <FUN must be a string or inline function>, but got <vectorize: FUN must be a string or anonymous function handle>


There are two possible bugs here. One is whether formula() and argnames() should have the symbolic Forge package loaded or whether the function names are unrelated to the symbolic package. The other is why g++ traps the errors and clang does not.

Anonymous

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by siko1056 (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-08-05 siko1056 StatusNeed Info Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2020-08-05 siko1056 StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code