Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 42290 - sys-apps/help2man-1.33.1 does not compile
Summary: sys-apps/help2man-1.33.1 does not compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 52676 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-02-20 12:35 UTC by Daniel Seyffer
Modified: 2006-02-04 06:05 UTC (History)
2 users (show)

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


Attachments
sandbox-execve-LD_PRELOAD.patch (sandbox-execve-LD_PRELOAD.patch,1.90 KB, patch)
2004-02-27 16:02 UTC, Martin Schlemmer (RETIRED)
Details | Diff
sandbox-execve-LD_PRELOAD.patch (sandbox-execve-LD_PRELOAD.patch,4.56 KB, patch)
2004-02-28 12:51 UTC, Martin Schlemmer (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Seyffer 2004-02-20 12:35:11 UTC
Hello,

I am just going through stage2 on my sparc (using stage2-sparc64-20040210.tar.bz2) but when I try to emerge sys-apps/help2man-1.33.1 it fails during configure:

----------------------------------
# emerge -u help2man
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-apps/help2man-1.33.1 to /
>>> md5 src_uri ;-) help2man_1.33.1.tar.gz
>>> Unpacking source...
>>> Unpacking help2man_1.33.1.tar.gz to /var/tmp/portage/help2man-1.33.1/work
>>> Source unpacked.
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for perl... perl
checking for sparc-unknown-linux-gnu-gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for library containing dlsym... -ldl
checking for module Locale::gettext... yes
checking for msgfmt... /usr/bin/msgfmt
checking for pre-loadable libintl... no
configure: error: libpreloadable_libintl.so required (gettext 0.12+)

!!! ERROR: sys-apps/help2man-1.33.1 failed.
!!! Function econf, Line 365, Exitcode 1
!!! econf failed
----------------------

but /sys-devel/gettext-0.12.1-r1 and dev-perl/Locale-gettext-1.01-r1 are installed.

I found out that when I extract the sources and then run configure manually in a shell it works just fine:

-----------
 /usr/local/src/help2man-1.33.1 # ./configure
checking for perl... perl
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for library containing dlsym... -ldl
checking for module Locale::gettext... yes
checking for msgfmt... /usr/bin/msgfmt
checking for pre-loadable libintl... yes                      <== !
checking for a BSD-compatible install... /bin/install -c
checking for makeinfo... /usr/bin/makeinfo
checking for install-info... /usr/bin/install-info
configure: creating ./config.status
config.status: creating Makefile
-------------------------

Looking into the configure script I found:
-------------------------  
2305      echo "$as_me:$LINENO: checking for pre-loadable libintl" >&5
2306  echo $ECHO_N "checking for pre-loadable libintl... $ECHO_C" >&6
2307      preload=`LD_PRELOAD="preloadable_libintl.so" sh -c 'echo yes' 2>/dev/null`
2308      echo "$as_me:$LINENO: result: ${preload:=no}" >&5
2309  echo "${ECHO_T}${preload:=no}" >&6
2310          echo "preload: $preload"
2311          test "$preload" = no && \
2312          { { echo "$as_me:$LINENO: error: libpreloadable_libintl.so required (gettext 0.12+)" >&5
2313  echo "$as_me: error: libpreloadable_libintl.so required (gettext 0.12+)" >&2;}
2314     { (exit 1); exit 1; }; }
-------------------------

Obviously there must be something wrong with the check in line 2307 - I can see that on a normal shell it does indeed return "yes" but during the ebuild's configure it probably doesn't work - so far I just could not find out why... ;-)

As a workaround I now emerged help2man-1.29 which worked just fine so that I can continue stage2...


Reproducible: Always
Steps to Reproduce:
1. emerge -u help2man
2. :-|
3.




emerge info output:

Portage 2.0.50-r1 (default-sparc64-2004.0, gcc-3.2.3,
glibc-2.3.3_pre20040207-r0, 2.4.22-rc2-iso-up)
=================================================================
System uname: 2.4.22-rc2-iso-up sparc64 sun4u
Gentoo Base System version 1.4.3.13
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="sparc ~sparc"
AUTOCLEAN="yes"
CFLAGS="-mcpu=ultrasparc -O3 -pipe -fomit-frame-pointer -fstack-protector"
CHOST="sparc-unknown-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-mcpu=ultrasparc -O3 -pipe -fomit-frame-pointer -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="arts avi berkdb crypt cups encode esd fbcon foomaticdb gdbm gif imlib jpeg
kde libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl oss pam pdflib
perl png python qt readline sdl slang sparc spell ssl tcpd truetype xml2 xmms xv
zlib"
Comment 1 Ciaran McCreesh 2004-02-20 13:32:29 UTC
Your options are:
* re-emerge gettext after bootstrap
* USE="-nls" during emerge system

I can reproduce this one but haven't had time to investigate further.
Comment 2 Daniel Seyffer 2004-02-20 13:49:34 UTC
Ok, no prob. As stated above I just used the older help2man-1.29 ebuild which seems to work fine so far (stage 2 currently still compiling). 
Comment 3 Jason Wever (RETIRED) gentoo-dev 2004-02-20 18:14:16 UTC
Not quite sure what's happening here.

If you run configure via portage, it'll die as below.  If you take the exact same config options portage uses (find them via emerge -dv help2man), configure finds and likes the /usr/lib/preloadable_libint.so file.

base-system folks, any ideas?
Comment 4 Jason Wever (RETIRED) gentoo-dev 2004-02-24 05:19:12 UTC
base-system folks - can you please look at this and comment relatively soon?  Or direct me to a better avenue to pursue this issue?
Comment 5 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-26 15:02:03 UTC
*ding* *ding* - Its a sandbox issue.  I am buys with a fix ...
Comment 6 SpanKY gentoo-dev 2004-02-26 15:23:39 UTC
not a sparc issue because i had the same exact problem and we opted to ignore it thinking my box sucked ;)
Comment 7 jose isaias cabrera 2004-02-27 07:06:06 UTC
I am having the same problem.  Thanks for the work-around.

jos
Comment 8 jose isaias cabrera 2004-02-27 07:06:06 UTC
I am having the same problem.  Thanks for the work-around.

josé
Comment 9 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-27 16:02:22 UTC
Created attachment 26489 [details, diff]
sandbox-execve-LD_PRELOAD.patch

Ok, this should fix it.  Besides a small cleanup, it fixes the third argument
of the memcpy's to be 'sizeof (char *)' and not 'sizeof (new_envp)', as it
should be (as we copy the pointer, and not the data).
Comment 10 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-28 12:51:39 UTC
Created attachment 26533 [details, diff]
sandbox-execve-LD_PRELOAD.patch

Ok, this should do it.	We need to create and pass our own environ to execve
on sparc and others.
Comment 11 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-28 13:53:23 UTC
Ok, commited to cvs.  When can we expect this in new portage?
Comment 12 SpanKY gentoo-dev 2004-02-28 14:02:18 UTC
patch fixed it on my machine also
Comment 13 Jason Wever (RETIRED) gentoo-dev 2004-04-11 13:46:49 UTC
As this is now fixed in portage >=2.0.50-r3, anyone have any objections to resolving it?
Comment 14 Daniel Seyffer 2004-05-03 11:39:43 UTC
you can close this one as far as I am concerned... ;-)
Comment 15 Jon Portnoy (RETIRED) gentoo-dev 2004-05-03 12:24:09 UTC
Closing
Comment 16 Ciaran McCreesh 2004-06-01 11:05:12 UTC
*** Bug 52676 has been marked as a duplicate of this bug. ***
Comment 17 Carlos Saltos 2004-11-16 05:04:15 UTC
I have an objection to close this bug ! ... It is suposed to be fixed for portage>=2.0.50-r3 ... but I have this error for portage 2.0.51-r3 trying to emerge a new gentoo 2004.3 system ... my emerge info and error message follows:

Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r1 i686)
=================================================================
System uname: 2.6.9-gentoo-r1 i686 AMD Athlon(tm) XP 2100+
Gentoo Base System version 1.4.16
Autoconf:
Automake:
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools:
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://mirror.switch.ch/mirror/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://www.gigaload.org/gentoo.org/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dfx 3dnow X acpi alsa apache2 apm arts avi berkdb bitmap-fonts crypt cups dga dio divx4linux doc encode f77 flash foomaticdb fortran ftp gdbm gif gnome gpm gstreamer gtk gtk2 imap imlib java jikes jpeg junit kde kerberos libg++ libwww mad mikmod ming mmx motif mozilla mpeg msn mysql ncurses nis nls oggvorbis opengl oss pam pdflib php png postgres python qt quicktime readline ruby samba sdl slp spell sse ssl svga tcpd theora tiff truetype unicode usb vhosts x86 xine xinerama xml2 xmms xv yahoo zlib"

>>> md5 src_uri ;-) help2man-1.29.tar.gz
>>> Unpacking source...
>>> Unpacking help2man-1.29.tar.gz to /var/tmp/portage/help2man-1.29/work
>>> Source unpacked.
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
creating cache ./config.cache
checking for perl... no
configure: error: perl 5.005 required

!!! ERROR: sys-apps/help2man-1.29 failed.
!!! Function econf, Line 449, Exitcode 1
!!! econf failed
!!! If you need support, post the topmost build error, NOT this status message.

Comment 18 Gustavo Zacarias (RETIRED) gentoo-dev 2004-11-16 05:29:10 UTC
csaltos: Actually your problem is a circular dep problem, more in line bug #55479, which isn't related to the original problem of this bug.