[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Issues building the g-i on PowerPC



On Monday 19 November 2007, Attilio Fiandrotti wrote:
> Frans Pop wrote:
> > On Friday 16 November 2007, Attilio Fiandrotti wrote:
> >> Frans Pop wrote:
> >>> On Friday 16 November 2007, Attilio Fiandrotti wrote:
> >>>> 1) When i make the build_powerpc_netboot-gtk target (other targets
> >>>> untested), i get the following error by mklibs
> >>>
> >>> That looks like it could be #433874, but that is supposed to be
> >>> solved...
> >>>
> >>> The only thing that can tell exactly what happens is the full output
> >>> of mklibs with three times the '-v' option ("-v -v -v").
>
> and updated the gzipped logfile [1], but at my inexerienced eyes it
> looks like the previous.

No, it now provides the correct info. Here is what seems to happen.

If I call readelf on libslang from unstable on a PPC system, I get:
$ readelf -s libslang.so.2 | grep SLsmg_write_string
   319: 000680c0    80 FUNC    GLOBAL DEFAULT   11 SLsmg_write_string@@SLANG2

In the log you provided I see:

[...]
reducing libslang.so.2
using: SLang_init_tty@SLANG2 SLcurses_nil@SLANG2 SLutf8_enable@SLANG2 SLcurses_wscrl@SLANG2 SLcurses_wnoutrefresh@SLANG2 SLcurses_wrefresh@SLANG2 SLcurses_wattron@SLANG2 SLsmg_refresh@SLANG2 SLtt_set_cursor_visibility@SLANG2 SLcurses_wattroff@SLANG2 SLcurses_waddch@SLANG2 SLcurses_wclrtobot@SLANG2 SLcurses_cbreak@SLANG2 SLcurses_nodelay@SLANG2 SLcurses_wmove@SLANG2 SLcurses_endwin@SLANG2 SLsmg_touch_screen@SLANG2 SLcurses_delwin@SLANG2 SLcurses_wgetch@SLANG2 SLcurses_initscr@SLANG2 SLcurses_newwin@SLANG2 SLcurses_waddnstr@SLANG2 SLtt_beep@SLANG2
resolving /usr/lib//libslang_pic.a
resolved to /usr/lib//libslang_pic.a
extracting from: /usr/lib//libslang_pic.a so_file: /lib//libslang.so.2
calling mklibs-readelf --print-soname /lib//libslang.so.2
soname: libslang.so.2
calling mklibs-readelf --print-needed /lib//libslang.so.2
calling gcc -nostdlib -nostartfiles -shared -Wl,-soname=libslang.so.2 -uSLcurses_nodelay -uSLsmg_refresh -uSLcurses_wnoutrefresh -uSLcurses_wgetch -uSLcurses_wscrl -uSLcurses_nil -uSLcurses_initscr -uSLcurses_endwin -uSLsmg_touch_screen -uSLcurses_wrefresh -uSLcurses_delwin -uSLcurses_wattron -uSLcurses_wmove -uSLutf8_enable -uSLcurses_wclrtobot -uSLtt_set_cursor_visibility -uSLcurses_wattroff -uSLcurses_waddnstr -uSLcurses_waddch -uSLang_init_tty -uSLcurses_cbreak -uSLcurses_newwin -uSLtt_beep -o ./tmp/powerpc_netboot-gtk/tree/lib/libslang.so.2-so /usr/lib//libslang_pic.a -lgcc -L./tmp/powerpc_netboot-gtk/tree/lib -L./tmp/powerpc_netboot-gtk/tree/usr/lib -L./tmp/powerpc_netboot-gtk/udeblibs -L./tmp/powerpc_netboot-gtk/tree/usr/lib/cdebconf/frontend -L/lib/ -L/usr/lib/ -L/usr/X11R6/lib/ -L./tmp/powerpc_netboot-gtk/tree//usr/lib/cdebconf:/usr/lib/libcairo-directfb/lib -L./tmp/powerpc_netboot-gtk/tree//usr/lib/cdebconf -ldl -lm -lc /lib//ld.so.1
calling objcopy --strip-unneeded -R .note -R .comment ./tmp/powerpc_netboot-gtk/tree/lib/libslang.so.2-so ./tmp/powerpc_netboot-gtk/tree/lib/libslang.so.2-so-stripped
/lib//libslang.so.2 	 868280L
./tmp/powerpc_netboot-gtk/tree/lib/libslang.so.2-so 	 331859L
./tmp/powerpc_netboot-gtk/tree/lib/libslang.so.2-so-stripped 	 306308L
[...]
calling mklibs-readelf --print-symbols-undefined \
        ./tmp/powerpc_netboot-gtk/tree/lib/libnewt.so.0.52-so-stripped
needed_symbols adding SLsmg_write_string@SLANG2, weak: False
[...]
calling mklibs-readelf --print-symbols-provided \
        ./tmp/powerpc_netboot-gtk/tree/lib/libslang.so.2-so-stripped
present_symbols adding SLsmg_write_string@Base

So it looks like somehow the "@SLANG2" extension changes to "@Base" during
library reduction and that causes that the symbol cannot be found.
Please file a serious BR against mklibs with this info and links to this BR
and the logfile.

> >>>> 2) I have rebuilt some udebs (gtk+, cairo, pango, cdebconf) against
> >>>> dfb 1.0
> >>>
> >>> Change $debug=0 to 1 in installer/build/util/pkg-list to see what's
> >>> pulling it in.
>
> i patched the pkg-list perl script as

That is correct, but your log is incomplete.

You should be getting a lot of output like this near the beginning of the
log (before the line starting with "get-packages"):
pkg-lists:  reading pkg-lists for netboot
pkg-lists:      processing pkg-lists/netboot/amd64.cfg
pkg-lists:          adding console-keymaps-at
pkg-lists:          collecting dependencies for console-keymaps-at
pkg-lists:              added cdebconf-udeb for console-keymaps-at
pkg-lists:              collecting dependencies for cdebconf-udeb
pkg-lists:                  added libc6 for cdebconf-udeb
pkg-lists:                  collecting dependencies for libc6
pkg-lists:                  added libdebian-installer4-udeb for cdebconf-udeb
pkg-lists:                  collecting dependencies for libdebian-installer4-udeb
pkg-lists:                      added libc6 for libdebian-installer4-udeb
[...]

Did you 'make reallyclean'?

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: