Yes, Mac build of Firebird was the hardest of all our software modules so far (we're planning to use it as embedded database).
My build notes are very similar to yours, a few things that I noted down are: autogen.sh I had to add --disable-raw-devices, because that module did not compile for me. Gen\make.platform has a wrong (absolute) path for libtommath. I had to fix that every time I ran autogen again, or the build would fail. I'm using ICU 57.1 because later versions removed a (deprecated) module that is required for another 3rd party library. I used the version of tommath that was included with the firebird source (I just built it manually). Mark -----Original Message----- From: Paul Beach [mailto:pbe...@ibphoenix.com] Sent: 01 March 2017 09:50 To: firebird-devel@lists.sourceforge.net Subject: [Firebird-devel] Firebird 3.x on MacOS That took me more than enough time to work out.. ok the following should work. You will need to install a copy of ICU, the ICU shipped with MacOS (assuming they still do) is not good enough. The easiest way to do this is to download the source code and build it yourself. Currently I am using 5.4. Unlike other posix platforms we are going to have to ship the libs with the framework. You will also need to install libtommath via MacPorts for example. We need a way to link this into the build statically, because we can't ask everyone to install it. To get round the build shell issue DYLD_LIBRARY_PATH failure (SIP) see here: http://paulbeachsblog.blogspot.fr/2016/03/dyldlibrarypath-and-el-capitan.html Reboot command-r Terminal csrutil disable Restart or we borrow libreoffices workaround. Within ICU Amend config/mh-darwin Note install-path LD_SONAME ## Compiler switches to embed a library name and version informationifeq ($(ENABLE_RPATH),YES) LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-curre nt_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO _TARGET)) else LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-curre nt_version -Wl,$(SO_TARGET_VERSION) -install_name /Library/Frameworks/Firebird.f ramework/Versions/A/Libraries/$(notdir $(MIDDLE_SO_TARGET)) endif Build ICU ICU ./configure --enable-renaming=no Firebird ./autogen.sh ./configure Needs these flags setting for example CFLAGS (ucnv.h) -I/Users/pbeach/icu54/icu/source/common (libtommath.h) -I/opt/local/include/libtommath LDFLAGS (-licuuc) -L/Users/pbeach/icu54/icu/source/lib (-ltommath) -L/opt/local/lib Make needs these for example CXXFLAGS (ucnv.h) -I/Users/pbeach/icu54/icu/source/common (libtommath.h) -I/opt/local/include/libtommath (utrans.h) -I/Users/pbeach/icu54/icu/source/i18n Hows that for starters... Regards Paul ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel