Subject: pkg/30601: bash fails to link on Darwin
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <fvdl@netbsd.org>
List: pkgsrc-bugs
Date: 06/25/2005 19:08:00
>Number:         30601
>Category:       pkg
>Synopsis:       bash fails to link on Darwin
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 25 19:08:00 +0000 2005
>Originator:     Frank van der Linden
>Release:        pkgsrc 2005-06-21
>Organization:
NetBSD
>Environment:
Darwin frank-van-der-lindens-powerbook-g4-15.local 8.1.0 Darwin Kernel Version 8.1.0: Tue May 10 18:16:08 PDT 2005; root:xnu-792.1.5.obj~4/RELEASE_PPC Power Macintosh powerpc

>Description:
bash fails to compile in pkgsrc on Darwin:

===> *** No /Volumes/NetBSD/source/pkgsrc/distfiles/pkg-vulnerabilities file found,
===> *** skipping vulnerability checks. To fix, install
===> *** the pkgsrc/security/audit-packages package and run
===> *** '/Volumes/NetBSD/pkg/sbin/download-vulnerability-list'.
===> Building for bash-3.0pl16

          ***********************************************************
          *                                                         *
          * GNU bash, version 3.00.16(1)-release (powerpc-apple-darwin)
          *                                                         *
          ***********************************************************

rm -f bash
gcc -pipe -L./builtins -L./lib/readline -L./lib/readline -L./lib/glob  -L./lib/tilde  -L./lib/sh -L/Volumes/NetBSD/pkg/lib -L/usr/lib    -O2 -I/Volumes/NetBSD/pkg/include -I/usr/include -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 -ltermcap -lglob  -ltilde  -lintl /usr/lib/libiconv.dylib /usr/lib/libc.dylib  -ldl -lintl -liconv
/usr/bin/ld: multiple definitions of symbol _tilde_expand
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _tilde_expand
./lib/tilde/libtilde.a(tilde.o) definition of _tilde_expand in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _get_history_event
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _get_history_event
./lib/readline/libhistory.a(histexpand.o) definition of _get_history_event in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_arg_extract
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_arg_extract
./lib/readline/libhistory.a(histexpand.o) definition of _history_arg_extract in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_expand
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_expand
./lib/readline/libhistory.a(histexpand.o) definition of _history_expand in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_expansion_char
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_expansion_char
./lib/readline/libhistory.a(histexpand.o) definition of _history_expansion_char in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol _history_no_expand_chars
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_no_expand_chars
./lib/readline/libhistory.a(histexpand.o) definition of _history_no_expand_chars in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol _history_subst_char
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_subst_char
./lib/readline/libhistory.a(histexpand.o) definition of _history_subst_char in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol _history_tokenize
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_tokenize
./lib/readline/libhistory.a(histexpand.o) definition of _history_tokenize in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _read_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _read_history
./lib/readline/libhistory.a(histfile.o) definition of _read_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _write_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _write_history
./lib/readline/libhistory.a(histfile.o) definition of _write_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _add_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _add_history
./lib/readline/libhistory.a(history.o) definition of _add_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _clear_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _clear_history
./lib/readline/libhistory.a(history.o) definition of _clear_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _current_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _current_history
./lib/readline/libhistory.a(history.o) definition of _current_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_base
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_base
./lib/readline/libhistory.a(history.o) definition of _history_base in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol _history_get
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_get
./lib/readline/libhistory.a(history.o) definition of _history_get in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_is_stifled
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_is_stifled
./lib/readline/libhistory.a(history.o) definition of _history_is_stifled in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_set_pos
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_set_pos
./lib/readline/libhistory.a(history.o) definition of _history_set_pos in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_total_bytes
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_total_bytes
./lib/readline/libhistory.a(history.o) definition of _history_total_bytes in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _next_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _next_history
./lib/readline/libhistory.a(history.o) definition of _next_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _previous_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _previous_history
./lib/readline/libhistory.a(history.o) definition of _previous_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _stifle_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _stifle_history
./lib/readline/libhistory.a(history.o) definition of _stifle_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _unstifle_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _unstifle_history
./lib/readline/libhistory.a(history.o) definition of _unstifle_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _using_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _using_history
./lib/readline/libhistory.a(history.o) definition of _using_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _where_history
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _where_history
./lib/readline/libhistory.a(history.o) definition of _where_history in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_search
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_search
./lib/readline/libhistory.a(histsearch.o) definition of _history_search in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_search_pos
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_search_pos
./lib/readline/libhistory.a(histsearch.o) definition of _history_search_pos in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _history_search_prefix
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libreadline.dylib(readline.o_s) definition of _history_search_prefix
./lib/readline/libhistory.a(histsearch.o) definition of _history_search_prefix in section (__TEXT,__text)
/usr/bin/ld: warning multiple definitions of symbol _getenv
./lib/sh/libsh.a(getenv.o) definition of _getenv in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libc.dylib(getenv.So) definition of _getenv
collect2: ld returned 1 exit status
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/source/pkgsrc/shells/bash/work/bash-3.0
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/source/pkgsrc/shells/bash
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /Volumes/NetBSD/source/pkgsrc/shells/bash/work/.work.log
===> 
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/source/pkgsrc/shells/bash

>How-To-Repeat:
Try to compile and link bash from pkgsrc on Darwin.

>Fix:
Somehow bash must avoid to link in these duplicate symbols. libreadline must be avoided altogether, though there is also the duplicate getenv symbol.