[
https://issues.apache.org/jira/browse/DAFFODIL-2889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17835725#comment-17835725
]
John Interrante commented on DAFFODIL-2889:
---
I also just noticed the macOS build problem too. It's because brew is
installing a newer version of the mxml library.
The mxml library has recently released 4.0, 4.0.1, and 4.0.2 (around March 20 &
22). When the CI workflow ran "brew install libmxml" to install the header file
and library, it picked up the newly released 4.0.2 version:
{{Run brew install libmxml
==> Downloading https://ghcr.io/v2/homebrew/core/libmxml/manifests/4.0.2
==> Fetching libmxml
==> Downloading
https://ghcr.io/v2/homebrew/core/libmxml/blobs/sha256:98e1e1b8b65b2cabd74cd88dc9c6bc7c20b702729047bc80bb90a692ae8d4357
==> Pouring libmxml--4.0.2.monterey.bottle.tar.gz
/usr/local/Cellar/libmxml/4.0.2: 19 files, 1.8MB}}
I checked the mxml git repository and mxml.h is still there (it hasn't been
renamed or moved). I'm not sure what's going on
([@pkatlic|https://github.com/pkatlic] may be able to find out more with his
MacBook), but the quickest fix would be to change the workflow to install a
previous version of mxml (v3.3.1 was the last version before v4.0 was
released). The Linux build also pins mxml to 3.x because it runs on Ubuntu
22.04, which doesn't roll packages to new versions (only adds security patches
as needed). This documentation describes how to make brew install a specific
version of a package:
[https://www.slingacademy.com/article/homebrew-how-to-install-a-specific-version-of-a-package/].
> Intermitted CI failures missing mxml.h on macOS
> ---
>
> Key: DAFFODIL-2889
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2889
> Project: Daffodil
> Issue Type: Bug
>Reporter: Steve Lawrence
>Priority: Major
>
> I've noticed a handful of intermittent CI failures over the past couple of
> weeks with the macOS build relating to a missing mxml header file. The error
> during compilation is:
> {quote}
> [info] [cc, -c,
> /Users/runner/work/daffodil/daffodil/daffodil-codegen-c/src/main/resources/org/apache/daffodil/codegen/c/files/libcli/xml_writer.c,
> -o,
> /Users/runner/work/daffodil/daffodil/daffodil-codegen-c/target/streams/compile/ccSourceObjectMap/_global/streams/compile/libruntime.a/src/main/resources/org/apache/daffodil/codegen/c/files/libcli/xml_writer.c.o,
>
> -I/Users/runner/work/daffodil/daffodil/daffodil-codegen-c/src/main/resources/org/apache/daffodil/codegen/c/files/libcli,
>
> -I/Users/runner/work/daffodil/daffodil/daffodil-codegen-c/src/main/resources/org/apache/daffodil/codegen/c/files/libruntime,
> -Wall, -Wextra, -Wpedantic, -std=gnu11]
> In file included from
> /Users/runner/work/daffodil/daffodil/daffodil-codegen-c/src/main/resources/org/apache/daffodil/codegen/c/files/libcli/xml_writer.c:20:
> In file included from
> /Users/runner/work/daffodil/daffodil/daffodil-codegen-c/src/main/resources/org/apache/daffodil/codegen/c/files/libcli/xml_writer.h:25:
> /Users/runner/work/daffodil/daffodil/daffodil-codegen-c/src/main/resources/org/apache/daffodil/codegen/c/files/libcli/stack.h:23:10:
> fatal error: 'mxml.h' file not found
> #include // for mxml_node_t
> ^~~~
> 1 error generated.
> {quote}
> Note that on the same build installing mxml seems to work fine in the Install
> Dependencies (macOS) step:
> {quote}
> Run brew install libmxml
> ==> Downloading https://ghcr.io/v2/homebrew/core/libmxml/manifests/4.0.2
> ==> Fetching libmxml
> ==> Downloading
> https://ghcr.io/v2/homebrew/core/libmxml/blobs/sha256:98e1e1b8b65b2cabd74cd88dc9c6bc7c20b702729047bc80bb90a692ae8d4357
> ==> Pouring libmxml--4.0.2.monterey.bottle.tar.gz
> /usr/local/Cellar/libmxml/4.0.2: 19 files, 1.8MB
> {quote}
> Usually rerunning the job fixes the issue, but it would be nice to figure out
> what is going so we can avoid the random failures. Unfortunately, it's
> difficult to reproduce.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)