guile-gnome-platform build failure on hppa

View: New views
13 Messages — Rating Filter:   Alert me  

guile-gnome-platform build failure on hppa

by Moritz Muehlenhoff :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
Carlos asked for hppa-specific build failures. Here's one:

guile-gnome-platform fails to build only on hppa with a
test suite failure wrt dynamic linking:
https://buildd.debian.org/fetch.cgi?pkg=guile-gnome-platform;ver=2.16.1-2;arch=hppa;stamp=1247368219

Please keep me CCed, I'm not subscribed.

Cheers,
        Moritz


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 13, 2009 at 1:32 PM, Moritz Muehlenhoff<jmm@...> wrote:
> Carlos asked for hppa-specific build failures. Here's one:
>
> guile-gnome-platform fails to build only on hppa with a
> test suite failure wrt dynamic linking:
> https://buildd.debian.org/fetch.cgi?pkg=guile-gnome-platform;ver=2.16.1-2;arch=hppa;stamp=1247368219
>
> Please keep me CCed, I'm not subscribed.

The testsuite failed with:
~~~
test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)

1 run, 1 failed
~~~

The guile-gnome-platform testsuite is trying to load the DSO
libgw-guile-gnome-gtk.so.

IIUC the guile-gnome-platform build should have just created this DSO,
since guile-gnome-platform builds guile-gnome2-gtk, so I don't know
why it failed.

I have an sbuild running to reproduce the failure.

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 13, 2009 at 2:39 PM, Carlos O'Donell<carlos@...> wrote:
> I have an sbuild running to reproduce the failure.

I can reproduce the failure. I'm looking into how dev-environ sets the
appropriate lookup paths for recently build libraries. It looks like
something somewhere is missing the path to libgw-guile-gnome-gtk.so.

I assume this is an hppa specific failure?

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Moritz Muehlenhoff :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 13, 2009 at 05:19:06PM -0400, Carlos O'Donell wrote:
> On Mon, Jul 13, 2009 at 2:39 PM, Carlos O'Donell<carlos@...> wrote:
> > I have an sbuild running to reproduce the failure.
>
> I can reproduce the failure. I'm looking into how dev-environ sets the
> appropriate lookup paths for recently build libraries. It looks like
> something somewhere is missing the path to libgw-guile-gnome-gtk.so.
>
> I assume this is an hppa specific failure?

Apparently yes, it built fine on the other archs:
https://buildd.debian.org/pkg.cgi?pkg=guile-gnome-platform 

Cheers,
        Moritz


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 13, 2009 at 6:47 PM, Moritz Muehlenhoff<jmm@...> wrote:

> On Mon, Jul 13, 2009 at 05:19:06PM -0400, Carlos O'Donell wrote:
>> On Mon, Jul 13, 2009 at 2:39 PM, Carlos O'Donell<carlos@...> wrote:
>> > I have an sbuild running to reproduce the failure.
>>
>> I can reproduce the failure. I'm looking into how dev-environ sets the
>> appropriate lookup paths for recently build libraries. It looks like
>> something somewhere is missing the path to libgw-guile-gnome-gtk.so.
>>
>> I assume this is an hppa specific failure?
>
> Apparently yes, it built fine on the other archs:
> https://buildd.debian.org/pkg.cgi?pkg=guile-gnome-platform

Thanks.

I had some problems with guile-1.6-libs breaking symlinks made by
guile-1.8-libs, purging guile-1.6-libs resolves the problem so I'm
back to building guile-gnome-platform again with some debugging code.

Continuing with the investigation.

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Jul 14, 2009 at 12:13 PM, Carlos
O'Donell<carlos@...> wrote:
> I had some problems with guile-1.6-libs breaking symlinks made by
> guile-1.8-libs, purging guile-1.6-libs resolves the problem so I'm
> back to building guile-gnome-platform again with some debugging code.

On second thoughts, this is a bug in guile-1.8-dev, it creates a
broken symlink /usr/lib/libguile.so to a missing libguile.so.17.3.1.
Probably a typo since it should be a symlink to  libguile.so.17.3.0.

I'll fix this manually and try a dpkg-buildpackage run.

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Jul 14, 2009 at 12:27 PM, Carlos
O'Donell<carlos@...> wrote:
> I'll fix this manually and try a dpkg-buildpackage run.

I'm bringing in Andreas, the guile-gnome-platform maintainer, to this
conversation

Andreas, the problem on hppa with guile-gnome-platform is that one of
the tests in the testsuite fails with:
~~~
test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)
~~~

This means that the load of the dynamic library
libgw-guile-gnome-gtk.so failed, and the reason given is that the file
was not found.

The file exists, it's in
"./gtk/gnome/gw/.libs/libgw-guile-gnome-gtk.so" and inspection with
readelf shows that it looks correct.

I determined that dev-environ uses GUILE_LOAD_PATH to pass directories
which guile should search when loading libtool library archives.

Guile supports loading libtool library archives by using libtool's
libltdl.so (libtool library archive dynamic loader, similar to glibc's
libdl.so).

The libtool library files produced by hppa and x86 are identical (used
the same path names) which proves nothing is seriously wrong with the
generation of the libtool library archive *.la file.

Do you see anything wrong with the comments I made above regarding
guile-gnome-platform?

My next step is to build a small testcase using libltdl.so to see if I
can load libgw-guile-gnome-gtk from the same CWD as guile, and prove
that libtool is working.

If libtool's libltdl.so is working correctly, then I need to debug
guile's libtool library archive loading e.g.
guile-1.8-1.8.7+1/libguile/dynl.c (s_scm_dynamic_link).

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Andreas Rottmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

"Carlos O'Donell" <carlos@...> writes:

> On Tue, Jul 14, 2009 at 12:27 PM, Carlos
> O'Donell<carlos@...> wrote:
>> I'll fix this manually and try a dpkg-buildpackage run.
>
> I'm bringing in Andreas, the guile-gnome-platform maintainer, to this
> conversation
>
> Andreas, the problem on hppa with guile-gnome-platform is that one of
> the tests in the testsuite fails with:
> ~~~
> test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
> ~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)
> ~~~
>
Yes, I'm aware of that problem; however I've not yet had time to
investigate.

> This means that the load of the dynamic library
> libgw-guile-gnome-gtk.so failed, and the reason given is that the file
> was not found.
>
> The file exists, it's in
> "./gtk/gnome/gw/.libs/libgw-guile-gnome-gtk.so" and inspection with
> readelf shows that it looks correct.
>
> I determined that dev-environ uses GUILE_LOAD_PATH to pass directories
> which guile should search when loading libtool library archives.
>
I think the relevant environment variable should be LTDL_LIBRARY_PATH,
and from looking at ./dev-environ.in, this should be set to include
gtk/gnome/gnome/gw.

>
> Guile supports loading libtool library archives by using libtool's
> libltdl.so (libtool library archive dynamic loader, similar to glibc's
> libdl.so).
>
> The libtool library files produced by hppa and x86 are identical (used
> the same path names) which proves nothing is seriously wrong with the
> generation of the libtool library archive *.la file.
>
> Do you see anything wrong with the comments I made above regarding
> guile-gnome-platform?
>
Except what I've noted above, no.

> My next step is to build a small testcase using libltdl.so to see if I
> can load libgw-guile-gnome-gtk from the same CWD as guile, and prove
> that libtool is working.
>
> If libtool's libltdl.so is working correctly, then I need to debug
> guile's libtool library archive loading e.g.
> guile-1.8-1.8.7+1/libguile/dynl.c (s_scm_dynamic_link).
>
Thanks a lot for looking into this! If you need any assistance, just
prod me (I'm also on IRC freenode/#guile).

Regards, Rotty
--
Andreas Rottmann -- <http://rotty.yi.org/>


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Moritz Muehlenhoff :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Jul 16, 2009 at 07:42:20PM +0200, Andreas Rottmann wrote:

> "Carlos O'Donell" <carlos@...> writes:
>
> > On Tue, Jul 14, 2009 at 12:27 PM, Carlos
> > O'Donell<carlos@...> wrote:
> >> I'll fix this manually and try a dpkg-buildpackage run.
> >
> > I'm bringing in Andreas, the guile-gnome-platform maintainer, to this
> > conversation
> >
> > Andreas, the problem on hppa with guile-gnome-platform is that one of
> > the tests in the testsuite fails with:
> > ~~~
> > test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
> > ~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)
> > ~~~
> >
> Yes, I'm aware of that problem; however I've not yet had time to
> investigate.

Is this issue a genuine bug, which breaks guile-gnome on hppa in general
or an unrelated test suite failure?

Cheers,
        Moritz


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Jul 24, 2009 at 5:43 PM, Moritz Muehlenhoff<jmm@...> wrote:

> On Thu, Jul 16, 2009 at 07:42:20PM +0200, Andreas Rottmann wrote:
>> "Carlos O'Donell" <carlos@...> writes:
>>
>> > On Tue, Jul 14, 2009 at 12:27 PM, Carlos
>> > O'Donell<carlos@...> wrote:
>> >> I'll fix this manually and try a dpkg-buildpackage run.
>> >
>> > I'm bringing in Andreas, the guile-gnome-platform maintainer, to this
>> > conversation
>> >
>> > Andreas, the problem on hppa with guile-gnome-platform is that one of
>> > the tests in the testsuite fails with:
>> > ~~~
>> > test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
>> > ~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)
>> > ~~~
>> >
>> Yes, I'm aware of that problem; however I've not yet had time to
>> investigate.
>
> Is this issue a genuine bug, which breaks guile-gnome on hppa in general
> or an unrelated test suite failure?

If a bug is anything that causes the execution of the software to
deviate from expected behaviour, then this is a bug. Fundamentally
guile-gnome looks to be correctly compiled, but the testsuite failure
causes the build to fail. The testsuite failure is related to guile's
use of libtdl.so's inability to load a libtool archive. I'm still
debugging libtdl.so.

Does that answer your question?

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Jul 16, 2009 at 1:42 PM, Andreas Rottmann<a.rottmann@...> wrote:

> "Carlos O'Donell" <carlos@...> writes:
>
>> On Tue, Jul 14, 2009 at 12:27 PM, Carlos
>> O'Donell<carlos@...> wrote:
>>> I'll fix this manually and try a dpkg-buildpackage run.
>>
>> I'm bringing in Andreas, the guile-gnome-platform maintainer, to this
>> conversation
>>
>> Andreas, the problem on hppa with guile-gnome-platform is that one of
>> the tests in the testsuite fails with:
>> ~~~
>> test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
>> ~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)
>> ~~~
>>
> Yes, I'm aware of that problem; however I've not yet had time to
> investigate.

This turns out to be a bug in guile-gnome-platform. It is *not*
specific to hppa, and will effect all targets that execute the code
path that calls scm_to_cairo.

The analysis and solution follows:
~~~
This failure is because the native dynamic loader fails to resolve the
symbol scm_to_cairo.

The source file
guile-gnome-platform-2.16.1/gtk/gnome/gw/guile-gnome-gw-gtk.c calls
"scm_to_cairo" on line 26258.

The symbol scm_to_cairo is defined in libguile-cairo.so (guile-cairo package).

The shared library
guile-gnome-platform-2.16.1/gtk/gnome/gw/.libs/libgw-guile-gnome-gtk.so.0
does not list libguile-cairo.so as a required library (DT_NEEDED
entry).

Failing to list a required library is a bug.
~~~

Does the bug exist on other targets?

Yes, this bug exists on x86, but because this particular code path
isn't executed, the symbol lookup does not fail, and the test passes.

Remember that shared libraries are *allowed* to have undefined
symbols, therefore it is not a toolchain bug to allow the link to
complete.

Testing a solution:
~~~
cd guile-gnome-platform-2.16.1/gtk/gnome/gw
<Run libtool again to relink libgw-guile-gnome-gtk.so.0 with -lgnome-cairo>
cd ../../../gtk/tests/gtk/
<Rerun the failing test>

Running test suite: main-suite ----------------------------------------

Running test suite: <test-wrapset-api>-suite --------------------------
Running test case: test-wrapset-api
WARNING: (gnome gtk): imported module (gnome gobject generics)
overrides core binding `connect'
WARNING: (gnome gtk): `re-export-modules' imported from both (gnome
gobject utils) and (gnome gw support modules)
WARNING: (gnome gw generics): imported module (gnome gobject generics)
overrides core binding `connect'

1 run, 0 failed

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.
~~~

And now the test passes.

Solution:
~~~
Please fix guile-gnome-platform to correctly add -lgnome-cairo to the
libtool link line used to link libgw-guile-gnome-gtk.la
~~~
For your reference the correct link line is this (with -lguile-cairo added):
/bin/sh ../../../libtool --tag=CC   --mode=link cc
-I../../../glib/gnome/gobject -I../../../glib/gnome/gobject -I. -I.
-Wall -g -D_REENTRANT -I/usr/include/guile-cairo -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/directfb -I/usr/include/libpng12   -D_REENTRANT
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/directfb -I/usr/include/libpng12
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -std=gnu99
-g -O2 -g -Wall -O2 -module  -o libgw-guile-gnome-gtk.la -rpath
/usr/lib/guile-gnome-2
libgw_guile_gnome_gtk_la-guile-gtk-tree-model.lo
libgw_guile_gnome_gtk_la-gtk-support.lo
libgw_guile_gnome_gtk_la-guile-gnome-gw-gtk.lo -lgtk-x11-2.0
-lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm
-lpangocairo-1.0 -lgio-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig
-lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -lguile -lltdl -lgmp -lcrypt
-lm -lltdl -lgwrap-guile-runtime -lgwrap-core-runtime -lguile -lgmp
-lcrypt -lm -lltdl -lguile-cairo
../../../glib/gnome/gobject/libguile-gnome-gobject-2.la -D_REENTRANT
-I/usr/include/guile-cairo -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/directfb -I/usr/include/libpng12
~~~

Please tell me if that helps?

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Andreas Rottmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

"Carlos O'Donell" <carlos@...> writes:

> On Thu, Jul 16, 2009 at 1:42 PM, Andreas Rottmann<a.rottmann@...> wrote:
>> "Carlos O'Donell" <carlos@...> writes:
>>
>>> On Tue, Jul 14, 2009 at 12:27 PM, Carlos
>>> O'Donell<carlos@...> wrote:
>>>> I'll fix this manually and try a dpkg-buildpackage run.
>>>
>>> I'm bringing in Andreas, the guile-gnome-platform maintainer, to this
>>> conversation
>>>
>>> Andreas, the problem on hppa with guile-gnome-platform is that one of
>>> the tests in the testsuite fails with:
>>> ~~~
>>> test-wrapset-api: exception in test: (misc-error "dynamic-link" "file:
>>> ~S, message: ~S" ("libgw-guile-gnome-gtk" "file not found") #f)
>>> ~~~
>>>
>> Yes, I'm aware of that problem; however I've not yet had time to
>> investigate.
>
> This turns out to be a bug in guile-gnome-platform. It is *not*
> specific to hppa, and will effect all targets that execute the code
> path that calls scm_to_cairo.
>
[detailed analysis snipped]

> Solution:
> ~~~
> Please fix guile-gnome-platform to correctly add -lgnome-cairo to the
> libtool link line used to link libgw-guile-gnome-gtk.la
>
> Please tell me if that helps?
>
Yes, a big thanks for you figuring this out! I will fix this in the next
guile-gnome-platform upload, and send a patch upstream.

Regards, Rotty
--
Andreas Rottmann -- <http://rotty.yi.org/>


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: guile-gnome-platform build failure on hppa

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Aug 12, 2009 at 1:13 PM, Andreas Rottmann<a.rottmann@...> wrote:
> Yes, a big thanks for you figuring this out! I will fix this in the next
> guile-gnome-platform upload, and send a patch upstream.

Thank you for your patience.

If you have any more hppa specific issues please feel free to contact
me and CC the debian-hppa list.

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...