Am 08.09.2019 um 14:14 schrieb Patrick De Visschere <pdvissch...@edpnet.be>: > > Yes, I have a few different settings (but I didn’t change them recently as > far as I know) and I’m using (gui) CMake 3.15.1 > and XCode = Version 10.3 (10G8)
I’m using - cmake version 3.12.0 - Xcode 10.3, Build version 10G8 ATM, I’m unable to update my macports :( I’m forced to reinstall it because of incompatible macOS versions and I’m too lazy to start from scratch with it. Stephan > LYX_CPACK = ON : Use the CPack management (Implies LYX_INSTALL option) > LYX_LOCALVERSIONING = OFF : Add version info to created package name (only > used if LYX_CPACK option set) > LYX_INSTALL = ON : Build install projects/rules (implies a bunch of other > options) > LYX_NLS = ON : Enable Native Language Support (NLS) > LYX_REQUIRE_SPELLCHECK = OFF : Abort if no spellchecker available > LYX_ASPELL = ON : Require aspell > LYX_ENCHANT = OFF : Require Enchant > LYX_HUNSPELL = ON : Require Hunspell > LYX_RELEASE = OFF : Build release version, build debug when disabled > LYX_DEBUG = OFF : Enforce debug build > LYX_NO_OPTIMIZE = ON : Don't use any optimization/debug flags > LYX_PACKAGE_SUFFIX = ON : Use version suffix for packaging > LYX_SUFFIX_VALUE = : Use this string as suffix > LYX_PCH = OFF : Use precompiled headers > LYX_MERGE_FILES = OFF : Merge source files into one compilation unit > LYX_MERGE_REBUILD = OFF : Rebuild generated files from merged files build > LYX_QUIET = ON : Don't generate verbose makefiles > LYX_INSTALL_PREFIX = OFF : Install path for LyX > LYX_BUNDLE = ON : Build bundle (experimental) > LYX_ENABLE_URLTESTS = OFF : Enable for URL tests > LYX_ENABLE_EXPORT_TESTS = OFF : Enable for export tests > LYX_ENABLE_KEYTESTS = OFF : Enable for keytests > LYX_ASAN = OFF : Use address sanitizer > LYX_USE_FILEDIALOG = QT : Use native or QT file dialog (QT NATIVE) > LYX_USE_QT = QT5 : Use Qt version as frontend (AUTO QT4 QT5) > LYX_DISABLE_CALLSTACK_PRINTING = OFF : do not print a callstack when crashing > LYX_EXTERNAL_Z = ON : OFF := Build 3rdparty lib zlib > LYX_EXTERNAL_ICONV = ON : OFF := Build 3rdparty lib iconvlib > LYX_EXTERNAL_HUNSPELL = OFF : OFF := Build 3rdparty lib hunspelllib > LYX_EXTERNAL_MYTHES = OFF : OFF := Build 3rdparty lib mytheslib (AUTO OFF ON) > LYX_DMG = ON : Build as Mac bundle, needed for .dmg (experimental) > LYX_COCOA = ON : Use Cocoa on Mac > > In the source files (ConverterCache.cpp, Application.cpp, FileName.cpp and > GuiClipboard.cpp) I don’t see macro’s which could optionally include the > relevant code which is probably in the boost::crc module. I suppose > boost::crc uses boost::array where the BOOST_ASSERT_MSG macro is activated, > triggering the error. > > LyX includes a 3thparty boost-version (1.68), but I don’t find any references > to it in my XCode project and I think I’m actually using my macports boost > (which is 1.71). > This might explain it: I’ve upgraded my macports boost and this breaks my > lyx-build. > > > >> On 8 Sep 2019, at 10:14, Stephan Witt <st.w...@gmx.net> wrote: >> >> Am 08.09.2019 um 10:02 schrieb Patrick De Visschere <pdvissch...@edpnet.be>: >>> >>> Sorry, mistyped the last “f”: it should have been 01ee3bf1e5, the master >>> branch on 5 sept. >> >> I see. Yes, this is HEAD for me too. This is what works for me. >> >> Perhaps you have different cmake flags? >> >> I have: >> -- LYX_CPACK = OFF : Use the CPack management >> (Implies LYX_INSTALL option) >> -- LYX_LOCALVERSIONING = ON : Add version info to created >> package name (only used if LYX_CPACK option set) >> -- LYX_INSTALL = OFF : Build install projects/rules >> (implies a bunch of other options) >> -- LYX_NLS = ON : Enable Native Language >> Support (NLS) >> -- LYX_REQUIRE_SPELLCHECK = OFF : Abort if no spellchecker >> available >> -- LYX_ASPELL = ON : Require aspell >> -- LYX_ENCHANT = OFF : Require Enchant >> -- LYX_HUNSPELL = ON : Require Hunspell >> -- LYX_RELEASE = OFF : Build release version, build >> debug when disabled >> -- LYX_DEBUG = ON : Enforce debug build >> -- LYX_NO_OPTIMIZE = OFF : Don't use any >> optimization/debug flags >> -- LYX_PACKAGE_SUFFIX = OFF : Use version suffix for >> packaging >> -- LYX_SUFFIX_VALUE = : Use this string as suffix >> -- LYX_PCH = OFF : Use precompiled headers >> -- LYX_MERGE_FILES = OFF : Merge source files into one >> compilation unit >> -- LYX_MERGE_REBUILD = OFF : Rebuild generated files from >> merged files build >> -- LYX_QUIET = OFF : Don't generate verbose >> makefiles >> -- LYX_INSTALL_PREFIX = OFF : Install path for LyX >> -- LYX_BUNDLE = OFF : Build bundle (experimental) >> -- LYX_ENABLE_URLTESTS = OFF : Enable for URL tests >> -- LYX_ENABLE_EXPORT_TESTS = ON : Enable for export tests >> -- LYX_ENABLE_KEYTESTS = OFF : Enable for keytests >> -- LYX_ASAN = OFF : Use address sanitizer >> -- LYX_USE_FILEDIALOG = QT : Use native or QT file dialog >> (QT NATIVE) >> -- LYX_USE_QT = QT5 : Use Qt version as frontend >> (AUTO QT4 QT5) >> -- LYX_DISABLE_CALLSTACK_PRINTING = OFF : do not print a callstack >> when crashing >> -- LYX_EXTERNAL_Z = ON : OFF := Build 3rdparty lib >> zlib >> -- LYX_EXTERNAL_ICONV = ON : OFF := Build 3rdparty lib >> iconvlib >> -- LYX_EXTERNAL_HUNSPELL = ON : OFF := Build 3rdparty lib >> hunspelllib >> -- LYX_EXTERNAL_MYTHES = OFF : OFF := Build 3rdparty lib >> mytheslib (AUTO OFF ON) >> -- LYX_DMG = OFF : Build as Mac bundle, needed >> for .dmg (experimental) >> -- LYX_COCOA = OFF : Use Cocoa on Mac >> >> Stephan >> >>> >>>> On 8 Sep 2019, at 09:34, Stephan Witt <st.w...@gmx.net> wrote: >>>> >>>> Am 07.09.2019 um 10:14 schrieb pdv <pdvissch...@edpnet.be>: >>>>> >>>>> LyX fails to build on macos (Mojave, CMake, XCode) with the latest commit >>>>> (01ee3bf1f5) with message: >>>>> >>>>> Undefined symbols for architecture x86_64: >>>>> "boost::assertion_failed_msg(char const*, char const*, char const*, char >>>>> const*, long)", referenced from: >>>>> boost::array<unsigned int, 256ul>::operator[](unsigned long) in >>>>> ConverterCache.o >>>>> boost::array<unsigned int, 256ul>::operator[](unsigned long) in >>>>> libfrontend_qt.a(GuiApplication.o) >>>>> boost::array<unsigned int, 256ul>::operator[](unsigned long) in >>>>> libsupport.a(FileName.o) >>>>> boost::array<unsigned int, 256ul>::operator[](unsigned long) in >>>>> libfrontend_qt.a(GuiClipboard.o) >>>>> >>>>> From the boost docs >>>>> (https://www.boost.org/doc/libs/1_68_0/libs/assert/doc/html/assert.html) >>>>> it's clear that boost::assertion_failed_msg() must be defined, ... >>>>> >>>>> If the macro BOOST_ENABLE_ASSERT_HANDLER is defined when >>>>> <boost/assert.hpp> is included, BOOST_ASSERT_MSG(expr,msg) expands to >>>>> >>>>> (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed_msg(#expr, >>>>> msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) >>>>> This is true regardless of whether NDEBUG is defined. >>>>> >>>>> boost::assertion_failed_msg is declared in <boost/assert.hpp> as >>>>> >>>>> namespace boost >>>>> { >>>>> void assertion_failed_msg(char const * expr, char const * msg, >>>>> char const * function, char const * file, long line); >>>>> } >>>>> but it is never defined. The user is expected to supply an appropriate >>>>> definition. >>>>> >>>>> ... which is not the case now, and BOOST_ASSERT_MSG is defined in >>>>> boost::array.hpp. >>>>> >>>>> I've defined the additional function assertion_failed_msg()in boost.cpp >>>>> (patch attached) and this resolves the problem. >>>>> >>>>> Two more remarks: >>>>> >>>>> 1) I don't understand why this problem surfaces now and not earlier; >>>>> >>>>> 2) There are additional definitions of assertion_failed() in >>>>> client/boost.cpp and in tex2lyx/boost.cpp; >>>> >>>> I cannot find the commit 01ee3bf1f5. Is it a local one in your git >>>> checkout? >>>> >>>> I don’t have this problem with neither with automake nor with cmake. >>>> >>>> Stephan