Skip to content

Regenerate the MeosOps facades and provision MEOS SRID data - #19

Merged
estebanzimanyi merged 2 commits into
MobilityDB:mainfrom
estebanzimanyi:fix/regenerate-facades
Jul 10, 2026
Merged

Regenerate the MeosOps facades and provision MEOS SRID data#19
estebanzimanyi merged 2 commits into
MobilityDB:mainfrom
estebanzimanyi:fix/regenerate-facades

Conversation

@estebanzimanyi

@estebanzimanyi estebanzimanyi commented Jul 10, 2026

Copy link
Copy Markdown
Member

The generated MeosOps* facades match the current JMEOS FFI surface.

build-jmeos.sh stages MEOS's SRID and network reference data (spatial_ref_sys.csv, ways1000.csv) into /usr/local/share, where libmeos reads it to resolve SRIDs at runtime, so SRID-dependent operations (npoint, tgeompoint) run under the surefire test JVM.

The committed MeosOps* facades were generated against an older JMEOS and no
longer compile against MobilityDB/JMEOS main: the *_as_hexwkb functions folded
their trailing out-parameter (required (Pointer,byte), the facades called
(Pointer,byte,Pointer)) and an int widened to long, giving 12 compilation
errors in MeosOpsFree{Pose,Npoint,Cbuffer}, MeosOps{STBox,TBox,Set,Span,SpanSet}.

Regenerate the 8 drifted facades with tools/codegen_facades.py against a jar
built from JMEOS main. Verified with a clean build (mvn clean test) against the
freshly built libmeos + jar: 11 tests, 0 failures, 0 errors.
The native build target does not install MEOS's data files. libmeos reads
spatial_ref_sys.csv from a fixed default path (/usr/local/share) to resolve
SRIDs; when the file is absent it prints "Cannot open the spatial_ref_sys.csv
file" to stdout. Inside a surefire fork that raw native write corrupts the
fork's encoded channel, so any SRID-touching test (npoint, tgeompoint) aborts
the JVM with "The forked VM terminated without properly saying goodbye" even
though the test logic is correct.

Stage spatial_ref_sys.csv and ways1000.csv into /usr/local/share after the
build so SRID resolution succeeds and nothing is written to the fork channel.
@estebanzimanyi estebanzimanyi changed the title Regenerate the MeosOps facades against the current JMEOS surface Regenerate the MeosOps facades and provision MEOS SRID data Jul 10, 2026
@estebanzimanyi
estebanzimanyi merged commit 59e5810 into MobilityDB:main Jul 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant