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

Reply via email to