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