xpad won't compile

Bug #1531973 reported by Greg Fitzgerald
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Xpad
Invalid
Undecided
Unassigned

Bug Description

Trying to compile xpad 4.6.0, but it gives the following error.

gcc -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wno-deprecated-declarations -pthread -I/usr/include/gtksourceview-3.0 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DDATADIR=\"/usr/local/share\" -g -O2 -o xpad fio.o help.o prefix.o xpad-app.o xpad-grip-tool-item.o xpad-pad.o xpad-pad-group.o xpad-pad-properties.o xpad-periodic.o xpad-preferences.o xpad-session-manager.o xpad-settings.o xpad-text-buffer.o xpad-text-view.o xpad-toolbar.o xpad-tray.o xpad-undo.o -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
xpad-session-manager.o: In function `xpad_session_manager_ice_connection_watch':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:179: undefined reference to `IceConnectionNumber'
xpad-session-manager.o: In function `xpad_session_manager_set_properties':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:276: undefined reference to `SmcSetProperties'
xpad-session-manager.o: In function `xpad_session_manager_save_yourself':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:390: undefined reference to `SmcSaveYourselfDone'
xpad-session-manager.o: In function `xpad_session_manager_start_interact':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:147: undefined reference to `SmcInteractRequest'
xpad-session-manager.o: In function `xpad_session_manager_shutdown':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:345: undefined reference to `SmcCloseConnection'
xpad-session-manager.o: In function `xpad_session_manager_init':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:305: undefined reference to `SmcOpenConnection'
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:314: undefined reference to `IceAddConnectionWatch'
xpad-session-manager.o: In function `xpad_session_manager_cycle':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:68: undefined reference to `SmcGetIceConnection'
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:70: undefined reference to `IceProcessMessages'
xpad-session-manager.o: In function `xpad_session_manager_stop_interact':
/home/gregf/xpad-4.6.0/src/xpad-session-manager.c:168: undefined reference to `SmcInteractDone'
collect2: error: ld returned 1 exit status
Makefile:406: recipe for target 'xpad' failed
make[2]: *** [xpad] Error 1
make[2]: Leaving directory '/home/gregf/xpad-4.6.0/src'
Makefile:490: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/gregf/xpad-4.6.0'
Makefile:389: recipe for target 'all' failed
make: *** [all] Error

Revision history for this message
Arthur Borsboom (arthurborsboom) wrote :

Although not sure, I am guessing that the X11 libraries ICE and SM (libsm and libice) cannot be found on your system.

Can you confirm that this is the case?
What OS are you using?

If so, then the configure script needs to be extended with a check for this / these libraries.

Revision history for this message
Greg Fitzgerald (wln2qp5ozl9-greg) wrote :

I have both SM and ICE installed. I'm using void linux, actually trying to create a package.

Revision history for this message
Arthur Borsboom (arthurborsboom) wrote :

Alright... well I guess this item needs a bit of debugging to get to the root cause.

In my system I only have 1 SMlib.h file which I found by

arthur@z97:~/Development/xpad/src$ sudo find / -name 'SMlib.h'
/usr/include/X11/SM/SMlib.h
arthur@z97:~/Development/xpad/src$

If you have multiple files, this might be a cause.

After this I verified that in this header file, the undefined references such as SmcGetIceConnection or SmcOpenConnection, should be in this file.

On my system (Arch Linux) the libsm package is version 1.2.2

Does this give any pointers, why it doesn't build?

Revision history for this message
Greg Fitzgerald (wln2qp5ozl9-greg) wrote :

I'm using void linux (voidlinux.eu). I only found one copy of SMlib.h here /usr/include/X11/SM/SMlib.h. I opened the header file and SmcGetIceConnection and SmcOpenConnection are defined in the file.

I have the following installed

[*] libSM-1.2.2_2 X Session Management Library
[*] libSM-devel-1.2.2_2 X Session Management Library - development files

[*] libICE-1.0.9_1 Inter Client Exchange (ICE) library for X
[*] libICE-devel-1.0.9_1 Inter Client Exchange (ICE) library for X - development files

Revision history for this message
Arthur Borsboom (arthurborsboom) wrote : Re: [Bug 1531973] Re: xpad won't compile
Download full text (7.3 KiB)

Okay, so we have the same library versions. They both have the definitions
and they same to be in the same place.
This seems to be the wrong path. :)

Apparently the link-command you have deviates from the one I have:

gcc -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
-I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
-I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/freetype2
-I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2
-I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16
-I/usr/include/gdk-pixbuf-2.0
-I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
 -Wno-deprecated-declarations -pthread -I/usr/include/gtksourceview-3.0
-I/usr/include/libxml2
-I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
-I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
-I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0
-I/usr/include/gio-unix-2.0/
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng16
-I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/harfbuzz
-I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/libpng16
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-DDATADIR=\"/usr/local/share\" -g -O2 -o xpad fio.o help.o prefix.o
xpad-app.o xpad-grip-tool-item.o xpad-pad.o xpad-pad-group.o
xpad-pad-properties.o xpad-periodic.o xpad-preferences.o
xpad-session-manager.o xpad-settings.o xpad-text-buffer.o xpad-text-view.o
xpad-toolbar.o xpad-tray.o xpad-undo.o -lSM -lICE
-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject
-lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
-lgtksourceview-3.0 -lgtk-3 -lgdk-3
-lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo
-lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

Do you notice the -lSM and -lICE ?

So the question is, why does my link statement contain these and yours
doesn't?

On 7 January 2016 at 23:17, Greg Fitzgerald <email address hidden> wrote:

> I'm using void linux (voidlinux.eu). I only found one copy of SMlib.h
> here /usr/include/X11/SM/SMlib.h. I opened the header file and
> SmcGetIceConnection and SmcOpenConnection are defined in the file.
>
> I have the following installed
>
> [*] libSM-1.2.2_2 X Session Management Library
> [*] libSM-devel-1.2.2_2 X Session Management Library -
> development files
>
> [*] libICE-1.0.9_1 Inter Client Exchange (ICE) library for X
> [*] libICE-devel-1.0.9_1 Inter Client Exchange (ICE) library for X -
> development files
>
> --
> You received this bug notification because you are subscribed to Xpad.
> Matching subscriptions: Arthur Borsboom
> https://bugs.launchpad.net/bugs/1531973
>
> Title:
> xpad won't compile
>
> Status in Xpad:
> New
>
> Bug description:
> Trying to compile xpad 4.6.0, but it gives the following error.
>
> gcc -pthread -I/usr/include/gtk-3.0 -I/usr/inc...

Read more...

Revision history for this message
Greg Fitzgerald (wln2qp5ozl9-greg) wrote :

I figured out the issue. When I downloaded xpad and first ran make I was missing libICE and libSM. It gave me a error I installed the dependencies, ran make clean & make again. That's when I got the error I pasted above.

Last night I went to look at it again and I had deleted the directory. So I extracted the file again and started fresh and it worked. So I think there may have been some kind of cache issue? I'm not entirely sure.

Revision history for this message
Arthur Borsboom (arthurborsboom) wrote :
Download full text (5.2 KiB)

After running the autogen.sh the configure file is created, probably
containing the references to the dependencies.

I would expect configure complaining about the missing libraries when
running, so there is still a vague spot in there.

Nevertheless, i am happy you have been able to compile it after all.

Maybe you can ads it to the void linux repository somehow?

Sent from my phone
On 8 Jan 2016 17:25, "Greg Fitzgerald" <email address hidden> wrote:

> I figured out the issue. When I downloaded xpad and first ran make I was
> missing libICE and libSM. It gave me a error I installed the
> dependencies, ran make clean & make again. That's when I got the error I
> pasted above.
>
> Last night I went to look at it again and I had deleted the directory.
> So I extracted the file again and started fresh and it worked. So I
> think there may have been some kind of cache issue? I'm not entirely
> sure.
>
> --
> You received this bug notification because you are subscribed to Xpad.
> Matching subscriptions: Arthur Borsboom
> https://bugs.launchpad.net/bugs/1531973
>
> Title:
> xpad won't compile
>
> Status in Xpad:
> New
>
> Bug description:
> Trying to compile xpad 4.6.0, but it gives the following error.
>
> gcc -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
> -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
> -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0
> -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0
> -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0
> -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2
> -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libdrm
> -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
> -I/usr/include/libpng16 -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -Wno-deprecated-declarations -pthread
> -I/usr/include/gtksourceview-3.0 -I/usr/include/libxml2
> -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
> -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
> -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0
> -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0
> -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0
> -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2
> -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libdrm
> -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
> -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
> -DDATADIR=\"/usr/local/share\" -g -O2 -o xpad fio.o help.o prefix.o
> xpad-app.o xpad-grip-tool-item.o xpad-pad.o xpad-pad-group.o
> xpad-pad-properties.o xpad-periodic.o xpad-preferences.o
> xpad-session-manager.o xpad-settings.o xpad-text-buffer.o xpad-text-view.o
> xpad-toolbar.o xpad-tray.o xpad-undo.o -lgtk-3 -lgdk-3 -lpangocairo-1.0
> -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0
> -lgobject-2.0 -lglib-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3
> -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo
> -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
> xpad-session-manager.o: In function
> `xpad_session_manager_ice_connection_...

Read more...

Changed in xpad:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.