bugGNU Octave - Bugs: bug #65573, Bytecode-interpreter branch...

 
 

bug #65573: Bytecode-interpreter branch doesn't link for Windows

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Tue 09 Apr 2024 02:39:29 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Philip Nienhuis Open/Closed:  * Closed
Release:  * bytecode-evaluator Operating System:  * Microsoft Windows
Fixed Release:  10.1.0 (current default) Planned Release:  10.1.0 (current default)
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 10 Apr 2024 08:49:52 AM UTC, comment #5: 

The CI also started to pass again with these changes:
https://github.com/gnu-octave/octave/actions/runs/8626873980/job/23645778808

Closing as fixed.

Markus Mützel <mmuetzel>
Group administrator
Wed 10 Apr 2024 06:20:08 AM UTC, comment #4: 
Markus Mützel <mmuetzel>
Group administrator
Tue 09 Apr 2024 09:01:06 PM UTC, comment #3: 

Good guesses Markus. The patches work.
Thanks for the rapid fix.

Philip Nienhuis <philipnienhuis>
Group Member
Tue 09 Apr 2024 06:03:10 PM UTC, comment #2: 

Looking at the build log of the GitHub runner:
https://github.com/gnu-octave/octave/actions/runs/8617107213/job/23616293574

I'm guessing the two attached patches should help with the symbols that aren't exported currently.


(file #55930, file #55931)

Markus Mützel <mmuetzel>
Group administrator
Tue 09 Apr 2024 04:11:33 PM UTC, comment #1: 


> I asked on Discourse about buildbots for default Octave, but AFAIU there are no buildbots for the bytecode-interpreter branch. So it seems bytecode-interpreter build failures go largely unnoticed then, am I right?


Off-topic here (that question might have been more on topic of your thread on discourse [1]): There are no buildbots that test the bytecode interpreter branch. But there is CI on GitHub that runs tests on that branch.

[1]: I'm assuming you are referring to https://octave.discourse.group/t/do-we-have-buildbots-for-dev-10-0-0-octave/5480

Markus Mützel <mmuetzel>
Group administrator
Tue 09 Apr 2024 02:39:29 PM UTC, original submission:  

(see also Discourse thread https://octave.discourse.group/t/do-we-have-buildbots-for-dev-10-0-0-octave/5480)

Since a few days the bytecode-interpreter branch of default Octave cannot get crossbuilt anymore. AFAICS it may have started with this cset:
abdb846bafe8 "Instantiate octave_base_matrix and octave_base_scalar template classes".
That is, merging the cset before (714c6d2e253e "maint: Merge stable to default.") with the bytecode-interpreter branch (cset af9c0617f9f9 "maint: Merge default to bytecode-interpreter.") from a day earlier leads to a successful crossbuild, merging the b.-i. branch with later csets yields crossbuild failures.
Why it builds fine for Linux but not for Windows is beyond me. Apparently mxe-octave is a bit more fragile?

I just tried with a clean checkout updated to the bytecode-interpreter branch. It builds and AFAICS runs fine on Linux, although with a few warnings, a.o., these:

  CXX      libinterp/octave-value/liboctave_value_la-ov-float.lo
../dev/libinterp/octave-value/ov-base-mat-inst.cc:34:30: warning: type attributes ignored after type is already defined [-Wattributes]
   34 | template class OCTINTERP_API octave_base_matrix<boolNDArray>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../dev/libinterp/octave-value/ov-base-mat-inst.cc:44:30: warning: type attributes ignored after type is already defined [-Wattributes]
   44 | template class OCTINTERP_API octave_base_matrix<ComplexNDArray>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../dev/libinterp/octave-value/ov-base-mat-inst.cc:45:30: warning: type attributes ignored after type is already defined [-Wattributes]
   45 | template class OCTINTERP_API octave_base_matrix<FloatComplexNDArray>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../dev/libinterp/octave-value/ov-base-mat-inst.cc:46:30: warning: type attributes ignored after type is already defined [-Wattributes]
   46 | template class OCTINTERP_API octave_base_matrix<FloatNDArray>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../dev/libinterp/octave-value/ov-base-mat-inst.cc:47:30: warning: type attributes ignored after type is already defined [-Wattributes]
   47 | template class OCTINTERP_API octave_base_matrix<NDArray>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../dev/libinterp/octave-value/ov-base-mat-inst.cc:129:30: warning: type attributes ignored after type is already defined [-Wattributes]
  129 | template class OCTINTERP_API octave_base_matrix<Cell>;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~

but crossbuilding the resulting dist archive leads to a failure.

I asked on Discourse about buildbots for default Octave, but AFAIU there are no buildbots for the bytecode-interpreter branch. So it seems bytecode-interpreter build failures go largely unnoticed then, am I right?

I'll cc Petter (creator of the bytecode-interpreter branch).

Compressed buildlog of mxe-octave attached.

Philip Nienhuis <philipnienhuis>
Group Member

 

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

Attach Files:
   
   
Comment:
   

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    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 13 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-04-10 mmuetzel StatusReady For Test Fixed
        Open/ClosedOpen Closed
        Fixed ReleaseNone 10.1.0 (current default)
    2024-04-10 mmuetzel StatusPatch Submitted Ready For Test
    2024-04-09 mmuetzel Attached File- Added bug65573-1-no-octave_value_factory.patch, #55930
        Attached File- Added bug65573-2-visibility-attributes-for-overridable-member-functions.patch, #55931
        StatusNone Patch Submitted
        Fixed Release10.1.0 (current default) None
        Planned ReleaseNone 10.1.0 (current default)
        SummaryBytecode-interpreter branch won´t get crossbuilt Bytecode-interpreter branch doesn't link for Windows
    2024-04-09 mmuetzel Carbon-CopyRemoved 102357 -
    2024-04-09 philipnienhuis Attached File- Added default-octave-BI.zip, #55929
        Carbon-Copy- Added petter

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code