trinity-users@lists.pearsoncomputing.net

Message: previous - next
Month: February 2011

Re: [trinity-users] kdebase iccconfig.cpp make failure - Round 3

From: "David C. Rankin" <drankinatty@...>
Date: Wed, 09 Feb 2011 08:08:40 -0600
On 02/07/2011 08:51 PM, David C. Rankin wrote:
> On 02/07/2011 08:36 PM, David C. Rankin wrote:
>> On 02/07/2011 08:17 PM, David C. Rankin wrote:
>>> [ 30%] Building CXX object
>>> kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o
>>> cd /home/david/tbld/kdebase/src/kcontrol/iccconfig && /usr/bin/c++
>>> -Dkcm_iccconfig_module_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3 -DQT_NO_ASCII_CAST
>>> -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION
>>> -DQT_THREAD_SUPPORT -D_REENTRANT -march=i686 -mtune=generic -O2 -pipe -include
>>> tqt.h -fPIC -I/home/david/tbld/kdebase/src/kcontrol/iccconfig
>>> -I/home/david/tbld/kdebase/src -I/opt/trinity/include -I/opt/qt/include
>>> -I/opt/qt/include/tqt -DKDE_CONFDIR=\"/opt/trinity/share/config\" -o
>>> CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o -c
>>> /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp
>>> /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp: In member function
>>> ‘void KICCConfig::load(bool)’:
>>> /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error:
>>> expected type-specifier
>>> /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error: cannot
>>> convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization
> <snip>
>
> I don't know if this is the problem, but it doesn't look like xrandr is
> providing any pkg-config information. I get nothing returned from the following
> command:
>
> 20:47 trinity:/usr/lib/pkgconfig> pkg-config xrandr --cflags
>
>
> However, the pkg-config information is present for xrandr:
>
> 20:47 trinity:/usr/lib/pkgconfig> cat xrandr.pc
> prefix=/usr
> exec_prefix=${prefix}
> libdir=${exec_prefix}/lib
> includedir=${prefix}/include
>
> Name: Xrandr
> Description: X RandR Library
> Version: 1.3.1
> Requires: xproto randrproto >= 1.3
> Requires.private: x11 xext xrender
> Cflags: -I${includedir}
> Libs: -L${libdir} -lXrandr
>
> Possible problem?
>

     Looking closely at the error:

/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error: 
expected type-specifier
/home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error: cannot 
convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization

it clear that the kdebase build isn't getting the class define of:

   class KRANDR_EXPORT KRandrSimpleAPI : public RandRDisplay
   <snip>

from libkrandr.h. But there question is where and how is this being missed in my 
build of kdebase?

     Looking closely at kdebase/kcontrol/iccconfig/iccconfig.h there seems to be 
a missing iccconfigbase.h file in the iccconfig directory. From iccconfig.h you 
have the following includes:

#include <dcopobject.h>

#include <libkrandr/libkrandr.h>

#include "iccconfigbase.h"

     But looking in the iccconfig directory -- there is no iccconfigbase.h:

07:57 archangel:/dat_e/david/bld/trinity/kdebase/kcontrol/iccconfig> ls -1
CMakeLists.txt
Makefile.am
configure.in.in
iccconfig.cpp
iccconfig.desktop
iccconfig.h
iccconfigbase.ui

     Is this a missing header that is causing my build fail?

-- 
David C. Rankin, J.D., P.E.