Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Stephan Witt
Am 08.09.2019 um 22:44 schrieb Patrick De Visschere :
> 
> 
> 
>> On 8 Sep 2019, at 21:03, Stephan Witt  wrote:
>> 
>> Am 08.09.2019 um 20:47 schrieb pdv :
>>> 
>>> On 08/09/2019 17:47, Kornel Benko wrote:
 Am Sonntag, 8. September 2019, 14:14:15 CEST schrieb Patrick De Visschere:
> 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.
> 
> 
 There isn't any, if you don't use GCC. See CMakeLists.txt:162
Kornel
>>> 
>>> XCode uses clang and I believe that indeed the internal (3thparty) boost is 
>>> used. But this contains only the regex (and signals) source code, besides 
>>> (all) the headers. The code involved #includes  and I 
>>> suppose this code is found in the system (macports) boost.
>> 
>> I have it in lyx/3rdparty/boost/boost/crc.hpp …
>> 
>> Stephan
> 
> Me too. But XCode picks up the one in macports.
> 
> And  there is no source code (crc.cpp) or no lib to link with.

I’m using a build script for cmake Xcode project generation. It contains:

XCODE_SDK_PATH=${SDKROOT:-$(xcrun --show-sdk-path)}
echo Using SDK ${XCODE_SDK_PATH}
cmake … \
-DCMAKE_SYSTEM_PREFIX_PATH="/usr;${XCODE_SDK_PATH}/usr“
… 

Does it do the trick for you?

Stephan

Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Patrick De Visschere


> On 8 Sep 2019, at 21:03, Stephan Witt  wrote:
> 
> Am 08.09.2019 um 20:47 schrieb pdv :
>> 
>> On 08/09/2019 17:47, Kornel Benko wrote:
>>> Am Sonntag, 8. September 2019, 14:14:15 CEST schrieb Patrick De Visschere:
 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.
 
 
>>> There isn't any, if you don't use GCC. See CMakeLists.txt:162
>>> Kornel
>> 
>> XCode uses clang and I believe that indeed the internal (3thparty) boost is 
>> used. But this contains only the regex (and signals) source code, besides 
>> (all) the headers. The code involved #includes  and I suppose 
>> this code is found in the system (macports) boost.
> 
> I have it in lyx/3rdparty/boost/boost/crc.hpp …
> 
> Stephan

Me too. But XCode picks up the one in macports.

And  there is no source code (crc.cpp) or no lib to link with.

Patrick



smime.p7s
Description: S/MIME cryptographic signature


Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Jean-Marc Lasgouttes

Le 08/09/2019 à 14:14, Patrick De Visschere a écrit :
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.


I had started to update our boost to 1.70, but I gave up because of 
issues related to this and having other things to do with my time.


I will have to try again.

Patrick, you should be able to force LyX to use the included boost versions.

JMarc


Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Stephan Witt
Am 08.09.2019 um 20:47 schrieb pdv :
> 
> On 08/09/2019 17:47, Kornel Benko wrote:
>> Am Sonntag, 8. September 2019, 14:14:15 CEST schrieb Patrick De Visschere:
>>> 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.
>>> 
>>> 
>> There isn't any, if you don't use GCC. See CMakeLists.txt:162
>>  Kornel
> 
> XCode uses clang and I believe that indeed the internal (3thparty) boost is 
> used. But this contains only the regex (and signals) source code, besides 
> (all) the headers. The code involved #includes  and I suppose 
> this code is found in the system (macports) boost.

I have it in lyx/3rdparty/boost/boost/crc.hpp …

Stephan

Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread pdv

On 08/09/2019 17:47, Kornel Benko wrote:

Am Sonntag, 8. September 2019, 14:14:15 CEST schrieb Patrick De Visschere:

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.




There isn't any, if you don't use GCC. See CMakeLists.txt:162

Kornel



XCode uses clang and I believe that indeed the internal (3thparty) boost 
is used. But this contains only the regex (and signals) source code, 
besides (all) the headers. The code involved #includes  
and I suppose this code is found in the system (macports) boost.


Patrick



Re: [LyX/master] Start reporting missing citations and broken references in LaTeX build.

2019-09-08 Thread Scott Kostyshak
On Fri, Jun 07, 2019 at 05:05:20PM +0200, Pavel Sanda wrote:
> commit bf99ece7366ad479458b3cecb067341a3320286a
> Author: Pavel Sanda 
> Date:   Fri Jun 7 16:47:04 2019 +0200
> 
> Start reporting missing citations and broken references in LaTeX build.
> 
> Now we report these in the same way as LaTeX errors (but let the user to
> see the result anyway). It remains to be shown much is this disturbing
> to users. Generally, ignoring these is not a good idea, because they are
> harder to manually spot in longer documents.
> 
> The details of reported error varies because log linebreaks at 90
> induced by pdflatex make log harder to parse.
> The committed code is more robust than previous, in which some missing
> cits/refs with long keys would go unnoticed.
> 
> Tested on bibtex and natbib.
> 
> https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg208912.html

Thanks for your work on this, Pavel!

A couple of comments:

1. Would it be more efficient to use "prefixIs()" instead of
"contains()"? Are you concerned that for some older versions there is
white space at the beginning of the line? Since this is a new feature,
perhaps we could accept a 1% chance of risk that the more strict
prefixIs() would not match certain versions of output for the sake of
long-run efficiency? I don't actually know whether it is a 1% chance or
a 50% chance, but perhaps someone else has an idea. Or perhaps the
concern is related to the comments about the log breaking lines in
arbitrary places?

2. I think we can extend this to work with biblatex. For example,
currently if there is a citation of multiple keys, if one of the keys is
undefined, there is no error. There is no instance of "There were
undefined citations" in the log file. Instead, the following is in the
.log file:

   Package biblatex Warning: The following entry could not be found
   (biblatex)in the database:
   (biblatex)abc123
   (biblatex)Please verify the spelling and rerun
   (biblatex)LaTeX afterwards.

The attached patch fixes this partly. It gives an error, but it does not
specify the name of the missing key in the log file. If you think you
can extend the patch to also report the missing key in the log file,
please go ahead (I'm not interested in spending more time on this at the
moment). Otherwise, should I at least commit this attached patch? I can
change the prefixIs() to contains() if you prefer.

Scott
From ed60ad522f41e7d32697d2e67d5c1bf72f6f917d Mon Sep 17 00:00:00 2001
From: Scott Kostyshak 
Date: Sun, 8 Sep 2019 11:43:29 -0400
Subject: [PATCH] Catch undefined citations with Biblatex

This catches situations when one key in a multi-key citation is not
defined.
---
 src/LaTeX.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index 4096ca9f63..5cb5df4c78 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -781,7 +781,8 @@ int LaTeX::scanLogFile(TeXErrors & terr)
 		//TODO: TL 2020 engines will contain new commandline switch --cnf-line which we  
 		//can use to set max_print_line variable for appropriate length and detect all
 		//errors correctly.
-		if (contains(token, "There were undefined citations."))
+		if (contains(token, "There were undefined citations.") ||
+		prefixIs(token, "Package biblatex Warning: The following entry could not be found"))
 			retval |= UNDEF_CIT;
 
 		if (prefixIs(token, "LaTeX Warning:") ||
-- 
2.20.1



signature.asc
Description: PGP signature


Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Stephan Witt
Am 08.09.2019 um 14:14 schrieb Patrick De Visschere :
> 
> 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  wrote:
>> 
>> Am 08.09.2019 um 10:02 schrieb Patrick De Visschere :
>>> 
>>> 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 

Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Kornel Benko
Am Sonntag, 8. September 2019, 14:14:15 CEST schrieb Patrick De Visschere:
> 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.
> 
> 

There isn't any, if you don't use GCC. See CMakeLists.txt:162

Kornel

signature.asc
Description: This is a digitally signed message part.


Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Patrick De Visschere
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  wrote:
> 
> Am 08.09.2019 um 10:02 schrieb Patrick De Visschere :
>> 
>> 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 

Re: LinkBack support (on MacOS)

2019-09-08 Thread Stephan Witt
Am 25.09.2018 um 17:21 schrieb Stephan Witt :
> 
> Am 25.09.2018 um 17:10 schrieb Jürgen Spitzmüller :
>> 
>> Am Freitag, den 21.09.2018, 15:55 +0200 schrieb pdv:
>>> I came across a deprecated call in the LinkBack code, and discovered 
>>> that LinkBack acctually doesn't work (anymore).
>>> Apparently nobody uses this?
>> 
>> Apparently. I only found this 8 year old bug related to LinkBack:
>> https://www.lyx.org/trac/ticket/6961
>> 
>> 
>>> When the pasteboard contains linkback-data lyx saves the pdf-data + 
>>> linkback-data in a file with the .linkback extension and adds the
>>> size 
>>> of the pdf-data as a uint32.
>>> 
>>> When reading/rewriting back the size it's converted with 
>>> NSSwapBigLongToHost() and NSSwapHostLongToBig() calls.
>>> 
>>> I suppose that the "Long" refers to 8 bytes.
>>> 
>>> Replacing the calls by the similar "Int" calls solves the problem.
>>> 
>>> LinkBack then works with LateXiT and with Omnigraffle.
>>> 
>>> Enclosed is a patch for this and for replacing the deprecated call.
>> 
>> Alas, I know nothing of this. Stephan?
> 
> I’ll see if I can find the time.

I’ve applied the patch and have no problem. I didn’t do the real test with 
linkback-data.
I don’t have Omnigraffle an my system.

The change from NSSwapBigLongToHost to NSSwapBigIntToHost is 100% correct.
I’ll commit to master. Thank you Patrick for fixing this bug.

Stephan

Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Stephan Witt
Am 08.09.2019 um 10:02 schrieb Patrick De Visschere :
> 
> 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  wrote:
>> 
>> Am 07.09.2019 um 10:14 schrieb pdv :
>>> 
>>> 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::operator[](unsigned long) in 
>>> ConverterCache.o
>>> boost::array::operator[](unsigned long) in 
>>> libfrontend_qt.a(GuiApplication.o)
>>> boost::array::operator[](unsigned long) in 
>>> libsupport.a(FileName.o)
>>> boost::array::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  
>>> 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  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 

Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Patrick De Visschere
Sorry, mistyped the last “f”: it should have been 01ee3bf1e5, the master branch 
on 5 sept.

> On 8 Sep 2019, at 09:34, Stephan Witt  wrote:
> 
> Am 07.09.2019 um 10:14 schrieb pdv :
>> 
>> 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::operator[](unsigned long) in 
>> ConverterCache.o
>> boost::array::operator[](unsigned long) in 
>> libfrontend_qt.a(GuiApplication.o)
>> boost::array::operator[](unsigned long) in 
>> libsupport.a(FileName.o)
>> boost::array::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  
>> 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  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







smime.p7s
Description: S/MIME cryptographic signature


Re: linking error due to missing boost::assertion_failed_msg()

2019-09-08 Thread Stephan Witt
Am 07.09.2019 um 10:14 schrieb pdv :
> 
> 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::operator[](unsigned long) in 
> ConverterCache.o
>  boost::array::operator[](unsigned long) in 
> libfrontend_qt.a(GuiApplication.o)
>  boost::array::operator[](unsigned long) in 
> libsupport.a(FileName.o)
>  boost::array::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  
> 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  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