-
Notifications
You must be signed in to change notification settings - Fork 28
Build: DBus on MacOS
Lars Toenning edited this page Oct 9, 2023
·
1 revision
On macOS, the default Qt installation includes QtDBus, but not the DBus library that it depends on. Pre-built binaries are available in the externals repository. This howto documents the steps if you want to build a new version of DBus binaries.
- Download and extract the libdbus source code.
- Set the deployment target to the lowest supported Mac OS version. At the time of writing, this was Mac OS 10.10
export MACOSX_DEPLOYMENT_TARGET=10.10
- Configure, run and install the build
./configure --localstatedir=/usr/local/var --sysconfdir=/usr/local/etc --disable-xml-docs --disable-doxygen-docs --enable-launchd --with-launchd-agent-dir=~/Library/LaunchAgents --without-x --disable-tests
make
make install
-
make install
will automatically copyorg.freedesktop.dbus-session.plist
into the users LaunchAgents directory. So from the next boot up, it will be automatically loaded. To load it without rebooting after installation, run:
load -w ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
Before committing the new binaries to externals, we need to make some small adjustments to the library lookup path written in those binaries.
- Setup
swiftRoot
environmental variable
export swiftRoot=[path to your swift root]
- First copy them to externals to not change the local installation
cp /usr/local/bin/dbus-daemon $swiftRoot/externals/macx-clang/bin64/
cp /usr/local/bin/dbus-uuidgen $swiftRoot/externals/macx-clang/bin64/
cp /usr/local/lib/libdbus-1.3.dylib $swiftRoot/externals/macx-clang/lib64/
- Change the path where dbus executables should look for 'libdbus-1.3.dylib':
cd $swiftRoot/externals/macx-clang/bin64
install_name_tool -change /usr/local/lib/libdbus-1.3.dylib @executable_path/../lib/libdbus-1.3.dylib dbus-daemon
install_name_tool -change /usr/local/lib/libdbus-1.3.dylib @executable_path/../lib/libdbus-1.3.dylib dbus-uuidgen
cd $swiftRoot/externals/macx-clang/lib64
install_name_tool -id @rpath/libdbus-1.3.dylib libdbus-1.3.dylib
- Commit the new binaries
- Home
- API documentation (Doxygen generated)
- Future of swift
- Style and Coding Standard
- Release Checklist
- Build swift
- Run swift as a developer
- Knowledgebase
- External resources
- Open Research Questions
- Aviation
- Programming
- Simulation
- Architecture