First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 98187
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Embedded Gentoo Team <embedded@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Jory A. Pratt <geekypenguin@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
libperl.diff libperl-ebuild.diff patch solar 2005-07-10 05:21 0000 1.16 KB Details | Diff
uClibc-0.9.28-_dl_fini-correct-order.patch uClibc-0.9.28-_dl_fini-correct-order.patch patch Martin Schlemmer (RETIRED) 2005-09-07 11:07 0000 2.85 KB Details | Diff
uClibc-0.9.28-_dl_fini-correct-order.patch uClibc-0.9.28-_dl_fini-correct-order.patch patch Martin Schlemmer (RETIRED) 2005-09-07 11:30 0000 2.86 KB Details | Diff
uClibc-0.9.27-_dl_fini-correct-order.patch uClibc-0.9.27-_dl_fini-correct-order.patch patch Martin Schlemmer (RETIRED) 2005-09-07 11:32 0000 5.68 KB Details | Diff
uClibc-0.9.27-_dl_fini-correct-order.patch uClibc-0.9.27-_dl_fini-correct-order.patch patch Martin Schlemmer (RETIRED) 2005-09-07 11:38 0000 5.68 KB Details | Diff
40_all_uClibc-0.9.27-_dl_fini-correct-order.patch 40_all_uClibc-0.9.27-_dl_fini-correct-order.patch patch SpanKY 2005-09-25 01:20 0000 6.24 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 98187 depends on: Show dependency tree
Show dependency graph
Bug 98187 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-07-07 00:03 0000
fails to compile on uclibc stage2 (emerge -e system)

Reproducible: Always
Steps to Reproduce:
1. stage1 bootstrap
2. emerge -e system
3.

Actual Results:  
chmod +x eqn2graph
Making eqn2graph.n from eqn2graph.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/eqn2graph'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/grap2graph'
rm -f grap2graph; \
sed -e "s|@g@||g" \
    -e "s|@VERSION@|1.19.1|" \
    -e 1s/a/a/ ./grap2graph.sh >grap2graph; \
chmod +x grap2graph
Making grap2graph.n from grap2graph.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/grap2graph'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/groffer'
rm -f groffer; \
sed -e "s|@BINDIR@|/usr/bin|g" \
    -e "s|@VERSION@|1.19.1|g" \
    -e 1s/a/a/ ./groffer.sh >groffer; \
chmod +x groffer
Making groffer.n from groffer.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/groffer'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/mom'
cp ./examples/penguin.ps .
test -d examples || /bin/sh
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/mkinstalldirs examples
touch examples/stamp
GROFF_COMMAND_PREFIX=''; export GROFF_COMMAND_PREFIX; GROFF_BIN_PATH=`echo
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/groff
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/troff
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/devices/grops | sed -e
's|  *|:|g'`; export GROFF_BIN_PATH;
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/groff/groff
-F/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/font
-F/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/font
-M/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/tmac
-M/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/tmac -M. -Tps -mom
examples/letter.mom >examples/letter.ps
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/groff/groff: grops:
Signal 11
make[2]: *** [examples/letter.ps] Error 2
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/mom'
make[1]: *** [contrib/mom] Error 2
make[1]: Leaving directory `/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1'
make: *** [all] Error 2



Portage 2.0.51.22-r1 (uclibc/x86, gcc-3.4.4, uclibc-0.9.27-r0, 2.6.12-gentoo-r3
i686)
=================================================================
System uname: 2.6.12-gentoo-r3 i686 AMD Athlon(TM) XP2200+
Gentoo Base System version 1.6.12
dev-lang/python:     2.3.4-r1, 2.4.1-r1
sys-apps/sandbox:    1.2.10
sys-devel/autoconf:  [Not Present]
sys-devel/automake:  [Not Present]
sys-devel/binutils:  2.16.1
sys-devel/libtool:   [Not Present]
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-gentoo-linux-uclibc"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ftracer
-fprefetch-loop-arrays -pipe"
CHOST="i686-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ftracer
-fprefetch-loop-arrays -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig candy ccache distlocks nodoc noinfo noman
sandbox sfperms strict"
GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo
http://mirror.datapipe.net/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 ncurses python readline uclibc zlib userland_GNU kernel_linux elibc_uclibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY

------- Comment #1 From SpanKY 2005-07-07 06:48:01 0000 -------
Signal 11 -> segv

does it fail everytime at the same spot ?

------- Comment #2 From Jory A. Pratt 2005-07-07 08:01:14 0000 -------
yeah it fails same spot no matter what version I tell it to use.

------- Comment #3 From Jory A. Pratt 2005-07-07 08:46:44 0000 -------
after a onshot and nodeps on libperl a Signal 6 arrises.

------- Comment #4 From Jory A. Pratt 2005-07-07 12:43:58 0000 -------
I will leave this up to embedded herd to close at their discreation!

a stable build then converted to ~arch works fine no segv, as I reported earlier
a ~arch stage1 setup however fails with groff. Hopefully you all can figure it
all out.

------- Comment #5 From Stan Behrens 2005-07-09 00:06:43 0000 -------
having the same problem:

=====[ begin ]=====

make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/pic2graph'
rm -f pic2graph; \
sed -e "s|@g@||g" \
    -e "s|@VERSION@|1.19.1|" \
    -e 1s/a/a/ ./pic2graph.sh >pic2graph; \
chmod +x pic2graph
Making pic2graph.n from pic2graph.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/pic2graph'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/eqn2graph'
rm -f eqn2graph; \
sed -e "s|@g@||g" \
    -e "s|@VERSION@|1.19.1|" \
    -e 1s/a/a/ ./eqn2graph.sh >eqn2graph; \
chmod +x eqn2graph
Making eqn2graph.n from eqn2graph.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/eqn2graph'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/grap2graph'
rm -f grap2graph; \
sed -e "s|@g@||g" \
    -e "s|@VERSION@|1.19.1|" \
    -e 1s/a/a/ ./grap2graph.sh >grap2graph; \
chmod +x grap2graph
Making grap2graph.n from grap2graph.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/grap2graph'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/groffer'
rm -f groffer; \
sed -e "s|@BINDIR@|/usr/bin|g" \
    -e "s|@VERSION@|1.19.1|g" \
    -e 1s/a/a/ ./groffer.sh >groffer; \
chmod +x groffer
Making groffer.n from groffer.man
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/groffer'
make[2]: Entering directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/mom'
cp ./examples/penguin.ps .
test -d examples || /bin/sh
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/mkinstalldirs examples
touch examples/stamp
GROFF_COMMAND_PREFIX=''; export GROFF_COMMAND_PREFIX; GROFF_BIN_PATH=`echo
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/groff
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/troff
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/devices/grops | sed -e
's|  *|:|g'`; export GROFF_BIN_PATH;
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/groff/groff
-F/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/font
-F/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/font
-M/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/tmac
-M/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/tmac -M. -Tps -mom
examples/letter.mom >examples/letter.ps

=====[ end ]=====

after that it just enters an infinit loop or something, cpu is permanent at 100% 

so i just killed it:

=====[ begin ]====
/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/roff/groff/groff: grops:
Signal 15
make[2]: *** [examples/letter.ps] Error 2
make[2]: Leaving directory
`/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/contrib/mom'
make[1]: *** [contrib/mom] Error 2
make[1]: Leaving directory `/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1'
make: *** [all] Error 2

!!! ERROR: sys-apps/groff-1.19.1-r2 failed.
!!! Function src_compile, Line 85, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
=====[ end ]=====

some infos:

# ls /*.tar.bz2
/portage-20050707.tar.bz2  /stage1-x86-uclibc-2005.0.tar.bz2
# emerge --info
Portage 2.0.51.22-r1 (uclibc/x86, gcc-3.4.4, uclibc-0.9.27-r0, 2.6.12-gentoo-r4
i686)
=================================================================
System uname: 2.6.12-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.6.12
dev-lang/python:     2.3.4-r1
sys-apps/sandbox:    1.2.10
sys-devel/autoconf:  [Not Present]
sys-devel/automake:  [Not Present]
sys-devel/binutils:  2.16.1
sys-devel/libtool:   [Not Present]
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-gentoo-linux-uclibc"
CFLAGS="-march=pentium-m -Os -pipe -fomit-frame-pointer"
CHOST="i686-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium-m -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks nodoc noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86 userland_GNU kernel_linux elibc_uclibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
# grep -v ^# /etc/make.conf | grep .
USE="-* x86"
CHOST="i686-gentoo-linux-uclibc"
CFLAGS="-march=pentium-m -Os -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS="~x86"
GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
ALSA_CARDS="intel8x0"
# USE="bzip2 gpm ncurses readline pcre zlib" emerge -e system
 [...]

------- Comment #6 From Jory A. Pratt 2005-07-09 21:09:38 0000 -------
some info from work dir on ldd groff itself :

 libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-uclibc/3.4.4/libstdc++.so.6
(0xb7f06000)
 libm.so.0 => /lib/libm.so.0 (0xb7ef7000)
 libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-uclibc/3.4.4/libgcc_s.so.1 (0xb7ef0000)
 libc.so.0 => /lib/libc.so.0 (0xb7ea6000)
 ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb7f82000)

I will be going threw code to see if I can come up with a patch for this issue
to address the memory issue at hand here.

------- Comment #7 From solar 2005-07-10 05:14:23 0000 -------
I'm pretty sure groff has never worked with uclibc. Its apart of the reason
that
we have had it removed from system along with man which depends on this. 

We probably just need to fix libperl

------- Comment #8 From solar 2005-07-10 05:18:15 0000 -------
You should be able to work around this one temp by adding the following to your
system

/etc/portage/package.use: sys-devel/libperl nocxx

------- Comment #9 From solar 2005-07-10 05:21:01 0000 -------
Created an attachment (id=63069) [edit]
libperl-ebuild.diff

or with the following patch and no references to nocxx.

------- Comment #10 From Herbert 2005-07-10 07:55:12 0000 -------
I'm having another problem with groff 1.19.1-r2.

During it's emerge I got millions of messages like this, one after another and
it seams to be an endless loop:

grops:<standard input> (<standard input>):1748: missing argument

If I stop it's emerge with Ctrl-C I got:

grops:<standard input>make[2]: *** Deleting file `pic.ps'
Caught signal 2 in pid 10974
make[2]: *** [pic.ps] Error 130
make[1]: *** [doc] Interrupt
make: *** [all] Interrupt

/usr/portage/sys-apps/groff/groff-1.19.1-r2.ebuild: src_compile aborted; exiting.

------- Comment #11 From Jory A. Pratt 2005-07-10 08:28:34 0000 -------
solar even with the patch same results are applied. Groff works fine with
stable
by the way. this is a GCC-3.4.4 issue I am almost sure about it. I will
continue
to look for a better way then removing the man pages and groff from uclibc
setup.

------- Comment #12 From solar 2005-07-10 20:10:47 0000 -------
Ok well. We still never had perl depending on it for uclibc. Thats why nobody
noticed it before. (You never needed it)

------- Comment #13 From SpanKY 2005-07-12 21:51:38 0000 -------
ok, i can reproduce here in my uclibc chroot with gcc-3.4.4

------- Comment #14 From tud 2005-07-14 21:59:09 0000 -------
I can reproduce this error with groff-1.19.1-r2 and 1.18.1-r4. I'm using
gcc-3.3.5.

I do not get this endless loop also mentioned.

------- Comment #15 From SpanKY 2005-07-15 05:02:04 0000 -------
it either goes into a loop or segfaults

either way, disabling sandbox seems to allow groff to complete

------- Comment #16 From Thierry Carrez (RETIRED) 2005-07-19 09:12:23 0000 -------
I reproduced the problem in my usual uclibc/hardened stage3 builds.
I use a stable profile...

Avoiding groff by passing a nocxx flag to libperl works fine as a workaround...
but we must still fix the profile somehow so that stage3 builds do not fail.

------- Comment #17 From solar 2005-07-19 14:51:52 0000 -------
rumor has it that if sandbox is disabled groff compiles fine. 
perhaps we are looking in the wrong place?

------- Comment #18 From Jory A. Pratt 2005-07-19 17:33:58 0000 -------
Solar is for sure a sandbox violation. Spanky nailed it right on the money.

------- Comment #19 From Thierry Carrez (RETIRED) 2005-07-20 03:15:22 0000 -------
And how about removing perl from the uclibc profiles completely ? It currently
pulls in :

app-admin/perl-cleaner-1.01
sys-apps/man-1.6-r1
sys-process/cronbase-0.3.2
dev-lang/perl-5.8.6-r5
sys-devel/libperl-5.8.6-r1
sys-apps/groff-1.19.1-r2
sys-apps/texinfo-4.8

If that's not an option, I am considering adding an uclibc/x86/hardened/gnap
profile that would reduce the number of packages I need to build in stage3 just
to remove them in livecd-stage2 (and also workaround this bug :). Any no's/dont's ?

------- Comment #20 From solar 2005-07-20 05:33:16 0000 -------
libperl patch commited to the tree for now.

------- Comment #21 From Brett 2005-07-27 13:25:52 0000 -------
I also have this error on ppc. I can not get by it.
I tried the following..
FEATURES="-sandbox" emerge groff
USE="nocxx" emerge libperl
My current repoz has the patches applied to libperl.

Anything you need let me know I am dead in an emerge system :(

------- Comment #22 From Martin Schlemmer (RETIRED) 2005-09-07 11:07:02 0000 -------
Created an attachment (id=67844) [edit]
uClibc-0.9.28-_dl_fini-correct-order.patch

If _DL_FINI_CRT_COMPAT is defined, the libraries's FINI is setup to run at exit
via atexit(), but this makes it run _before_ the fini (__app_fini()) of the
app, causing stuff like sandbox that frees structs, etc via its fini to
segfault.  Same thing for 0.9.27, although things are slightly different.

This patch fixes it, but I consider it more a hack, and 0.9.28's new
__rtld_fini() stuff fixes it properly if _DL_FINI_CRT_COMPAT=n.

------- Comment #23 From Martin Schlemmer (RETIRED) 2005-09-07 11:30:52 0000 -------
Created an attachment (id=67846) [edit]
uClibc-0.9.28-_dl_fini-correct-order.patch

Might have made a mistake with the casting there, allthough it works fine:

This:

-----
-		if (_dl_atexit)
-			(*_dl_atexit) (_dl_fini);
+		if (__set__dl_fini)
+			(__set__dl_fini)(_dl_fini);
-----

instead of (note the added '*' before __set__dl_fini):

-----
-		if (_dl_atexit)
-			(*_dl_atexit) (_dl_fini);
+		if (__set__dl_fini)
+			(*__set__dl_fini)(_dl_fini);
-----

------- Comment #24 From Martin Schlemmer (RETIRED) 2005-09-07 11:32:17 0000 -------
Created an attachment (id=67847) [edit]
uClibc-0.9.27-_dl_fini-correct-order.patch

Untested patch for 0.9.27 .. note that I sorda ported _dl_fini() from 0.9.28
...

------- Comment #25 From Martin Schlemmer (RETIRED) 2005-09-07 11:38:29 0000 -------
Created an attachment (id=67850) [edit]
uClibc-0.9.27-_dl_fini-correct-order.patch

Bah, I should check my patches before I send them anywhere.

------- Comment #26 From SpanKY 2005-09-25 00:37:29 0000 -------
(From update of attachment 67846 [edit])
ive fixed this upstream and i dont plan on enabling DL_FINI_CRT_COMPAT in
uClibc-0.9.28 ebuild so this should be a non-issue

------- Comment #27 From SpanKY 2005-09-25 01:17:26 0000 -------
(From update of attachment 67850 [edit])
ok, i had to tweak nlist and init_fini_list variables, and remove the
'tpnt->init_flag |= FINI_FUNCS_CALLED;' line in the last hunk against ldso.c

once i did that, it seems to work now

------- Comment #28 From SpanKY 2005-09-25 01:20:49 0000 -------
Created an attachment (id=69195) [edit]
40_all_uClibc-0.9.27-_dl_fini-correct-order.patch

i'm giving this one a spin now in a uclibc chroot (emerge system -e) ... but it
seems to work fine

many thanks az :)

------- Comment #29 From Milan Holzäpfel 2005-09-25 05:07:30 0000 -------
I can confirm that groff (which is needed by QMail on my side, which does want 
do install manpages) fails as mentioned with sandbox enabled, and succeeds with 

FEATURES="-sandbox -usersandbox" emerge groff

hardened-uclibc profile, gcc-3.4.4-r1, uclibc-0.9.27, groff-1.19.1-r2

------- Comment #30 From SpanKY 2005-10-10 07:05:23 0000 -------
*** Bug 108717 has been marked as a duplicate of this bug. ***

------- Comment #31 From R. Bosch 2005-10-10 08:51:48 0000 -------
(In reply to comment #30)
> *** Bug 108717 has been marked as a duplicate of this bug. ***

Bug 108717 is about compiling Xorg without groff. Might be usefull in the
meantime, until the groff/uclibc issue is resolved...

------- Comment #32 From SpanKY 2005-12-01 02:08:39 0000 -------
0.9.27-r1 is in ~arch now as is 0.9.28

First Last Prev Next    No search results available      Search page      Enter new bug