Opened 19 years ago
Closed 19 years ago
#4762 closed defect (fixed)
gtk2.6(.8+.10): "bus error" during build in gtk2/stock-icons
Reported by: | csirac2@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.0 |
Keywords: | Cc: | ||
Port: |
Description
Problem: gtk2 configures OK but the gdk-pixbuf/gdk-pixbuf-csource script segfaults/"bus error" when building the directory gtk/stock-icons.
Possibly related:
- Bug 1448 "gdk-pixbuf broken", in relation to missing
/opt/local/etc/gtk-2.0/gdk-pixbuf.loaders file during build in gtk/stock-icons
Additional:
- Using fink's Xorg 6.8.2-25
- port Version: 1.012, all up to date with "port selfupdate && port sync" and
"port -d selfupdate && port -d sync"
- MacOS X 10.3, Apple updates all applied, XCode 1.5, gcc version 3.3 20030304
(Apple Computer, Inc. build 1671)
- See attached files for a list of installed port and fink packages.
Output containing error message:
- Navigate to:
/opt/local/var/db/dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_x11_gtk2/work/gtk+-2.6.10/gtk/stoc k-icons
- $ sudo make:
GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders
../../gdk-pixbuf/gdk-pixbuf-csource
\
--raw --build-list stock_about_16 ./stock_about_16.png
stock_about_24 ./stock_about_24.png
stock_add_16 ./stock_add_16.png stock_add_24
./stock_add_24.png stock_align_center_16
./stock_align_center_16.png stock_align_center_24
./stock_align_center_24.png stock_align_justify_16 ./
stock_align_justify_16.png stock_align_justify_24
./stock_align_justify_24.png stock_align_left_16 ./
stock_align_left_16.png stock_align_left_24 ./stock_align_left_24.png
stock_align_right_16 ./stock_align_right_16.png
stock_align_right_24 ./stock_align_right_24.png stock_apply_20
./stock_apply_20.png stock_cancel_20
./stock_cancel_20.png stock_dnd_multiple_32 ./stock_dnd_multiple_32.png
stock_bottom_16 ./
stock_bottom_16.png stock_bottom_24 ./stock_bottom_24.png
stock_cdrom_16 ./stock_cdrom_16.png
stock_cdrom_24 ./stock_cdrom_24.png stock_clear_24
./stock_clear_24.png stock_close_20
./stock_close_20.png stock_close_24 ./stock_close_24.png
stock_colorselector_24 ./
stock_colorselector_24.png stock_color_picker_25
( rm -f gtkstockpixbufs.h && false )
make: * [gtkstockpixbufs.h] Error 1
- Running the command directly shows the "bus error":
# GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders
../../gdk-pixbuf/gdk-pixbuf-csource \
--raw --build-list stock_about_16 ./stock_about_16.png
stock_about_24 ./stock_about_24.png
stock_add_16 ./stock_add_16.png stock_add_24
./stock_add_24.png stock_align_center_16
./stock_align_center_16.png stock_align_center_24
./stock_align_center_24.png stock_align_justify_16 ./
stock_align_justify_16.png stock_align_justify_24
./stock_align_justify_24.png stock_align_left_16 ./
stock_align_left_16.png stock_align_left_24 ./stock_align_left_24.png
stock_align_right_16 ./
stock_align_right_16.png stock_align_right_24 ./stock_align_right_24.png
stock_apply_20 ./
stock_apply_20.png stock_cancel_20 ./stock_cancel_20.png
stock_dnd_multiple_32 ./
stock_dnd_multiple_32.png stock_bottom_16 ./stock_bottom_16.png
stock_bottom_24 ./
stock_bottom_24.png stock_cdrom_16 ./stock_cdrom_16.png
stock_cdrom_24 ./stock_cdrom_24.png
stock_clear_24 ./stock_clear_24.png stock_close_20
./stock_close_20.png stock_close_24
./stock_close_24.png stock_colorselector_24 ./stock_colorselector_24.png
stock_color_picker_25
Bus error
Summary of attempted (unsuccessful) workarounds:
- Patched gtk2 portfile to bring gtk2 up to version 2.6.10 (instead of
darwinport's 2.6.8), as per bug 4611 comment 2
- NB: The patch is broken or something, com.apple.checksum fails...
- Removed fink's '/sw' path from $PATH
- Temporarily placed fink's glib-2.0.800 libs into /opt/local/lib and the .pc in
/opt/local/lib/pkgconfig to bring libglib-2.0 up to version 2.8
- Ran configure (manually) with modified CFLAGS: changed -O3 to -O0 and added -g
for meaningful gdb backtrace
- Ran gdk-pixbuf-csource command directly from tsch, interesting error that is
not present when running from bash:
GdkPixbuf-WARNING : Cannot open pixbuf loader module file
'/opt/local/etc/gtk-2.0/gdk-
pixbuf.loaders': No such file or directory Bus error
- Did a sudo ln -s /opt/local/var/db/dports/build/
file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_x11_gtk2/work/gtk+-2.6.10/gdk-pixbuf
/opt/local/etc/gtk-2.0
- ... but still get "bus error" in bash and absolutely no output at all in tcsh...
- ... note to self: don't forget to remove dodgy symlinks on each ./configure...
- Have run update_prebinding -root / -force... not that I know anything about
Apple's Mach-O or dylib stuff...
The next step was to configure & build with debugging symbols and reduce optimisation to get a meaningful gdb backtrace for the crash. I did "port -vfd configure gtk2" and saw this as darwinport's configure line:
DEBUG: Assembled command: 'cd "/opt/local/var/db/dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_x11_gtk2/work/gtk+-2.6.10"
&&
LDFLAGS="-L/opt/local/lib -lpango-1.0" CPPFLAGS="-I/opt/local/include
-no-cpp-precomp -DX_LOCALE" CFLAGS="-O3
-funroll-loops -fstrict-aliasing" ./configure --prefix=/opt/local --disable-shm
--disable-gtk-doc --with-included-
loaders --mandir=/opt/local/share/man'
I then (manually) ran with -g -O0 instead of -O3:
LDFLAGS="-L/opt/local/lib -lpango-1.0" CPPFLAGS="-I/opt/local/include
-no-cpp-precomp -DX_LOCALE" CFLAGS="-g -O0
-funroll-loops -fstrict-aliasing" ./configure --prefix=/opt/local --disable-shm
--disable-gtk-doc --with-included-
loaders --mandir=/opt/local/share/man'
I then (manually) ran make. The same build error occured.
Running gdb (see attached gdb_csource_session.txt):
# export GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders # gdb bash
run -c "../../gdk-pixbuf/gdk-pixbuf-csource --raw ..." (see attached
gdb_csource_session for full invocation)
Running ktrace (see attached ktrace.out and kdump_csource_session.txt):
# ktrace ../../gdk-pixbuf/gdk-pixbuf-csource --raw ... (see attached
kdump_csource_session for more)
# kdump > kdump_csource_session
Interestingly, removing "--raw" from the argument list prevents the segfault and produces some seemingly appropriate header file contents, although of course the images are now encoded incorrectly...
Still investigating...
Any ideas?
NB: attachments with installed packages, ktrace/gdb sessions to follow...
Attachments (6)
Change History (8)
Changed 19 years ago by csirac2@…
Attachment: | ktrace.out added |
---|
Changed 19 years ago by csirac2@…
Attachment: | kdump_csource_session.txt added |
---|
kdump of ktrace.out (human-readable)
Changed 19 years ago by csirac2@…
Attachment: | config.log added |
---|
config.log generated from ./configure
comment:1 Changed 19 years ago by csirac2@…
libgnomeui fails in the same manner, again on the gdk-pixbuf-csource command.
Again, removing the --raw argument in the Makefile in pixmaps/ allows the build to continue.
make[4]: Entering directory `/opt/local/var/db/dports/build/file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_gnome_libgnomeui/work/libgnomeui-2.10.1/libgnomeui/pixmaps' rm -f gnome-stock-pixbufs.h var=`echo "stock_attach.png stock_book_blue.png stock_book_green.png stock_book_open.png stock_book_red.png stock_book_yellow.png stock_line_in.png stock_mail.png stock_mail_compose.png stock_mail_forward.png stock_mail_receive.png stock_mail_reply.png stock_mail_send.png stock_menu_about.png stock_menu_blank.png stock_scores.png stock_mic.png stock_multiple_file.png stock_not.png stock_table_borders.png stock_table_fill.png stock_text_bulleted_list.png stock_text_indent.png stock_text_numbered_list.png stock_text_unindent.png stock_timer.png stock_timer_stopped.png stock_trash.png stock_trash_full.png stock_volume.png stock_midi.png stock_authentication.png" | sed -e 's,stock_\([\.]*\)\.png,stock_\1 ./stock_\1.png,g'` ; \
/opt/local/bin/gdk-pixbuf-csource --raw --build-list $var > pixbufs-tmp && \ cat ./copyright.txt pixbufs-tmp > gnome-stock-pixbufs.h
make[4]: * [gnome-stock-pixbufs.h] Error 138
comment:2 Changed 19 years ago by csirac2@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
A recent selfupdate allowed gtk2 2.6.10_0 to compile and install successfully for me.
This bug seems to have resolved itself... thanks.
ktrace.out (binary)