LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   How to debug undefined reference to library function (yad 0.5.1)? (https://www.linuxquestions.org/questions/linux-software-2/how-to-debug-undefined-reference-to-library-function-yad-0-5-1-a-838294/)

catkin 10-15-2010 09:46 AM

How to debug undefined reference to library function (yad 0.5.1)?
 
Hello :-)

I'd like to learn debugging techniques as much as to solve this particular problem.

While trying to build yad 0.5.1:
Code:

yad-notification.o: In function `yad_notification_run':
/tmp/yad-0.5.1/src/notification.c:330: undefined reference to `gtk_status_icon_set_tooltip_text'

According to the source package's README file, "Yad depends on gtk+ only. Minimal gtk+ version is 2.12.0". I checked /var/log/packages and found gtk+2-2.14.7-i486-4 is installed.

Inspecting /tmp/yad-0.5.1/src/notification.c showed that gtk_status_icon_set_tooltip_text is a function. So it should be declared in the gtk+2-2.14.7 header files (or not?).

Checking:
Code:

c@CW8:/usr/include/gtk-2.0$ find . -name '*.h' -exec grep gtk_status_icon_set_tooltip_text {} \;
[no output]

Is this enough analysis to justify reporting an issue? Is there any more I can do before logging an issue?

OS: Slackware 13.0 32-bit.
yad download: http://code.google.com/p/yad/downloa...ar.xz&can=2&q=

The downloaded package checksums OK. Netsearching for gtk_status_icon_set_tooltip_text finds no pages.

Best

Charles

Valery Reznic 10-16-2010 12:18 AM

Quote:

Originally Posted by catkin (Post 4128569)
Hello :-)

I'd like to learn debugging techniques as much as to solve this particular problem.

While trying to build yad 0.5.1:
Code:

yad-notification.o: In function `yad_notification_run':
/tmp/yad-0.5.1/src/notification.c:330: undefined reference to `gtk_status_icon_set_tooltip_text'

According to the source package's README file, "Yad depends on gtk+ only. Minimal gtk+ version is 2.12.0". I checked /var/log/packages and found gtk+2-2.14.7-i486-4 is installed.

Inspecting /tmp/yad-0.5.1/src/notification.c showed that gtk_status_icon_set_tooltip_text is a function. So it should be declared in the gtk+2-2.14.7 header files (or not?).

Checking:
Code:

c@CW8:/usr/include/gtk-2.0$ find . -name '*.h' -exec grep gtk_status_icon_set_tooltip_text {} \;
[no output]

Is this enough analysis to justify reporting an issue? Is there any more I can do before logging an issue?

OS: Slackware 13.0 32-bit.
yad download: http://code.google.com/p/yad/downloa...ar.xz&can=2&q=

The downloaded package checksums OK. Netsearching for gtk_status_icon_set_tooltip_text finds no pages.

Best

Charles

If yad claim that minimal version of GTK is X, it's mean following:
1. Yad for sure will not compile/run with GTK version < X
2. Yad should compile and run with GTK version == X
3. Yad may be will compile and run with GTK version > X - as long as
there is no backward incompatible changes in the new version of GTK, like renaming functions, changing it's signatures, etc

You can look in gtk realease notes what changed between minimal GTK version and version you have - may be it'll give you idea.

catkin 10-16-2010 08:31 AM

Thanks Valery :-)

The release notes were in /usr/doc/gtk+-2.14.7/NEWS. I could find nothing apparently related so submitted a yad issue.

catkin 10-17-2010 07:08 AM

Solved. It was caused by gtk+ version differences and the yad maintainer Victor Ananjevsky has fixed it now in notification.c r155. Victor is so fast!


All times are GMT -5. The time now is 04:06 PM.