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)
Change History (5)
Changed 20 months ago by barracuda156
comment:1 Changed 20 months ago by barracuda156
comment:2 Changed 20 months ago by barracuda156
| Port: | expat added; libkml removed |
|---|
comment:3 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.

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, };