Closed beew closed 1 year ago
Thank you for reporting the bug! As of version 8 the core Octave shared libraries are built with a visibility flag such that nearly half of their symbols aren't exported and so they are hidden to the users. Those symbols aren't part of the public Octave API but some of them are used by Octave Coder. This change is documented in NEWS of version 8.x.x:
- Octave's libraries are now built using symbol visibility by default. That means that fewer symbols are exported from these libraries. Configure with
--disable-lib-visibility-flags
to export all symbols (as in previous versions).
So as noted in the NEWS a package user or developer should recompile Octave with --disable-lib-visibility-flags that I think isn't applicable here. As reported in the error message octave::tree_walker is one of the classes that aren't part of public Octave API but is used in Coder. So as of the Octave 8 a package developer cannot use and traverse the Octave parse tree in a usual way.:( I should find a workaround possibly by manually creating a virtual table to enable dynamic dispatch.
However currently Coder works on Octave 8 on Windows systems that I have tested.
Recompiled octave with --disable-lib-visibility-flags , it works now.
Thanks!
According to Octave 8.2.0 Release Notes as of Octave 8.2 the symbol visibility flag is turned off again and there is no need for the users and the developers to recompile Octave anymore.
Tried to install on Octave 8.1.0 and get these errors
OS is Ubuntu 22.04. Octave 8.1.0