On 16-11-2014 03:02, Bruce Dubbs wrote:
> Bruce Dubbs wrote:
>> Bruce Dubbs wrote:
>>> Bruce Dubbs wrote:
>>>> Fernando de Oliveira wrote:
>>>
>>>>>>>>>>> Three results:
>>>>>>>>>>>
>>>>>>>>>>> 1. Build with boost-1.57.0 fails
>>>
>>>>> $ ls -lrt /usr/lib/libboost*
>>>>>
>>>>> and
>>>>>
>>>>> $ ls -lt /usr/lib/libboost*
>>>>>
>>>>> will display the files installed at different occasions.
>>>>>
>>>>> To have an idea of the difference between the two install, first

s/install/installs/

>>>>> 1.56.0
>>>>> and second 1.57.0, I created two time stamps, one for when 1.56.0 was
>>>>> installed, other, respectively, for 1.57.0:
>>>>>
>>>>> $ ls -l /tmp/foo*
>>>>> -rw-rw-r-- 1 fernando fernando 0 Nov 15 08:27 /tmp/foo
>>>>> -rw-rw-r-- 1 fernando fernando 0 Nov 15 08:23 /tmp/foo0
>>>>> $ sudo find /usr/ -newer /tmp/foo | wc -l
>>>>> 238
>>>>> $ sudo find /usr/ -newer /tmp/foo0 -not -newer /tmp/foo | wc -l
>>>>> 5687
>>>>>
>>>>> One of the 238 files is /usr/src/packages.log, so
>>>>>
>>>>> after boost-1.56.0 installed 5687 files, boost-1.57.0 only installed
>>>>> 237
>>>>> files.
>>>>
>>>> I'll look at it, but it may not be today.
>>>
>>> OK, I deleted /usr/include/boost and /usr/lib/libboost* and reinstalled
>>> boost-1.57
>>>
>>> I DID duplicate the problem at exactly the same place as your log
>>> showed.  Investigating...
>>
>> I think it is a Qt bug in the moc program.  The Meta Object Compiler
>> generates .cpp programs that link events and actions (called SLOTs and
>> SIGNALs in Qt).  moc is not parsing the boost include files properly.
>>
>> https://bugreports.qt-project.org/browse/QTBUG-22829
>>
>> That bug is from 2011 and they say it's closed, but that's what I think
>> the problem is for boost-1.57.
>>
>> It's really hard to see what make is doing.  There are numerous errors
>> like:
>>
>> AUTOGEN: error: process for
>> /tmp/kdepim/kdepim-4.14.3/build/kleopatra/tabwidget.moc failed:
>> usr/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse
>> error at "BOOST_JOIN"
>>
>> Now why the first / is missing and the last p from
>> has_binary_operator.hpp, I have no idea.
>>
>> I tried a couple of work-arounds suggested, but couldn't get it to
>> work.

I forgot this, and after hours, remembered having a log with --debug=v,
from yesterday. Found it and immediately remembered.

Found a workaround at

https://stackoverflow.com/questions/15455178/qt4-cgal-parse-error-at-boost-join

and did it:

$ diff -Naur \
/usr/include/boost/type_traits/detail/has_binary_operator.hpp.orig \
/usr/include/boost/type_traits/detail/has_binary_operator.hpp
--- /usr/include/boost/type_traits/detail/has_binary_operator.hpp.orig
2014-11-16 07:56:40.753957943 -0300
+++ /usr/include/boost/type_traits/detail/has_binary_operator.hpp
2014-11-16 09:45:26.592428087 -0300
@@ -5,7 +5,7 @@
 //  http://www.boost.org/LICENSE_1_0.txt).
 //
 //  See http://www.boost.org/libs/type_traits for most recent version
including documentation.
-
+#ifndef Q_MOC_RUN
 #include <boost/config.hpp>
 #include <boost/type_traits/ice.hpp>
 #include <boost/type_traits/integral_constant.hpp>
@@ -227,3 +227,4 @@
 #endif

 #include <boost/type_traits/detail/bool_trait_undef.hpp>
+#endif

Now it builds successfully.

No idea how hurtful this is for the system and for kdepim. That is why I
don't state I have the solution.

The original header is identical to the one of boost-1.46.0:

$ diff -Naur \
boost_1_57_0/boost/type_traits/detail/has_binary_operator.hpp \
boost_1_56_0/boost/type_traits/detail/has_binary_operator.hpp
$

>>
>> I'm beginning to think that we do need to revert back to boost-1.56, at
>> least until this problem is solved.
> 
> Well a little more progress.  The problem is limited to kleopatra.
> I was able to build without errors and with boost-1.57 with:
> 
> 
>    cmake -DCMAKE_INSTALL_PREFIX=$KDE_PREFIX \
>          -DSYSCONF_INSTALL_DIR=/etc         \
>          -DCMAKE_BUILD_TYPE=Release         \
>          -DBUILD_kleopatra:BOOL=OFF         \
>          -Wno-dev ..

I had sent this result to you before :-(. No complaint, I also forgot
what you wrote above.

Also only remembered today Armin's suggestion (apologies and thanks)

-DKDE4_BUILD_TESTS=OFF

I used it with

-DKDEPIM_BUILD_MOBILE=OFF

But no success.

Think we should include this and Armin's suggestion to all KDE. But you
KDE users and maintainers know better than me.

Now, I will see what happens with the rest of KDE, while I wait opinions
about that workaround.

-- 
[]s,
Fernando
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to