Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 61590 - kernel-headers: sys-fs/reiserfsprogs-2.6.18 fails to compile on PPC
Summary: kernel-headers: sys-fs/reiserfsprogs-2.6.18 fails to compile on PPC
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: Tim Yamin (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-24 19:03 UTC by Christopher Sachs
Modified: 2004-09-25 11:15 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Fixes header problems (ppc.patch,613 bytes, patch)
2004-08-25 13:41 UTC, Joe Jezak (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Sachs 2004-08-24 19:03:33 UTC
The following error occurs with both gcc-3.3.3 and gcc-3.4.1 on PPC. It also 
occurs with CFLAGS set to "-O2 -fno-strict-aliasing" so I do not believe it is 
a CFLAGS issue. I am also using a masked version of portage, but the error 
occurs with the unmasked portage as well.

Now that I've established my alibi, it appears to be some sort of linker error.

gcc  -mcpu=7450 -maltivec -mabi=altivec -O2 -frename-registers -fweb -fno-strict-aliasing -pipe -fPIC -DPIC   -o reiserfsck  main.o pass0.o pass1.o pass2.o semantic_check.o semantic_rebuild.o pass4.o lost+found.o ubitmap.o uobjectid.o ustree.o ufile.o check_tree.o info.o super.o ../lib/libmisc.a ../reiserfscore/libcore.a -luuid
pass0.o(.text+0x157c): In function `pass0_correct_leaf':
: undefined reference to `get_unaligned'
pass0.o(.text+0x1620): In function `pass0_correct_leaf':
: undefined reference to `put_unaligned'
pass0.o(.text+0x4400): In function `is_bad_item':
: undefined reference to `get_unaligned'
pass0.o(.text+0x4448): In function `is_bad_item':
: undefined reference to `get_unaligned'
pass1.o(.text+0x398): In function `indirect_in_tree':
: undefined reference to `get_unaligned'
pass1.o(.text+0x1854): In function `pass_1':
: undefined reference to `get_unaligned'
pass1.o(.text+0x18d8): In function `pass_1':
: undefined reference to `put_unaligned'
pass1.o(.text+0x1d64): In function `pass_1':
: undefined reference to `put_unaligned'
semantic_check.o(.text+0x1954): In function `check_safe_links':
: undefined reference to `get_unaligned'
semantic_check.o(.text+0x1bd8): In function `check_safe_links':
: undefined reference to `put_unaligned'
ustree.o(.text+0x348): In function `reiserfsck_delete_item':
: undefined reference to `get_unaligned'
ustree.o(.text+0x53c): In function `reiserfsck_cut_from_item':
: undefined reference to `get_unaligned'
ufile.o(.text+0xc9c): In function `are_file_items_correct':
: undefined reference to `get_unaligned'
ufile.o(.text+0x1048): In function `are_file_items_correct':
: undefined reference to `get_unaligned'
ufile.o(.text+0x1244): In function `are_file_items_correct':
: undefined reference to `get_unaligned'
ufile.o(.text+0x1b20): more undefined references to `get_unaligned' follow
ufile.o(.text+0x201c): In function `reiserfsck_append_file':
: undefined reference to `put_unaligned'
ufile.o(.text+0x2104): In function `reiserfsck_append_file':
: undefined reference to `get_unaligned'
ufile.o(.text+0x2238): In function `reiserfsck_append_file':
: undefined reference to `put_unaligned'
ufile.o(.text+0x2330): In function `reiserfsck_append_file':
: undefined reference to `get_unaligned'
ufile.o(.text+0x236c): In function `reiserfsck_append_file':
: undefined reference to `get_unaligned'
ufile.o(.text+0x23a0): In function `reiserfsck_append_file':
: undefined reference to `get_unaligned'
ufile.o(.text+0x2ca4): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
ufile.o(.text+0x2cd8): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
ufile.o(.text+0x32ac): more undefined references to `get_unaligned' follow
ufile.o(.text+0x3328): In function `reiserfsck_file_write':
: undefined reference to `put_unaligned'
ufile.o(.text+0x3334): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
ufile.o(.text+0x337c): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
ufile.o(.text+0x3544): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
ufile.o(.text+0x3640): In function `reiserfsck_file_write':
: undefined reference to `put_unaligned'
ufile.o(.text+0x3860): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
ufile.o(.text+0x38d4): In function `reiserfsck_file_write':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x228): In function `handle_one_pointer':
: undefined reference to `put_unaligned'
check_tree.o(.text+0xfe4): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x1010): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x1080): In function `bad_node':
: undefined reference to `put_unaligned'
check_tree.o(.text+0x11b4): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x11e0): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x126c): In function `bad_node':
: undefined reference to `put_unaligned'
check_tree.o(.text+0x1298): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x12cc): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x133c): In function `bad_node':
: undefined reference to `put_unaligned'
check_tree.o(.text+0x1378): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x13c0): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x155c): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x15b4): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x15f4): In function `bad_node':
: undefined reference to `get_unaligned'
check_tree.o(.text+0x1660): more undefined references to `get_unaligned' follow
collect2: ld returned 1 exit status
make[1]: *** [reiserfsck] Error 1
make[1]: Leaving directory `/var/tmp/portage/reiserfsprogs-3.6.18/work/reiserfsprogs-3.6.18/fsck'
make: *** [all-recursive] Error 1

Reproducible: Always
Steps to Reproduce:




Portage 2.0.51_pre20 (default-ppc-2004.2, gcc-3.4.1, glibc-2.3.4.20040619-r1,
2.6.8-gentoo-r1 ppc 7447/7457, altivec supported)
=================================================================
System uname: 2.6.8-gentoo-r1 ppc 7447/7457, altivec supported
Gentoo Base System version 1.5.3
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.3-r3
Headers:  sys-kernel/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CFLAGS="-mcpu=7450 -maltivec -mabi=altivec -O2 -frename-registers -fweb
-fno-strict-aliasing -pipe"
CHOST="powerpc-unknown-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mcpu=7450 -maltivec -mabi=altivec -O2 -frename-registers -fweb
-fno-strict-aliasing -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.1.1/gentoo-portage"
USE="X alsa altivec berkdb cdr crypt cups curl directfb doc dvd dvdr esd expat
faad fbcon flac foomaticdb gdbm gif gimpprint gnome gnutls gphoto2 gstreamer gtk
gtk2 gtkhtml guile imlib ipv6 jpeg libwww mad mitshm mng motif mozilla mozsvg
mpeg musicbrainz ncurses nls offensive oggvorbis opengl oss pam perl png ppc
python qt readline samba sdl slang speex spell ssl svg tcpd theora tiff truetype
unicode xml2 xv zlib"
Comment 1 Joe Jezak (RETIRED) gentoo-dev 2004-08-25 13:41:36 UTC
Created attachment 38201 [details, diff]
Fixes header problems

I can replicate this bug.  It looks like this is the fix:
http://lists.debian.org/debian-glibc/2004/08/msg00068.html (Same as the patch
included).

It seems to be a kernel header issue, I'm not sure if it needs to be fixed in
our headers or if we should adopt this patch for the reiser tools.

This fixes the problem that the reporter had, but exposes another problem:

For some reason, debugreiserfs/recover.c doesn't have ERANGE defined.  It
should be getting defined in asm-generic/errno-base.h but it isn't.  Manually
adding
#define ERANGE 34 to the reiser source seems to fix it (it compiles fine) but
I'm hesitant to do this because it should be included as far as I can tell.  It
must be getting undefined somewhere, but I can't find it.  

For now, this package should be marked ~ppc at least.
Comment 2 Pieter Van den Abeele (RETIRED) gentoo-dev 2004-09-22 13:41:11 UTC
cc'ing plasmaroo for advice on this kernel headers issue.
Comment 3 Tim Yamin (RETIRED) gentoo-dev 2004-09-22 13:46:09 UTC
Remove the first and last line of /usr/include/asm/unaligned.h and see if that helps...
Comment 4 Jochen Maes (RETIRED) gentoo-dev 2004-09-24 13:34:23 UTC
compiled, with the patch

removing ppc, and assining to plasmaroo...
by removing first and last line it worked. 
please revise the linux headers

thank you
Comment 5 Tim Yamin (RETIRED) gentoo-dev 2004-09-25 11:15:43 UTC
Fixed in CVS; it should reach the rsync servers within an hour. Please "emerge sync", remerge your linux26-headers and this problem should go away - if it still persists, then please reopen this bug. Thanks!