* Arjen Markus <arjen.mar...@deltares.nl> [2022-12-29 13:32]:

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.

It works for me with these versions:

 - SWIG 4.1.0
 - Octave 7.3.0

Could you please test with them?

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.

The ideal situation would be to allow users to enable both static and dynamic, if they wish so. Is this what you are intending to do?

Best,

Rafael


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

Reply via email to