Opened 4 years ago

Closed 4 years ago

#62089 closed defect (fixed)

gdal @3.2.1 configure failure: invalid feature name: driver-kmlsuperoverlay

Reported by: AgilentGCMS Owned by: Veence (Vincent)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc: aaschwanden (Andy Aschwanden)
Port: gdal

Description

I recently updated my macports installation with port selfupdate, and then followed it with port upgrade outdated. That croaked because gdal failed to update properly:

Error: Failed to configure gdal: configure failure: command execution failed
Error: See /Users/sbasu1/packages/macports/var/macports/logs/_Users_sbasu1_packages_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/main.log for details.

Log attached.

Attachments (1)

main.log (14.4 KB) - added by AgilentGCMS 4 years ago.

Download all attachments as: .zip

Change History (13)

Changed 4 years ago by AgilentGCMS

Attachment: main.log added

comment:1 Changed 4 years ago by jmroot (Joshua Root)

Cc: vince@… removed
Owner: set to Veence
Status: newassigned
Summary: gdal fails to build when upgrading packagesgdal @3.2.1 configure failure: invalid feature name: driver-kmlsuperoverlay

comment:2 Changed 4 years ago by aaschwanden (Andy Aschwanden)

Cc: aaschwanden added

comment:3 Changed 4 years ago by AgilentGCMS

Is there a fix to this yet? Part of my work depends on using GDAL for geospatial mapping, so it would be nice to have a fix soon. Since this happened during a port upgrade outdated, can I roll back to a previous version of GDAL and freeze it?

comment:4 Changed 4 years ago by boatmorrow

I'm definitely getting the same error. After port upgrade outdated

comment:5 Changed 4 years ago by tsilva451

I saw this error last week. However, I reran port upgrade outdated just now and the problem seems to have been fixed:

$ gdalinfo --version
GDAL 3.2.1, released 2020/12/29

$ ogr2ogr --version
GDAL 3.2.1, released 2020/12/29

Prior to the upgrade, I was running GDAL 3.0.3, released 2020/01/08. I'm on macOS Mojave 10.14.6.

Last edited 4 years ago by tsilva451 (previous) (diff)

comment:6 Changed 4 years ago by AgilentGCMS

Nope, still seeing the same error, just tried updating the port tree, cleaned up the previous gdal build, then tried again. My current gdal is 3.2.0, trying to upgrade to 3.2.1 still gives the same error at the configure step.

comment:7 Changed 4 years ago by aaschwanden (Andy Aschwanden)

For what it's worth; I was in a time crunch:

I was able to build GDAL by removing

--disable-driver-kmlsuperoverlay

Sorry I forgot to create diff, and the port file has been overwritten since.

comment:8 Changed 4 years ago by AgilentGCMS

I'd love to get this built soon too, because I really need cartopy for work, which depends on gdal. Where do I specify the --disable-driver-kmlsuperoverlay? Sorry, I'm not very conversant with ports.

comment:9 Changed 4 years ago by aaschwanden (Andy Aschwanden)

Run

sudo port edit gdal

scroll down to the section starting with

configure.args-append 

and look for

--disable-driver-kmlsuperoverlay

delete this line, save the file, and try again.

This worked for me.

comment:10 Changed 4 years ago by tsilva451

Yup, still broken (without editing the configuration, per aaschwanden's helpful suggestion). I just realized that I forgot to restore the +libkml variant switch after cleaning out gdal:

$ port installed gdal
The following ports are currently installed:
  gdal @3.2.1_0+postgresql13+proj7 (active)

$ ogr2ogr --formats | grep -i kml
  KML -vector- (rw+v): Keyhole Markup Language (KML)

(LIBKML absent above.)

$ sudo port uninstall gdal

$ sudo port install gdal +libkml

...

Error: Failed to configure gdal: configure failure: command execution failed
Version 1, edited 4 years ago by tsilva451 (previous) (next) (diff)

comment:11 Changed 4 years ago by tsilva451

I think we found the problem. In the file

/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/gis/gdal/Portfile

there is an unwanted, invisible character after the 1st occurrence of --disable-driver-kmlsuperoverlay, just before the escaped newline:

configure.args-append \
...
                    --disable-driver-kmlsuperoverlay \

It is a non-breaking space character (0xc2a0):

$ od -c /tmp/bogus-character
0000000   -   k   m   l   s   u   p   e   r   o   v   e   r   l   a   y
0000020   �   �   \
0000023

$ od --endian=big -x /tmp/bogus-character
0000000 2d6b 6d6c 7375 7065 726f 7665 726c 6179
0000020 c2a0 5c00
0000023

I changed that one character (16-bit) to a plain ol' space (0x20, 8-bit), and was then able to install GDAL with LIBKML.

$ sudo port install gdal +libkml

$ port installed gdal
The following ports are currently installed:
  gdal @3.2.1_0+libkml+postgresql13+proj7 (active)

$ ogr2ogr --formats | grep -i kml
  LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML)
  KML -vector- (rw+v): Keyhole Markup Language (KML)
Last edited 4 years ago by tsilva451 (previous) (diff)

comment:12 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In b39cc0be72f9ce4a433a8022aa866b23d7f275cd/macports-ports (master):

gdal: Replace nonbreaking space with normal space

Closes: #62089

Note: See TracTickets for help on using tickets.