gentoo-alt  

[gentoo-alt] Re: bash compilation problems during bootstrapping

Dirk Tilger
Tue, 03 Nov 2009 00:01:35 -0800

On 2009-10-31, Dirk Tilger <d...@miriup.de> wrote:
> I'm currently freshly bootstrapping prefix on a Debian system. Bash
> fails compilation with:
>
> -----8<-----
> gcc -L./builtins -L./lib/readline -L./lib/readline -L./lib/glob -L./lib/tilde 
>  -L./lib/sh -Wl,-O1  -rdynamic  -O2 -march=i686 -pipe -o bash shell.o eval.o 
> y.tab.o general.o make_cmd.o print_cmd.o  dispose_cmd.o execute_cmd.o 
> variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o 
> hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o 
> version.o alias.o array.o arrayfunc.o braces.o bracecomp.o bashhist.o 
> bashline.o  list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o 
> pcomplib.o syntax.o xmalloc.o  -lbuiltins -lsh -lreadline -lhistory -lcurses 
> -lglob -ltilde    -ldl
> /usr/bin/ld: cannot find -lcurses
> collect2: ld returned 1 exit status
> make: *** [bash] Error 1
>  * ERROR: app-shells/bash-3.2_p48-r1 failed:
>  *   make failed
> -----8<-----
>
> For some reason the prefix linkage path ($EPREFIX/usr/lib) does not make
> it into the compilation script. I had the ebuild dropping into a bash
> and noticed no LD_LIBRARY_FLAGS&Co had been set either. Where are these
> things set normally?

bash compiles just fine if I modify the ebuild as follows:

-----8<-----
--- var/db/patchmaker/app-shells/bash/4.0_p33/bash-4.0_p33.ebuild        
2009-09-14 09:17:25.000000000 +0200
+++ usr/portage/app-shells/bash/bash-4.0_p33.ebuild 2009-11-03 
08:51:28.000000000 +0100
@@ -121,6 +121,7 @@
                        
-DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
                        -DNON_INTERACTIVE_LOGIN_SHELLS \
                        -DSSH_SOURCE_BASHRC
+               append-ldflags -L${EPREFIX}/usr/lib
        else
        append-cppflags \
                
-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\'
 \
-----8<-----

That doesn't make much sense, does it?

Dirk.