Opened 20 months ago

Last modified 20 months ago

#71734 assigned defect

libkml fails to build with current expat: /opt/local/include/expat.h:135: error: comma at end of enumerator list

Reported by: barracuda156 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.10.5
Keywords: Cc:
Port: expat

Description

[  3%] Building C object src/kml/base/CMakeFiles/kmlbase.dir/contrib/minizip/iomem_simple.c.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/gcc-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/contrib/minizip/iomem_simple.c.o -MF CMakeFiles/kmlbase.dir/contrib/minizip/iomem_simple.c.o.d -o CMakeFiles/kmlbase.dir/contrib/minizip/iomem_simple.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/contrib/minizip/iomem_simple.c
[  3%] Building C object src/kml/base/CMakeFiles/kmlbase.dir/contrib/minizip/unzip.c.o
[  3%] Building CXX object src/kml/base/CMakeFiles/kmlbase.dir/attributes.cc.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/gcc-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/contrib/minizip/unzip.c.o -MF CMakeFiles/kmlbase.dir/contrib/minizip/unzip.c.o.d -o CMakeFiles/kmlbase.dir/contrib/minizip/unzip.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/contrib/minizip/unzip.c
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/g++-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/attributes.cc.o -MF CMakeFiles/kmlbase.dir/attributes.cc.o.d -o CMakeFiles/kmlbase.dir/attributes.cc.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/attributes.cc
[  4%] Building CXX object src/kml/base/CMakeFiles/kmlbase.dir/date_time.cc.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/g++-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/date_time.cc.o -MF CMakeFiles/kmlbase.dir/date_time.cc.o.d -o CMakeFiles/kmlbase.dir/date_time.cc.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/date_time.cc
[  5%] Building CXX object src/kml/base/CMakeFiles/kmlbase.dir/expat_parser.cc.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/g++-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/expat_parser.cc.o -MF CMakeFiles/kmlbase.dir/expat_parser.cc.o.d -o CMakeFiles/kmlbase.dir/expat_parser.cc.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/expat_parser.cc
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/expat_handler.h:31,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/expat_handler_ns.h:31,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/expat_handler_ns.cc:26:
/opt/local/include/expat.h:135: error: comma at end of enumerator list
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/expat_parser.h:37,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/expat_parser.cc:28:
/opt/local/include/expat.h:135: error: comma at end of enumerator list
[  6%] Building CXX object src/kml/base/CMakeFiles/kmlbase.dir/file.cc.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/g++-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/file.cc.o -MF CMakeFiles/kmlbase.dir/file.cc.o.d -o CMakeFiles/kmlbase.dir/file.cc.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/file.cc
[  7%] Building CXX object src/kml/base/CMakeFiles/kmlbase.dir/file_posix.cc.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/g++-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/file_posix.cc.o -MF CMakeFiles/kmlbase.dir/file_posix.cc.o.d -o CMakeFiles/kmlbase.dir/file_posix.cc.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/file_posix.cc
[  8%] Building CXX object src/kml/base/CMakeFiles/kmlbase.dir/math_util.cc.o
make[2]: *** [src/kml/base/CMakeFiles/kmlbase.dir/expat_handler_ns.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build/src/kml/base && /usr/bin/g++-4.2 -Dkmlbase_EXPORTS -I/opt/local/include -I/opt/local/libexec/boost/1.76/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -arch ppc -mmacosx-version-min=10.6 -fPIC -MD -MT src/kml/base/CMakeFiles/kmlbase.dir/math_util.cc.o -MF CMakeFiles/kmlbase.dir/math_util.cc.o.d -o CMakeFiles/kmlbase.dir/math_util.cc.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/libkml-1.3.0/src/kml/base/math_util.cc
make[2]: *** [src/kml/base/CMakeFiles/kmlbase.dir/expat_parser.cc.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build'
make[1]: *** [src/kml/base/CMakeFiles/kmlbase.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/work/build" && /usr/bin/make -j6 -w all VERBOSE=ON 
Exit code: 2
Error: Failed to build libkml: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libkml/libkml/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.

This breaks gdal, which depends on this port, and a lot of dependents down the road.

Attachments (1)

main.log (37.3 KB) - added by barracuda156 20 months ago.

Download all attachments as: .zip

Change History (5)

Changed 20 months ago by barracuda156

Attachment: main.log added

comment:1 Changed 20 months ago by barracuda156

Looks like the bug in expat?

enum XML_Error {
  XML_ERROR_NONE,
  XML_ERROR_NO_MEMORY,
  XML_ERROR_SYNTAX,
  XML_ERROR_NO_ELEMENTS,
  XML_ERROR_INVALID_TOKEN,
  XML_ERROR_UNCLOSED_TOKEN,
  XML_ERROR_PARTIAL_CHAR,
  XML_ERROR_TAG_MISMATCH,
  XML_ERROR_DUPLICATE_ATTRIBUTE,
  XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
  XML_ERROR_PARAM_ENTITY_REF,
  XML_ERROR_UNDEFINED_ENTITY,
  XML_ERROR_RECURSIVE_ENTITY_REF,
  XML_ERROR_ASYNC_ENTITY,
  XML_ERROR_BAD_CHAR_REF,
  XML_ERROR_BINARY_ENTITY_REF,
  XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
  XML_ERROR_MISPLACED_XML_PI,
  XML_ERROR_UNKNOWN_ENCODING,
  XML_ERROR_INCORRECT_ENCODING,
  XML_ERROR_UNCLOSED_CDATA_SECTION,
  XML_ERROR_EXTERNAL_ENTITY_HANDLING,
  XML_ERROR_NOT_STANDALONE,
  XML_ERROR_UNEXPECTED_STATE,
  XML_ERROR_ENTITY_DECLARED_IN_PE,
  XML_ERROR_FEATURE_REQUIRES_XML_DTD,
  XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,
  /* Added in 1.95.7. */
  XML_ERROR_UNBOUND_PREFIX,
  /* Added in 1.95.8. */
  XML_ERROR_UNDECLARING_PREFIX,
  XML_ERROR_INCOMPLETE_PE,
  XML_ERROR_XML_DECL,
  XML_ERROR_TEXT_DECL,
  XML_ERROR_PUBLICID,
  XML_ERROR_SUSPENDED,
  XML_ERROR_NOT_SUSPENDED,
  XML_ERROR_ABORTED,
  XML_ERROR_FINISHED,
  XML_ERROR_SUSPEND_PE,
  /* Added in 2.0. */
  XML_ERROR_RESERVED_PREFIX_XML,
  XML_ERROR_RESERVED_PREFIX_XMLNS,
  XML_ERROR_RESERVED_NAMESPACE_URI,
  /* Added in 2.2.1. */
  XML_ERROR_INVALID_ARGUMENT,
  /* Added in 2.3.0. */
  XML_ERROR_NO_BUFFER,
  /* Added in 2.4.0. */
  XML_ERROR_AMPLIFICATION_LIMIT_BREACH,
  /* Added in 2.6.4. */
  XML_ERROR_NOT_STARTED,
};

comment:2 Changed 20 months ago by barracuda156

Port: expat added; libkml removed

comment:3 in reply to:  description Changed 20 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to barracuda156:

/opt/local/include/expat.h:135: error: comma at end of enumerator list

A comma at the end of an enumerator list is legal in C99 but wasn't in C89 which your compiler defaults to. Expat bills itself as a C99 library. If this is the only C99ism in the headers we could easily remove the trailing comma(s) and I think the developer might accept such a fix since it's simple. If it's too hard to restore C89 compatibility then projects using expat need to ensure they use a -std= flag to request C99 mode or later.

comment:4 Changed 20 months ago by barracuda156

Well, upstream has no interest in fixing it: https://github.com/libexpat/libexpat/pull/940 (closed)

Note: See TracTickets for help on using tickets.