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
--------------------------------------------------------------------------------------------




Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to