Am 21.04.2016 um 21:48 schrieb Jean-Marc Lasgouttes <lasgout...@lyx.org>:
> 
> Le 21/04/16 21:22, Scott Kostyshak a écrit :
>> On Thu, Apr 21, 2016 at 03:22:54PM +0200, Stephan Witt wrote:
>>> Am 21.04.2016 um 14:30 schrieb Joel Kulesza <jkule...@gmail.com>:
>>>> 
>>>> I can also reproduce (2.2.0rc1, 10.11.4).
>>>> 
>>>> On Thu, Apr 21, 2016 at 8:17 AM, john kennan <jken...@gmail.com> wrote:
>>>> I can reproduce this (rc1, OS X 10.11.3, also on 10.11.3)
>>>> 
>>>> Open the file, open the view source pane, click on the second line
>>>> 
>>>> 
>>>> <kulesza_viewsource_crash.txt>
>>> 
>>> I can reproduce it too with 2.2.0rc1. But not in Xcode environment and not 
>>> with 2.3.0dev.
>> 
>> Strange so with the same configuration you can produce with 2.2.0rc1 and
>> not with 2.3.0dev? Can you do a bisect?
> 
> It might be that 2.2.0rc1 is a binary prepared by Stephan and 2.3.0dev is 
> self compiled. If libiconv is a system library on OS X, it could changes its 
> API somewhat between Mac OS versions.

IMO the problem is the libstdc++ ...

I’ve installed the published 2.2.0rc1:

$ otool -L /Applications/LyX.app/Contents/MacOS/lyx
/Applications/LyX.app/Contents/MacOS/lyx:
        /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 
(compatibility version 45.0.0, current version 1404.46.0)
        
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
 (compatibility version 1.0.0, current version 48.0.0)
        
@executable_path/../Frameworks/Hunspell.framework/libhunspell-1.3.0.dylib 
(compatibility version 1.0.0, current version 1.0.0)
        @executable_path/../Frameworks/Aspell.framework/libaspell.15.dylib 
(compatibility version 17.0.0, current version 17.5.0)
        /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 
7.0.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 
1.2.5)
        @executable_path/../Frameworks/LibMagic.framework/libmagic.1.dylib 
(compatibility version 2.0.0, current version 2.0.0)
        @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.6.0, 
current version 5.6.0)
        @rpath/QtConcurrent.framework/Versions/5/QtConcurrent (compatibility 
version 5.6.0, current version 5.6.0)
        @rpath/QtSvg.framework/Versions/5/QtSvg (compatibility version 5.6.0, 
current version 5.6.0)
        @rpath/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 
5.6.0, current version 5.6.0)
        @rpath/QtMacExtras.framework/Versions/5/QtMacExtras (compatibility 
version 5.6.0, current version 5.6.0)
        @rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.6.0, 
current version 5.6.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current 
version 104.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1226.10.1)
        
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 
(compatibility version 150.0.0, current version 1258.1.0)
        
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices 
(compatibility version 1.0.0, current version 728.9.0)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 
(compatibility version 300.0.0, current version 1258.0.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 
228.0.0)

Then I’ve prepared a new package for 2.2.0rc1:

$ otool -L /Users/Shared/LyX/lyx-build/LyX-2.2.0rc1.app/Contents/MacOS/lyx
/Users/Shared/LyX/lyx-build/LyX-2.2.0rc1.app/Contents/MacOS/lyx:
        /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 
(compatibility version 45.0.0, current version 1404.46.0)
        
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
 (compatibility version 1.0.0, current version 48.0.0)
        
@executable_path/../Frameworks/Hunspell.framework/libhunspell-1.3.0.dylib 
(compatibility version 1.0.0, current version 1.0.0)
        @executable_path/../Frameworks/Aspell.framework/libaspell.15.dylib 
(compatibility version 17.0.0, current version 17.5.0)
        /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 
7.0.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 
1.2.5)
        @executable_path/../Frameworks/LibMagic.framework/libmagic.1.dylib 
(compatibility version 2.0.0, current version 2.0.0)
        @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.6.0, 
current version 5.6.0)
        @rpath/QtConcurrent.framework/Versions/5/QtConcurrent (compatibility 
version 5.6.0, current version 5.6.0)
        @rpath/QtSvg.framework/Versions/5/QtSvg (compatibility version 5.6.0, 
current version 5.6.0)
        @rpath/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 
5.6.0, current version 5.6.0)
        @rpath/QtMacExtras.framework/Versions/5/QtMacExtras (compatibility 
version 5.6.0, current version 5.6.0)
        @rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.6.0, 
current version 5.6.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
120.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1226.10.1)
        
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 
(compatibility version 150.0.0, current version 1258.1.0)
        
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices 
(compatibility version 1.0.0, current version 728.9.0)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 
(compatibility version 300.0.0, current version 1258.0.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 
228.0.0)

The difference is the c++ library:
 - the erroneous one (the former) uses /usr/lib/libstdc++.6.dylib.
 - the working one (the latter) uses /usr/lib/libc++.1.dylib

With /usr/lib/libc++.1.dylib the crash is gone.

To create the second version of the package I have to switch the compiler flags.
Until now I’ve used --with-macosx-target=10.6 and the default compiler
(with --disable-cxx11 since it was required).

If I try to avoid --disable-cxx11 I’m forced to switch to another compiler.
I’m using CC=cc CXX="c++ -stdlib=libc++“ for configure to achieve it.

Then I have to raise the minimal macosx target with --with-macosx-target=10.7
to avoid this error:
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/Users/Shared/LyX/lyx-build/LyX-2.2.0rc1.build':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details

The complete call to configure now is like that:
CC=cc CXX="c++ -stdlib=libc++“ \
configure --enable-warnings \
 --enable-optimization=-Os --with-x=no --disable-stdlib-debug

I’ve put the new disk image to try it here:

https://dl.dropboxusercontent.com/u/27842660/LyX-2.2.0rc1b%2Bqt5-x86_64-cocoa.dmg
https://dl.dropboxusercontent.com/u/27842660/LyX-2.2.0rc1b%2Bqt5-x86_64-cocoa.dmg.sig

Stephan

Reply via email to