jammy package is missing inl files

Bug #1980147 reported by Adam Aposhian
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
geos (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Originally filed at https://github.com/libgeos/geos/issues/645

On Ubuntu 22.04 if I install the apt package `libgeos++-dev` for 3.10.2, there is no definition for `geos::geom::Coordinate::Coordinate`.

There is no `Coordinate.inl` in `/usr/include/geos/geom`, but there is also no symbol for `geos::geom::Coordinate::Coordinate` in `libgeos.so`. So it seems like inlining enabled for the build, but then the inline header files didn't make it into the package somehow.

```Dockerfile
ARG UBUNTU
FROM ubuntu:$UBUNTU
RUN apt-get update && apt-get install -y binutils libgeos++-dev
```

```bash
#/usr/bin/env bash

echo 'Jammy'
docker build . -t geos-jammy --build-arg UBUNTU=jammy
docker run -it geos-focal bash -c 'ls /usr/include/geos/geom && objdump -d -C /lib/$(uname -m)-linux-gnu/libgeos.so | grep -F 'Coordinate::Coordinate''

echo 'Focal'
docker build . -t geos-focal --build-arg UBUNTU=focal
docker run -it geos-focal bash -c 'ls /usr/include/geos/geom && objdump -d -C /lib/$(uname -m)-linux-gnu/libgeos.so | grep -F 'Coordinate::Coordinate''
```

On jammy this produces:
```
Coordinate.h Geometry.h MultiPoint.h
CoordinateArraySequence.h GeometryCollection.h MultiPolygon.h
CoordinateArraySequenceFactory.h GeometryComponentFilter.h Point.h
CoordinateFilter.h GeometryFactory.h Polygon.h
CoordinateList.h GeometryFilter.h Position.h
CoordinateSequence.h HeuristicOverlay.h PrecisionModel.h
CoordinateSequenceFactory.h IntersectionMatrix.h Quadrant.h
CoordinateSequenceFilter.h LineSegment.h Triangle.h
DefaultCoordinateSequenceFactory.h LineString.h prep
Dimension.h LinearRing.h util
Envelope.h Location.h
FixedSizeCoordinateSequence.h MultiLineString.h
```

In comparison to Ubuntu 20.04, where this works just fine on the package for GEOS 3.8.0.

```
BinaryOp.h CoordinateSequence.h FixedSizeCoordinateSequence.h IntersectionMatrix.h MultiPoint.h prep
Coordinate.h CoordinateSequenceFactory.h Geometry.h LineSegment.h MultiPolygon.h util
CoordinateArraySequence.h CoordinateSequenceFilter.h GeometryCollection.h LineString.h Point.h
CoordinateArraySequenceFactory.h DefaultCoordinateSequenceFactory.h GeometryComponentFilter.h LinearRing.h Polygon.h
CoordinateFilter.h Dimension.h GeometryFactory.h Location.h PrecisionModel.h
CoordinateList.h Envelope.h GeometryFilter.h MultiLineString.h Triangle.h
0000000000099740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>:
   997ca: e8 71 ff ff ff callq 99740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>
   997ef: e9 4c ff ff ff jmpq 99740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>
   9982b: e8 10 ff ff ff callq 99740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>
   99849: e9 f2 fe ff ff jmpq 99740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>
   99923: e8 18 fe ff ff callq 99740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>
   99a07: e8 34 fd ff ff callq 99740 <geos::geom::Coordinate::Coordinate(double, double, double)@@Base>
```

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in geos (Ubuntu):
status: New → Confirmed
Revision history for this message
Pierre Gergondet (pierre-gergondet+ppa) wrote :

FYI, I have reported this to Debian as well https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010002

It seems it is not considered an issue because GEOS developers have deemed the C++ API unstable.

Revision history for this message
Phillip Reed (speed-w) wrote :

It seems ridiculous that the official response is basically, "We released an intentionally broken package because nobody should use this API." Is this something that could be easily patched in the Ubuntu release of this package?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.