On Jul 8, 2015, at 9:09 AM, Stephan Witt <st.w...@gmx.net> wrote:

> Am 08.07.2015 um 13:08 schrieb Jerry <lancebo...@qwest.net>:
> 
>> 
>> On Jul 8, 2015, at 3:32 AM, Stephan Witt <st.w...@gmx.net> wrote:
>> 
>>> Am 08.07.2015 um 12:06 schrieb Jerry <lancebo...@qwest.net>:
>>> 
>>>> 
>>>> On Jul 7, 2015, at 10:54 PM, Stephan Witt <st.w...@gmx.net> wrote:
>>>> 
>>>>> Am 08.07.2015 um 01:20 schrieb Jerry <lancebo...@qwest.net>:
>>>>> 
>>>>> This means you didn't add --enable-qt5=yes - but this is only useful for 
>>>>> systems
>>>>> with Qt4 and Qt5 installed side by side (like Linux distros typically do) 
>>>>> and
>>>>> with different names for QtCore et al.
>>>>> 
>>>>> The problem with Qt detection here is the complete ignorance of the 
>>>>> --with-qt-dir
>>>>> command line option given to configure. I don't know how this should work 
>>>>> intentionally
>>>>> but your Qt4 MacPorts Qt-version wins because of the position of 
>>>>> /opt/local/bin in
>>>>> PATH and configure trying to detect Qt with pkg-config with without using 
>>>>> the value
>>>>> given by --with-qt-dir.
>>>>> 
>>>>> Why this doesn't work at the end I don't know - I don't have the MacPorts 
>>>>> Qt package.
>>>>> 
>>>>> Regards, Stephan
>>>>> 
>>>>> PS. I fear, you'll have a long way to go if you want to solve all issues 
>>>>> coming along
>>>>> this route. In case you want to ditch the MacPort route and go for Qt5 - 
>>>>> I tried it with
>>>>> Qt5.5.0 now and this is broken too. They've fixed the issue with RPATH 
>>>>> dyld at runtime
>>>>> lookup of the Qt-frameworks and now the LyX binary aborts on startup 
>>>>> because of this.
>>>>> I have to get a working environment with Qt5.5.0 myself first before I 
>>>>> can tell you
>>>>> the recipe for building LyX this way.
>>>> 
>>>> So I gather that somehow configure is ignoring --with-qt-dir and 
>>>> defaulting to the path precedence. Would it help if I prepended 
>>>> /Applications/Words/LyXOuterFolder/git/qt/Qt_Creator.app/Contents/Frameworks
>>>> to the front of PATH so that it finds Qt5 first?
>>> 
>>> No, I don't think so. IMHO, the problem is in configure using the
>>> /opt/local/bin/pkg-config utility first and trying the given qt-dir
>>> as a fallback only.
>>> 
>>>> I'm not sure I follow everything in your PS. I can use MacPorts to install 
>>>> qt5-mac 5.4.2 (5.5 is not yet available at MacPorts). Is that worth a try 
>>>> while also adding --enable-qt5=yes? (I need to keep MacPorts Qt4 around 
>>>> for other stuff, I assume.)
>>> 
>>> This one I cannot answer. I'd try it probably.
>>> 
>>> But I fear this conflicts with the MacPorts way of doing things.
>>> I'd guess you have to choose the active port of Qt after having
>>> both versions installed and MacPorts will create some links to
>>> the active version for you. I don't know.
>>> 
>>> Regards, Stephan
>> 
>> Hmmm.... It looks like there are activate and deactivate commands for 
>> MacPorts. I don't know how they handle things if one programs wants one 
>> version and another program wants another version. Seems like this wouldn't 
>> be allowed in general but I might get away with playing around for a bit.
> 
> I've put a change in to add the necessary -rpath options to the linker 
> command line.
> These are required to use the self-made Qt5.5.x and probably for the 
> frameworks built by Digia.
> Look at git commit 6e9bd23a1f1888b2022335b2d05a3f770ada935a
> 
> I'm not sure if this is enough to use the Digia frameworks.
> 
> Regards, Stephan
> 
I tried building with your changes. Using the same script as before, errors 
occur as such:

CXXLD    lyx
Undefined symbols for architecture x86_64:
  
"decltype(*(std::__1::forward<lyx::frontend::GuiWorkArea*&>(fp0)).*fp(std::__1::forward<>(fp1)))
 std::__1::__invoke<void (lyx::frontend::GuiWorkArea::*&)(), 
lyx::frontend::GuiWorkArea*&, void>(void (lyx::frontend::GuiWorkArea::*&&&)(), 
lyx::frontend::GuiWorkArea*&&&)", referenced from:
      boost::detail::function::void_function_obj_invoker0<std::__1::__bind<void 
(lyx::frontend::GuiWorkArea::*)(), lyx::frontend::GuiWorkArea*>, 
void>::invoke(boost::detail::function::function_buffer&) in 
liblyxqt4.a(GuiWorkArea.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [lyx] Error 1
make[3]: *** [install-recursive] Error 1
make[2]: *** [install] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install-strip] Error 2

I added --enable-qt5=yes to the configure line and got this:

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.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install-strip'.  Stop.

Jerry

Reply via email to