On 02/11/2011 12:46 AM, Timothy Pearson wrote:
On 02/10/2011 10:14 PM, Robert Xu wrote:
I'll look closer, but something tells me I'm not going to get far...
Hehehe...
I'd wager a little look closer by you = weeks of hunting and pecking around by me :) Thanks for your build arguments. I'll rebuild kdelibs and see if I can incorporate a few additional arguments and go from there.
Just for fu, try inserting this line: #include <libkrandr/libkrandr.h>
into this file: kdebase/kcontrol/iccconfig/iccconfig.cpp
directly underneath this line: #include <tqstring.h>
Then try rebuilding kdebase and see if the error changes at all. I have heard that GCC is not supposed to follow includes more than one file deep; if that is prohibiting a successful build then the above modification would fix it.
Let me know if that works!
Tim
<snip> #include <string> #include <stdio.h> #include <tqstring.h>
// test inclusion #include <libkrandr/libkrandr.h>
#include "iccconfig.h"
using namespace std; <snip>
Hmm.. No change. Same 'expected type-specifier' -> cannot convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization error. It is like it is missing code that lets iccconfig.cpp know that ‘KRandrSimpleAPI*’ is an 'int*'. Could we add a type-cast somewhere? If so, where? Here is the error in full:
[ 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:292:38: error: expected type-specifier /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:292:38: error: cannot convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:292:38: error: expected ‘,’ or ‘;’ /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp: In member function ‘virtual void KICCConfig::save()’: /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:362:37: error: expected type-specifier /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:362:37: error: cannot convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization /home/david/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:362:37: error: expected ‘,’ or ‘;’ make[2]: *** [kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o] Error 1 make[2]: Leaving directory `/home/david/tbld/kdebase/src' make[1]: *** [kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/all] Error 2 make[1]: Leaving directory `/home/david/tbld/kdebase/src' make: *** [all] Error 2 Aborting...