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

2019-09-09 Thread Pavel Sanda
On Sun, Sep 08, 2019 at 12:56:44PM -0400, Scott Kostyshak wrote:
> 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,

I'm not sure what exact line of code you are refering to, but in some cases
the same err message get prepended with different strings (like "Natbib 
Warning:")
or similar. Given that I am aware of both prefixIs/contains routines I find
it more likely that contains() was actually needed :)

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

I never worked with biblatex, so feel free to update the code any way you see
fit. If you want me to check it I would need example file(s) how to reproduce
your scenario. In any case it's unlikely I will have time for any coding in the
forthcoming month...

Pavel


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

2019-09-09 Thread pdv

On 08/09/2019 20:47, pdv wrote:

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



That was stupid. Boost is mostly header-only with the regex and signals 
modules being exceptions.


Patrick



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

2019-09-09 Thread pdv

On 09/09/2019 11:49, pdv wrote:

On 08/09/2019 21:12, Jean-Marc Lasgouttes wrote:

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



No problem.

So far I have not found out how I can use macports aspell, magic , ... 
and not boost.


But all I have to do to get macports boost1.71 working is to define the 
missing assertion_failed_msg(). So, it's not really a problem for me.


Patrick



I've realized that in cmake I must specify the header files themselves 
for the external libs, that is

ASPELL_INCLUDE_DIR=/opt/local/include/aspell.h
etc and not just specify the include directory
ASPELL_INCLUDE_DIR=/opt/local/include

The cmake variable name ASPELL_INCLUDE_DIR is somewhat misleading. 
ASPELL_HEADER (like ICONV_HEADER) would be more appropriate.


This solves it.

Patrick


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

2019-09-09 Thread pdv

On 08/09/2019 21:12, Jean-Marc Lasgouttes wrote:

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



No problem.

So far I have not found out how I can use macports aspell, magic , ... 
and not boost.


But all I have to do to get macports boost1.71 working is to define the 
missing assertion_failed_msg(). So, it's not really a problem for me.


Patrick



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

2019-09-09 Thread Patrick De Visschere


> On 9 Sep 2019, at 00:41, Stephan Witt  wrote:
> 
> 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

No :(

I’ve noticed that the XCode compile command contains the "-I/opt/local/include" 
directive; because the “Header Search Paths” is set that way in the project; 
This is inserted by cmake because I use macports aspell and magic.

Patrick




smime.p7s
Description: S/MIME cryptographic signature