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)
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 >> >> -------------------------------------------------------------------------------------------- >> Patrick De Visschere >> 051/46 70 25 >> Pensionaatstraat 25 >> 8755 Ruiselede >> -------------------------------------------------------------------------------------------- >> >> >> >> > -------------------------------------------------------------------------------------------- Patrick De Visschere 051/46 70 25 Pensionaatstraat 25 8755 Ruiselede --------------------------------------------------------------------------------------------
smime.p7s
Description: S/MIME cryptographic signature