Hi Rafael,

I am currently trying to incorporate the patches you sent, but I am running 
into a problem with Octave. Here is the start of a whole series of error 
messages:

[ 16%] Swig compile plplot_octave.i for octave
[ 16%] Built target plplot_octave_swig_compilation
[ 17%] Building CXX object 
bindings/octave/CMakeFiles/plplot_octave.dir/plplot_octaveOCTAVE_wrap.cxx.o
/cygdrive/d/plplot-svn/build-cygwin/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:1768:31:
 error: ‘oct_mach_info’ has not been declared
 1768 |                               oct_mach_info::float_format fmt) {
      |                               ^~~~~~~~~~~~~
/cygdrive/d/plplot-svn/build-cygwin/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:1768:59:
 error: expected ‘,’ or ‘...’ before ‘fmt’
 1768 |                               oct_mach_info::float_format fmt) {
      |                                                           ^~~
/cygdrive/d/plplot-svn/build-cygwin/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:
 In member function ‘octave_value_list 
octave_swig_type::member_deref(octave_swig_type::member_value_pair*, const 
octave_value_list&)’:
/cygdrive/d/plplot-svn/build-cygwin/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:1044:94:
 error: invalid new-expression of abstract class type ‘octave_swig_bound_func’
 1044 | #define SWIG_OCTAVE_BOUND_FUNC(func, args) octave_value(new 
octave_swig_bound_func(func, args))
      |                                                                         
                     ^
/

I have no idea how to solve this, so I am hoping you or somebody else familiar 
with Octave and SWIG can give me a few pointers, or better still, a patch to 
solve this.

For your information:
- SWIG: version 4.0.2
- Octave: version 6.4.0
- I am building this under Cygwin with all the packages updated to the current 
versions.

By the way, under Cygwin I do not seem to have a useable Ada compiler, so I 
cannot test the changes that you and Nicolas suggested. But to keep them in 
line with the rest, I have now implemented the building of the static library 
as:


  if(ENABLE_ada_static)
    set(ADA_lib_type "STATIC")
  else(ENABLE_ada_static)
    set(ADA_lib_type "")
  endif(ENABLE_ada_static)

  # target_link_libraries used in special way below so avoid using it inside 
configure_library_build.
  configure_library_build(plplotada ${ADA_lib_type} "${plplotada_BODY_SRCS}" "" 
"${LIB_INSTALL_RPATH}")

so that, if you add the option "-DENABLE_ada_static=ON" to the CMake command 
line you will get the static library. So, there will be  either a static or a 
dynamic (shared) library.

I have not checked in these changes yet, but this is what I intend to do.

Regards,

Arjen


-----Original Message-----
From: Rafael Laboissière <raf...@laboissiere.net>
Sent: 26 December 2022 19:38
To: PLplot development list <plplot-devel@lists.sourceforge.net>
Subject: [Plplot-devel] Deprecated operator in the Octave binding

Caution: This message was sent from outside of Deltares. Please do not click 
links or open attachments unless you recognize the source of this email and 
know the content is safe. Please report all suspicious emails to 
"servicedesk-...@deltares.nl" as an attachment.


Dear PLplot developers,

SWIG support for Octave 6.0 was broken, but this has been fixed in release 4.1. 
I am therefore planning to reintroduce the plplot-octave package in Debian.

When compiling the package against Octave 7, several warnings regarding 
operators .- and .+ are issued, like this one:

     warning: the '.-' operator was deprecated in version 7 and will not be 
allowed in a future version of Octave; please use '-' instead;

Please, find attached to this message a patch that fixes the problem.

Best,

Rafael Laboissière
DISCLAIMER: This message is intended exclusively for the addressee(s) and may 
contain confidential and privileged information. If you are not the intended 
recipient please notify the sender immediately and destroy this message. 
Unauthorized use, disclosure or copying of this message is strictly prohibited. 
The foundation 'Stichting Deltares', which has its seat at Delft, The 
Netherlands, Commercial Registration Number 41146461, is not liable in any way 
whatsoever for consequences and/or damages resulting from the improper, 
incomplete and untimely dispatch, receipt and/or content of this e-mail.

_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to