On 23 Aug, 2014, at 14:50 , Stephan Witt <st.w...@gmx.net> wrote:

> Am 23.08.2014 um 12:01 schrieb Patrick De Visschere <pdvissch...@edpnet.be>:
> 
>> On 20 Aug, 2014, at 23:15 , Stephan Witt <st.w...@gmx.net> wrote:
>> 
>>> Am 20.08.2014 um 22:45 schrieb Patrick De Visschere <pdvissch...@edpnet.be>:
>>> 
>>>> On 20 Aug, 2014, at 11:22 , Stephan Witt <st.w...@gmx.net> wrote:
>>>> 
>>>>> Am 19.08.2014 um 22:41 schrieb Patrick De Visschere 
>>>>> <pdvissch...@edpnet.be>:
>>>>> 
>>>>>> On 19 Aug, 2014, at 14:12 , Stephan Witt <st.w...@gmx.net> wrote:
>>>>>> 
>>>>>>> Am 17.08.2014 um 20:13 schrieb Patrick De Visschere 
>>>>>>> <pdvissch...@edpnet.be>:
>>>>>> 
>>>>>> My environment
>>>>>> 
>>>>>> * Mac OS X 10.9.4
>>>>>> * Darwin Kernel Version 13.3.0
>>>>>> * Qt 5.3.1 (stable branch) (default Cocoa)
>>>>>> ./configure -opensource -silent -shared -release -no-dbus -nomake 
>>>>>> examples -nomake tools -no-framework
>>>>> 
>>>>> You don't build the libraries as frameworks. I'm not sure if this makes 
>>>>> no difference.
>>>>> 
>>>>> I'm using the Qt frameworks I've build myself.
>>>>> 
>>>>> Stephan
>>>> 
>>>> Stephan,
>>>> 
>>>> I was planning to do that. (the qt-debug build does not make a difference 
>>>> as you expected)
>>>> 
>>>> I suppose you use the LyX-Mac-binary-release.sh script.
>>>> 
>>>> I have never managed to use this script without making changes to it, 
>>>> perhaps because I’m using it the wrong way.
>>>> 
>>>> I build qt as a framework separately and would then use the script like:
>>>> 
>>>> sh development/LyX-Mac-binary-release.sh  --with-qt-frameworks=yes  
>>>> --with-qt-dir=/Users/pdv/Developer/public/Trolltech/Qt-5.3.1 
>>>> --qt-deployment=yes --with-macosx-target=10.8 --with-sdkroot=10.8 
>>>> --with-arch=x86_64 --with-libiconv-prefix=/opt/local --enable-debug
>>>> 
>>>> I think the --with-qt-frameworks=yes is needed to include qt as a 
>>>> framework;
>>>> 
>>>> and --with-qt-dir=/… points to the dir where the  qt-framework has been 
>>>> installed (previously).
>>>> 
>>>> I’m not sure about the exact meaning of --qt-deployment=yes  but I think  
>>>> I need it too.
>>>> 
>>>> What I don’t understand are the lines 260-262
>>>> if [ "${configure_qt_frameworks}" != "yes" ]; then
>>>>    QtInstallDir=${QTDIR:-"/opt/qt4"}
>>>> fi
>>>> 
>>>> with --with-qt-frameworks=yes, QtInstallDir is not set.
>>>> 
>>>> Therefore I uncomment the if/fi so that
>>>> QtInstallDir=${QTDIR:-"/opt/qt4”}
>>>> 
>>>> is always executed and QtInstallDir points to my qt-install dir.
>>>> 
>>>> In addition I must modify some CPPFLAGS= ...
>>>> 
>>>> Any idea what I’m doing wrong?
>>>> 
>>>> Patrick De Visschere
>>> 
>>> Perhaps I should remove the --with-qt-frameworks switch. I don't use it 
>>> anymore
>>> and it was meant as "with the frameworks by Qt (Nokia)". The 
>>> --qt-deployment=yes
>>> is default and with it the script copies the frameworks to the package. 
>>> This is
>>> needed if you want to use the LyX app on another system.
>>> 
>>> I'd avoid the --with-libiconv-prefix=/opt/local switch.
>>> 
>>> This is the shell script I'm using for calling LyX-Mac-binary-release.sh:
>>> 
>>> #!/bin/sh
>>> ARCH=x86_64
>>> QtVersion=5.3.1
>>> QtAPI=-cocoa
>>> LyXVersion=lyx
>>> CC=cc CXX=c++ \
>>> QtConfigureOptions="-debug-and-release" QtAPI=${QtAPI} 
>>> QtVersion=${QtVersion} \
>>> sh ${MKFLAGS} ${LyXVersion}/development/LyX-Mac-binary-release.sh \
>>>  --with-sdkroot=10.8 --with-macosx-target=10.6 --with-arch=${ARCH} \
>>>  --with-qt-dir=/Users/Shared/LyX/qt-${QtVersion}-frameworks${QtAPI}-${ARCH} 
>>> \
>>>  "$@"
>>> 
>>> Stephan
>> 
>> I’ve build LyX+Qt5 with the LyX-Mac-binary-release.sh script and the menubar 
>> appears immediately. Since with XCode I use the macports iconv library that 
>> could still theoretically be the culprit. Or maybe it’s just due to Xcode. 
>> Anyway this is not very important;
>> I tried to build (with Xcode) without aspell and hunspell but somehow cmake 
>> doesn’t want that.
> 
> This is my script to call cmake for Xcode project generation:
> 
> #!/bin/sh
> export PATH="/Users/Shared/LyX/qt-5.3.1-frameworks-cocoa-x86_64/bin:${PATH}"
> LyxSourceDir="$(pwd)/lyx"
> LyxUtilDir="/Users/Shared/LyX/utilities"
> CMAKE_GENERATOR="Xcode"
> LyXVersion=$(grep AC_INIT "${LyxSourceDir}"/configure.ac | cut -d, -f2 | tr 
> -d " ()")
> LyxBuildDir=lyx-build/cmake/"${LyXVersion}"
> if [ -f "${LyxSourceDir}/development/cmake/CMakeLists.txt" ]; then
>   TOPCMAKE="${LyxSourceDir}/development/cmake"
>   COPYRESOURCES="yes"
> else
>   TOPCMAKE="${LyxSourceDir}"
> fi
> rm -rf "${LyxBuildDir}"
> mkdir -p "${LyxBuildDir}"
> 
> case "$(qmake -version)" in
> *Using*5.*)
>   LYX_USE_QT="-DLYX_USE_QT=QT5"
> esac
> 
> SPELLER_OPTIONS="-DASPELL_INCLUDE_DIR=${LyxUtilDir}/include \
>   -DASPELL_LIBRARY_RELEASE=${LyxUtilDir}/lib/libaspell.dylib \
>   -DHUNSPELL_INCLUDE_DIR=${LyxUtilDir}/include \
>   -DHUNSPELL_LIBRARY=${LyxUtilDir}/lib/libhunspell.dylib \
>   -DMagic_INCLUDE_DIR=${LyxUtilDir}/include \
>   -DMagic_LIBRARY=${LyxUtilDir}/lib/libmagic.dylib \
>   -DLYX_ASPELL=ON -DLYX_HUNSPELL=ON"
> (
>   cd "${LyxBuildDir}" && \
>   cmake -G "${CMAKE_GENERATOR}" "${TOPCMAKE}" \
>      -DLYX_NLS=OFF \
>      -DLYX_DEVEL_VERSION=ON -DLYX_DEBUG=ON -DLYX_RELEASE=OFF \
>      -DLYX_DEBUG_GLIBC=OFF -DLYX_DEBUG_GLIBC_PEDANTIC=OFF \
>      -DLYX_PACKAGE_SUFFIX=OFF -DLYX_PROGRAM_SUFFIX=OFF \
>      ${LYX_USE_QT} \
>      ${SPELLER_OPTIONS} \
>      "$@"
> )
> # end of script
> 
> I'm using only self made libraries with Xcode too. Therefore I can work with 
> both environments, Xcode for debugging and autotools for packaging.
> 
>> There were/are still some problems (with the manual build):
>> 
>> 1) Aspell as it is fails to build (on 10.9 I assume). This is easily solved 
>> by applying the small patch used by macports.
>> 
>> 2) I don’t understand how the lyx-build is supposed to find the 
>> Qt5-frameworks; Apparently the switches
>> --enable-qt5 --with-qt-dir=/Users/pdv/Developer/public/Trolltech/Qt-5.3.1
>> are not sufficient.
> 
> I don't use --enable-qt5. I've studiedd the configure script and I think it 
> does the wrong thing on a Mac.
> On a Mac the Qt libraries are not renamed for Qt5, the core framework is 
> named QtCore and not Qt5Core, e.g.
> Perhaps you have to avoid it.

Without —enable-qt5 (and the script as it is) I get this error when configuring
checking for QT_CORE... checking for QT_FRONTEND... checking for X... disabled
checking for Qt library name... failed
configure: error: cannot compile a simple Qt executable. Check you have the 
right $QTDIR.
ERROR: Cannot build and install LyX for x86_64.

When including --enable-qt5 this goes away but still the qt-includes are not 
found.

Once I modify the scripts as below the --enable-qt5 is not needed anymore.

In the configure.log I find this variable
QT_INCLUDES='-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include 
-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include/Qt 
-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include/QtCore 
-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include/QtGui 
-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include/QtWidgets 
-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include/QtConcurrent 
-I/Users/pdv/Developer/public/Trolltech/Qt-5.3.1//include/QtMacExtras’

I don’t understand the // in the paths, but the frameworks are not in the 
include directory.
These paths would make sense if qt was build with -no-framework, which is not 
the case.

> 
>> As before I changed the FLAGS in the script as follows (this is around line 
>> 610 of the script)
>> 
>> if [ "$configure_qt_frameworks" = "yes" ]; then
>>                      export QT_CORE_CFLAGS="-FQtCore"
>>                      export QT_CORE_LIBS="-framework QtCore"
>>                      export QT_FRONTEND_CFLAGS="-FQtGui"
>>                      export QT_FRONTEND_LIBS="-framework QtGui"
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${SDKROOT}/Library/Frameworks/QtCore.framework/Headers"
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${SDKROOT}/Library/Frameworks/QtGui.framework/Headers"
>>              else
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${QtInstallDir}/lib/QtCore.framework/Headers"
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${QtInstallDir}/lib/QtGui.framework/Headers"
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${QtInstallDir}/lib/QtWidgets.framework/Headers"
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${QtInstallDir}/lib/QtMacExtras.framework/Headers"
>>                      CPPFLAGS="${CPPFLAGS} 
>> -I${QtInstallDir}/lib/QtConcurrent.framework/Headers"
>>                      CPPFLAGS="${CPPFLAGS} -F${QtInstallDir}/lib"
>>                      LDFLAGS="-L/usr/lib ${LDFLAGS} -F${QtInstallDir}/lib 
>> -framework QtCore -framework QtGui -framework QtWidgets -framework 
>> QtMacExtras -framework QtConcurrent"
>>              fi
>> 
>> 3) the lyx-build does not find the right iconv library when linking; that 
>> may be because of the /opt/local in my PATH; but even with the switch 
>> --with-libiconv-prefix=/usr it is still not found.
>> Therefore I also had to add -L/usr/lib to the LDFLAGS as you can see above.
> 
> That's not nice. Do you have any other component from /opt/local included? 
> aspell, hunspell or libmagic?

I build aspell and hunspell with the script and although libmagic is installed 
(with macports) configure reports that it cannot find magic.h.

> 
> Stephan


Reply via email to