bugGNU Octave - Bugs: bug #57157, [octave forge] (octclip) error...

 
 

bug #57157: [octave forge] (octclip) error running `make' for octclip,

Submitter:  None
Submitted:  Sun 03 Nov 2019 12:39:54 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  vlg Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * other
Operating System:  * GNU/Linux Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 07 Nov 2022 12:21:14 PM UTC, comment #11: 

@jgpallero:
Are you referring to the build error while installing the octclip package? i.e., the original issue?
In the follow-up discussion a few other non-related errors etc. were mentioned.

Anyway I can comfirm that octclip builds fine for me (that is, your repo version did recently, when I tried it in the course of another bug report - I might have missed a recent new release).

So as the original error seems to have been fixed I'll close this report.

Philip Nienhuis <philipnienhuis>
Group Member
Mon 07 Nov 2022 11:08:45 AM UTC, comment #10: 

I think this bug is not present in OctCLIP

José Luis García Pallero <jgpallero>
Thu 07 Nov 2019 08:45:21 PM UTC, comment #9: 

_chunky to move, zoom in and out_

Octave's performance as regards drawing patches is pathetic at best. Lines etc. is much much better. But it also depends on your graphics HW.
Anyway that is one reason that shapedraw.m tries to draw patches and polylines as much as possible as one variable rather than split them up and draw one by one.

"Fixing" the current packages will probably mean replacing some functions by their dev versions. But there is some entanglement that has to be sorted out.
Plus, I'm unsure if clipping polylines is already in geometry-3.0.0 (I guess not, IIRC I patched the clipper library only later on).

Philip Nienhuis <philipnienhuis>
Group Member
Thu 07 Nov 2019 10:53:55 AM UTC, comment #8: 

Oh, sweet. I'd like to switch to the dev version, but the core pkg function doesn't seem to have that as an option, so probably local files have to be overwritten or something.


     mapping  |   1.2.1 |
    geometry  |   3.0.0 |


it's not that it's bothering me, but octave just halts on trying to read the landuse or roads files, which are ~70MB, even the small railroads is chunky to move, zoom in and out of when the whole is loaded.

Thanks

Anonymous
Wed 06 Nov 2019 04:05:18 PM UTC, comment #7: 

It's perhaps of little comfort to you, but with dev mapping, geometry & matgeom pkgs I get attached picture. (grey = full file, blue = BoundingBox & clipped).

From your description I get it that clipping simply does not work (any more?).
By the end of this week I might have time to see what can be fixed in the existing mapping and geometry packages. As I wrote it's all fixed in the coming releases, but it's hard to isolate just the fixes for what is bothering you.
Just FTR, what versions of mapping and geometry pkg do you have? (just do "pkg list mapping" and "pkg list geometry")


Philip Nienhuis <philipnienhuis>
Group Member
Tue 05 Nov 2019 03:53:42 PM UTC, comment #6: 


comment #5:

> You could start with interchanging the X,Y coordinates of the bounding box....
>

I noticed the mix-up afterwards.
Nevertheless, it yields the same if switched- longitudes extended a far beyond bbox edges, whereas latitude is nigh alright.
Could be because most of the railway tracks as W-E in Bulgaria, hence it doesn't want to cut them..?

Anonymous
Tue 05 Nov 2019 02:30:54 PM UTC, comment #5: 

You could start with interchanging the X,Y coordinates of the bounding box....

Philip Nienhuis <philipnienhuis>
Group Member
Tue 05 Nov 2019 08:28:18 AM UTC, comment #4: 


comment #3:

> I'd appreciate if you could submit an example of dysfunctional clipping using shaperead.m so I can check it with the next mapping package release.
>

Files courtesy of openstreetmap- http://download.geofabrik.de/europe/bulgaria-latest-free.shp.zip


pkg load geometry mapping octclip io
mm = shaperead ('gis_osm_railways_free_1', 'oct', 'BoundingBox', [42, 23; 43, 24] , 'Clip', true);
figure ();
shapedraw (mm);
print (1, '1.png');% included my result





Anonymous
Mon 04 Nov 2019 10:23:13 PM UTC, comment #3: 

"The sheer amount of clipping functions in the geometry pkg is scary."

Yeah I agree somewhat. There was also a promising polyclip option based on the Boost library which was fairly fast but unfortunately not very stable.
Basically there are just two options, clipper and mrf, but I agree the number of calling functions is large.
In a next geometry package the matlab-compatible function polybool should be able to wrap it all.

The current geometry package has some bugs due to later changes inside core Octave. But they're easily solved by downloading the relevant private functions from the repo, I've fixed various bugs there.
We're all waiting for a new geometry package release; once there I'll release a new mapping package with many other bug fixes as well. Those new versions also feature polyline clipping.

shaperead's bounding box option doesn't do any clipping, exactly like the one from Matlab. Any polygon with a vertex in the bounding box gets included.

I'd appreciate if you could submit an example of dysfunctional clipping using shaperead.m so I can check it with the next mapping package release.

Philip Nienhuis <philipnienhuis>
Group Member
Mon 04 Nov 2019 10:21:36 AM UTC, comment #2: 


comment #1:

> No fix here, but if you want/need polygon clipping, the mapping + geometry package combo supports that as well with much better Matlab compatibility, and support for clipping nested polygons (i.e., with holes) that octclip is lacking.

hm, I have GIS files from openstreetmap for a country, but I need the data for only one city, the 'BoundingBox' property of shaperead doesn't clip lines/polygons, and the 'Clip', true property doesn't change it that much either. The coords of the railway file I use for testing never exactly fit the geo coords longitude-wise. This being on w10, where octclip did install.

The sheer amount of clipping functions in the geometry pkg is scary.

Anonymous
Sun 03 Nov 2019 05:39:51 PM UTC, comment #1: 

No fix here, but if you want/need polygon clipping, the mapping + geometry package combo supports that as well with much better Matlab compatibility, and support for clipping nested polygons (i.e., with holes) that octclip is lacking.

Philip Nienhuis <philipnienhuis>
Group Member
Sun 03 Nov 2019 12:39:54 PM UTC, original submission:  


octave:1> pkg install -forge octclip
fgeneral.c: In function 'Minimo':
fgeneral.c:275:13: error: 'nDatos' not specified in enclosing 'parallel'
  275 |     for(i=0;i<nDatos;i++)
      |             ^
fgeneral.c:269:9: error: enclosing 'parallel'
  269 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c:278:16: error: 'incDatos' not specified in enclosing 'parallel'
  278 |         pos = i*incDatos;
      |               ~^~~~~~~~~
fgeneral.c:269:9: error: enclosing 'parallel'
  269 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c: In function 'Maximo':
fgeneral.c:314:13: error: 'nDatos' not specified in enclosing 'parallel'
  314 |     for(i=0;i<nDatos;i++)
      |             ^
fgeneral.c:308:9: error: enclosing 'parallel'
  308 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c:317:16: error: 'incDatos' not specified in enclosing 'parallel'
  317 |         pos = i*incDatos;
      |               ~^~~~~~~~~
fgeneral.c:308:9: error: enclosing 'parallel'
  308 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c: In function 'MinimoAbs':
fgeneral.c:353:13: error: 'nDatos' not specified in enclosing 'parallel'
  353 |     for(i=0;i<nDatos;i++)
      |             ^
fgeneral.c:347:9: error: enclosing 'parallel'
  347 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c:356:16: error: 'incDatos' not specified in enclosing 'parallel'
  356 |         pos = i*incDatos;
      |               ~^~~~~~~~~
fgeneral.c:347:9: error: enclosing 'parallel'
  347 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c: In function 'MaximoAbs':
fgeneral.c:392:13: error: 'nDatos' not specified in enclosing 'parallel'
  392 |     for(i=0;i<nDatos;i++)
      |             ^
fgeneral.c:386:9: error: enclosing 'parallel'
  386 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c:395:16: error: 'incDatos' not specified in enclosing 'parallel'
  395 |         pos = i*incDatos;
      |               ~^~~~~~~~~
fgeneral.c:386:9: error: enclosing 'parallel'
  386 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c: In function 'MinimoSizeT':
fgeneral.c:431:13: error: 'nDatos' not specified in enclosing 'parallel'
  431 |     for(i=0;i<nDatos;i++)
      |             ^
fgeneral.c:425:9: error: enclosing 'parallel'
  425 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c:434:16: error: 'incDatos' not specified in enclosing 'parallel'
  434 |         pos = i*incDatos;
      |               ~^~~~~~~~~
fgeneral.c:425:9: error: enclosing 'parallel'
  425 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c: In function 'MaximoSizeT':
fgeneral.c:470:13: error: 'nDatos' not specified in enclosing 'parallel'
  470 |     for(i=0;i<nDatos;i++)
      |             ^
fgeneral.c:464:9: error: enclosing 'parallel'
  464 | #pragma omp parallel for default(none) \
      |         ^~~
fgeneral.c:473:16: error: 'incDatos' not specified in enclosing 'parallel'
  473 |         pos = i*incDatos;
      |               ~^~~~~~~~~
fgeneral.c:464:9: error: enclosing 'parallel'
  464 | #pragma omp parallel for default(none) \
      |         ^~~
make: *** [Makefile:26: compile] Error 1
make: Entering directory '/tmp/oct-WnqF0s/octclip-1.0.8/src'
mkoctfile -c -I. calctopo.c -o calctopo.o
mkoctfile -c -I. compilador.c -o compilador.o
mkoctfile -c -I. dpeucker.c -o dpeucker.o
mkoctfile -c -I. errores.c -o errores.o
mkoctfile -c -I. eucli.c -o eucli.o
mkoctfile -c -I. fgeneral.c -o fgeneral.o
make: Leaving directory '/tmp/oct-WnqF0s/octclip-1.0.8/src'

pkg: error running `make' for the octclip package.
error: called from
    configure_make at line 99 column 9
    install at line 184 column 7
    pkg at line 441 column 9


I don't get why, I had a similar error for some other package I was installing, and realized I hadn't installed make, or some hidden dependency, or some library.. Anyways, octclip doesn't install- knowing there's a parallel pkg, I tried it to no avail


octave:2> pkg install -forge parallel
configure: WARNING: TLS disabled since gnutls/gnutls.h not found or not compilable
pconnect.cc: In function 'octave_value_list Fpconnect(const octave_value_list&, int)':
pconnect.cc:536:35: error: 'octave_env' has not been declared
  536 |           std::string directory = octave_env::get_current_directory ();
      |                                   ^~~~~~~~~~
In file included from parallel-gnutls.h:135,
                 from pserver.cc:49:
pserver.cc: In function 'void reval_loop(octave_parallel_stream&)':
pserver.cc:142:55: warning: 'octave_value_list octave::eval_string(const string&, bool, int&, int)' is deprecated: [5]: use 'octave::interpreter::eval_string' instead [-Wdeprecated-declarations]
  142 |       SET_ERR (OCTAVE__EVAL_STRING (s, false, p_err, 0), err);
      |                                                       ^
error-helpers.h:116:9: note: in definition of macro 'SET_ERR'
  116 |         code ; \
      |         ^~~~
In file included from oct-alt-includes.h:33,
                 from config.h:258,
                 from pserver.cc:26:
/usr/include/octave-5.1.0/octave/../octave/parse.h:589:3: note: declared here
  589 |   eval_string (const std::string&, bool silent, int& parse_status, int nargout);
      |   ^~~~~~~~~~~
In file included from parallel-gnutls.h:135,
                 from pserver.cc:49:
pserver.cc:142:55: warning: 'octave_value_list octave::eval_string(const string&, bool, int&, int)' is deprecated: [5]: use 'octave::interpreter::eval_string' instead [-Wdeprecated-declarations]
  142 |       SET_ERR (OCTAVE__EVAL_STRING (s, false, p_err, 0), err);
      |                                                       ^
error-helpers.h:116:9: note: in definition of macro 'SET_ERR'
  116 |         code ; \
      |         ^~~~
In file included from oct-alt-includes.h:33,
                 from config.h:258,
                 from pserver.cc:26:
/usr/include/octave-5.1.0/octave/../octave/parse.h:589:3: note: declared here
  589 |   eval_string (const std::string&, bool silent, int& parse_status, int nargout);
      |   ^~~~~~~~~~~
pserver.cc:172:13: error: 'command_editor' has not been declared
  172 |             command_editor::increment_current_command_number ();
      |             ^~~~~~~~~~~~~~
pserver.cc: In function 'octave_value_list Fpserver(const octave_value_list&, int)':
pserver.cc:1119:23: error: 'octave_env' has not been declared
 1119 |           int cd_ok = octave_env::chdir (directory.c_str ());
      |                       ^~~~~~~~~~
pserver.cc:1122:13: error: 'octave_env' has not been declared
 1122 |             octave_env::chdir ("/tmp");
      |             ^~~~~~~~~~
make: *** [Makefile:150: pconnect.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:150: pserver.o] Error 1
make: Entering directory '/tmp/oct-ivATht/parallel-3.1.3/src'
CXX="g++" CXXFLAGS="-fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe   -g  " /usr/bin/mkoctfile-5.1.0 -c pconnect.cc
CXX="g++" CXXFLAGS="-fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe   -g  " /usr/bin/mkoctfile-5.1.0 -c pserver.cc
CXX="g++" CXXFLAGS="-fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe   -g  " /usr/bin/mkoctfile-5.1.0 -c sclose.cc
CXX="g++" CXXFLAGS="-fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe   -g  " /usr/bin/mkoctfile-5.1.0 -c reval.cc
make: Leaving directory '/tmp/oct-ivATht/parallel-3.1.3/src'

pkg: error running `make' for the parallel package.
error: called from
    configure_make at line 99 column 9
    install at line 184 column 7
    pkg at line 441 column 9


I tried dl'ing and installing for the archive, tried building, nothing worked. I've nigh no knowledge of what I'm doing, or doing wrong, help would be appreciated...

Weirdly enough, the packages install fine on a win10 using the make from chocolately. On Void Linux, however..

Here is the list of packages I have installed, if it matters any:

Package Name    | Version | Installation directory
----------------+---------+-----------------------
data-smoothing  |   1.3.0 | /usr/share/octave/packages/data-smoothing-1.3.0
     financial  |   0.5.3 | /usr/share/octave/packages/financial-0.5.3
       general  |   2.1.0 | /usr/share/octave/packages/general-2.1.0
      geometry  |   3.0.0 | /usr/share/octave/packages/geometry-3.0.0
           gsl  |   2.1.1 | /usr/share/octave/packages/gsl-2.1.1
         image  |  2.10.0 | /usr/share/octave/packages/image-2.10.0
            io  |  2.4.13 | /usr/share/octave/packages/io-2.4.13
     level-set  |   0.3.0 | /usr/share/octave/packages/level-set-0.3.0
       mapping  |   1.2.1 | /usr/share/octave/packages/mapping-1.2.1
           mvn  |   1.1.0 | /usr/share/octave/packages/mvn-1.1.0
         optim  |   1.6.0 | /usr/share/octave/packages/optim-1.6.0
   optiminterp  |   0.3.5 | /usr/share/octave/packages/optiminterp-0.3.5
       splines  |   1.3.3 | /usr/share/octave/packages/splines-1.3.3
    statistics  |   1.4.1 | /usr/share/octave/packages/statistics-1.4.1
        struct  |  1.0.16 | /usr/share/octave/packages/struct-1.0.16
      symbolic  |   2.8.0 | /usr/share/octave/packages/symbolic-2.8.0


Anonymous

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #47809:  Bulg_railws.png added by philipnienhuis (41KiB - image/png)
file #47807:  1.png added by None (50KiB - image/png)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jgpallero (Posted a comment)
  • -email is unavailable- added by siko1056 (Updated the item)
  • -email is unavailable- added by None (Submitted the item)
  •  

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

    Date Changed by Updated Field Previous Value => Replaced by
    2022-11-07 philipnienhuis Release5.1.0 other
    2022-11-07 philipnienhuis StatusNone Fixed
        Open/ClosedOpen Closed
    2019-11-06 philipnienhuis Attached File- Added Bulg_railws.png, #47809
    2019-11-05 None Attached File- Added 1.png, #47807
    2019-11-03 siko1056 Summaryerror running `make' for octclip, [octave forge] (octclip) error running `make' for octclip,

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code