Build cairo-dock from src - underfined references to GTK_WIDGET_REALIZED, GTK_WIDGET_NO_WINDOW

Since I could not find the cairo dock package on packman for openSUSE 11.3, I decided to build the package from source.

I ran the configure script first and then gave a build using make.

I get undefined reference errors for the following symbols while linking.

/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/libgtkglext-x11-1.0.so: undefined reference to `GTK_WIDGET_REALIZED'
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/libgtkglext-x11-1.0.so: undefined reference to `GTK_WIDGET_NO_WINDOW'

I searched on google for this error message, but couldn’t find any useful pointers other than the fact that these symbols could be deprecated. If that is the case I should have got a compiler error, why just a linker error ?

Any pointers would be helpful.

Thanks

Hello people.

I had the same problem with cairo-dock in my brand new lol! openSuse 11.3.
Well, i solved it uninstalling the original library gtkglext-1.2.0-182.1, and instead I had to download an old version from here: RPM Search OpenSuSE gtkglext-devel-1.2.0-141.37.x86_64.rpm.
Once done, I did run the commands:
./configure
./make
sudo make install

And it works like a charm!

I hope I help you.

rotfl!Bye.

Thanks… Installing gtkglext and gtkglext-devel RPMs for 1.2.0-141.37 version (from rpm.pbone.net search results) did the trick…

Though I ended up with compilation errors for one of the plugins… :
It was a one line change in C-code to fix it - so finally have got my cairo-dock running… :slight_smile: AWN is nowhere close to cairo-dock :smiley:

Also switched my DE from KDE to gnome with gnome-shell - so really useful with the dock to see my list of running apps easily… :slight_smile:

Just if anyone else faced a similar issue as me:

In the file mail/src/cd-mail-applet-etpan.c and line number 266

Change this sequence of lines:


	if( !pUpdatedMailAccount ) return TRUE;
	CD_APPLET_ENTER;
 	CairoDockModuleInstance *myApplet = pUpdatedMailAccount->pAppletInstance;

to:

	if( !pUpdatedMailAccount ) return TRUE;
 	CairoDockModuleInstance *myApplet = pUpdatedMailAccount->pAppletInstance;
	CD_APPLET_ENTER;

Basically nothing but swapping the two lines…

I also had one more problem - my /usr/lib/libGL.so was getting picked up by the linker for some reason although I had the 64-bit libraries in /usr/lib64 directory. I then had to replace all instances of -L/usr/lib to -L/usr/lib64 in all the makefiles of the cairo dock plugins… There could have been an easier fix - but I didn’t have the patience to figure that out - as a grep | cut | xargs vim and a search and replace in vim - was easier for me :smiley: