Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
huangjimmy committed Sep 22, 2024
1 parent 697f595 commit 457a0b3
Showing 1 changed file with 141 additions and 0 deletions.
141 changes: 141 additions & 0 deletions _posts/2024-09-21-macports-2.10-gnucash-ports-failure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
---
layout: page_with_comment
title: "Lots of errors during the installation of Gnucash by macports after upgrading to macports 2.10 and macOS 15.0 Sequoia"
date: "2024-09-21"
tags:
- "gnucash"
- "rust"
- "libdbi-drivers"
- "cflags"
- "x86-64"
---

**TLDR**

Wait until ​https://github.com/macports/macports-ports/pull/25835 merged and
use below command to install GnuCash in macOS 15.0 by macports 2.10

```bash
sudo port install gnucash build_arch=x86_64 configure.cflags="-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types"
```


**Content**

I was using macports because I needed to use macports to install GnuCash in mac so that I could use GnuCash python bindings.

After upgrading to macports 2.10, things went broken. First, dependency `gstreamer1-gst-plugins-bad` failed

```
Error: Failed to build libffi: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_libffi/libffi/main.log for details.
Error: Unable to execute port gstreamer1-gst-plugins-bad: upgrade gtk-doc failed
```

I checked logs and found that installation failed because macports built `x86_64` but tried to link `arm64`. I cannot force macports to build all in `arm64` because GnuCash depends on `rust` which only supports `x86_64` in mac.

I then tried

```bash
sudo port clean libdbi-drivers && sudo port install libdbi-drivers build_arch=x86_64
```

but then logs indicated that

```bash
error: incompatible integer to pointer conversion passing 'intptr_t' (aka 'long') to parameter of type 'const void *' [-Wint-conversion]
```

and

```bash
error: incompatible function pointer types passing ..... [-Wincompatible-function-pointer-types]
```

I then tried below and finally got libdbi-drivers installed.

```bash
sudo port clean libdbi-drivers && sudo port install libdbi-drivers build_arch=x86_64 configure.cflags="-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types"
```

To avoid possible errors, I tried to install GnuCash with below command

```bash
sudo port install gnucash build_arch=x86_64 configure.cflags="-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types"
```

I still see errors

```bash
Error: Failed to build at-spi2-core: command execution failed
```

Checking logs I find

```bash
:info:build In file included from ../at-spi2-core-2.38.0/registryd/deviceeventcontroller-x11.c:46:
:info:build In file included from /opt/local/include/glib-2.0/glib.h:34:
:info:build In file included from /opt/local/include/glib-2.0/glib/gasyncqueue.h:34:
:info:build In file included from /opt/local/include/glib-2.0/glib/gthread.h:36:
:info:build In file included from /opt/local/include/glib-2.0/glib/gutils.h:426:
:info:build In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/stdlib.h:58:
:info:build In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/_stdlib.h:66:
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:207:19: error: duplicate member 'w_Filler'
:info:build 207 | unsigned int w_Filler:16, /* upper bits filler */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:204:7: note: previous declaration is here
:info:build 204 | w_Filler:16; /* upper bits filler */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:208:7: error: duplicate member 'w_Retcode'
:info:build 208 | w_Retcode:8, /* exit code if w_termsig==0 */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:203:7: note: previous declaration is here
:info:build 203 | w_Retcode:8, /* exit code if w_termsig==0 */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:209:7: error: duplicate member 'w_Coredump'
:info:build 209 | w_Coredump:1, /* core dump indicator */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:202:7: note: previous declaration is here
:info:build 202 | w_Coredump:1, /* core dump indicator */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:210:7: error: duplicate member 'w_Termsig'
:info:build 210 | w_Termsig:7; /* termination signal */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:201:19: note: previous declaration is here
:info:build 201 | unsigned int w_Termsig:7, /* termination signal */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:225:19: error: duplicate member 'w_Filler'
:info:build 225 | unsigned int w_Filler:16, /* upper bits filler */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:222:7: note: previous declaration is here
:info:build 222 | w_Filler:16; /* upper bits filler */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:226:7: error: duplicate member 'w_Stopsig'
:info:build 226 | w_Stopsig:8, /* signal that stopped us */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:221:7: note: previous declaration is here
:info:build 221 | w_Stopsig:8, /* signal that stopped us */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:227:7: error: duplicate member 'w_Stopval'
:info:build 227 | w_Stopval:8; /* == W_STOPPED if stopped */
:info:build | ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:220:19: note: previous declaration is here
:info:build 220 | unsigned int w_Stopval:8, /* == W_STOPPED if stopped */
```
Then I find this https://trac.macports.org/ticket/70776
> #70776 assigned defect
> at-spi2-core @2.38.0_0 fails to build on MacOS 15 Sequoia
and
> Changed 3 days ago by slewsys (Andrew L. Moore)
> Patch submitted as: ​https://github.com/macports/macports-ports/pull/25835
This PR was open on Sep 19 2024 at 2:16 AM PDT.
Looks like I need to wait until this PR merged

0 comments on commit 457a0b3

Please sign in to comment.