From: "Laurynas Biveinis" Date: Tue, 26 Jun 2001 12:31:06 +0200 To: Eli Zaretskii Cc: djgpp-workers AT delorie DOT com Subject: Re: bash 2.04 build failure? Message-ID: <20010626123106.A224@lauras.lt> Mail-Followup-To: Eli Zaretskii , djgpp-workers AT delorie DOT com References: <20010620113212 DOT A16882 AT lauras DOT lt> <3395-Wed20Jun2001200621+0300-eliz AT is DOT elta DOT co DOT il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3395-Wed20Jun2001200621+0300-eliz@is.elta.co.il> User-Agent: Mutt/1.3.18i Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > That's because dosexec.c in the library sources now has the code to > support invocation of Windows programs with long command lines via > CMDLINE environment variable. This change required an addition of > another argument to _dos_exec, so now the prototype in process.h and > in Bash disagree. Why does bash have its own copy of dosexec.c? It is very similar, if not identical, to copy of dosexec.c from libc 2.03. If bash has its own copy to support earlier libc versions, I suggest either conditionalizing the code or dropping it. Also, when I disable it, I encounter next failure: --------- rm -f bash.exe gcc -L./builtins -L./lib/readline -L./lib/readline -L./lib/glob -L./lib/tilde -L./lib/malloc -L./lib/sh -L./lib/dos -L./lib/termcap -march=i686 -O2 -fomit-frame-pointer -fstrict-aliasing -o bash.exe 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 nojobs.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 braces.o bracecomp.o bashhist.o bashline.o siglist.o list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o xmalloc.o -lbuiltins -lreadline -lhistory ./lib/termcap/libtermcap.a -lglob -ltilde -lmalloc -lsh -ldos -lintl c:/djgpp/lib/libc.a(tminit.o)(.data+0x0):tminit.c: multiple definition of `__libc_tty_internal' ./lib/dos/libdos.a(tminit.o)(.data+0x0):tminit.c: first defined here c:/djgpp/lib/libc.a(tminit.o)(.data+0x64):tminit.c: multiple definition of `__libc_tty_p' ./lib/dos/libdos.a(tminit.o)(.data+0x64):tminit.c: first defined here c:/djgpp/lib/libc.a(tminit.o)(.data+0x80):tminit.c: multiple definition of `__libc_tty_editline' ./lib/dos/libdos.a(tminit.o)(.data+0x80):tminit.c: first defined here c:/djgpp/lib/libc.a(tminit.o)(.data+0x884):tminit.c: multiple definition of `__libc_termios_hook_common_count' ./lib/dos/libdos.a(tminit.o)(.data+0x884):tminit.c: first defined here c:/djgpp/lib/libc.a(tminit.o)(.text+0x18):tminit.c: multiple definition of `__libc_termios_init' ./lib/dos/libdos.a(tminit.o)(.text+0xb0):tminit.c: first defined here collect2: ld returned 1 exit status make.exe: *** [bash.exe] Error 1 ------ What should I do about this one? Laurynas