Am 21.04.2016 um 21:48 schrieb Jean-Marc Lasgouttes <[email protected]>:
>
> 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 <[email protected]>:
>>>>
>>>> I can also reproduce (2.2.0rc1, 10.11.4).
>>>>
>>>> On Thu, Apr 21, 2016 at 8:17 AM, john kennan <[email protected]> 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