Date: Mon, 28 Feb 2000 08:30:10 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Frank Donahoe cc: DJGPP List Subject: Re: LD errors compiling source from gnupg-1.0.1.tar.gz In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: dj-admin AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 27 Feb 2000, Frank Donahoe wrote: > > > c:/djg/tmp/dj200000: line 1: syntax error near unexpected token `-Wl,-(' > > > c:/djg/tmp/dj200000: line 1: `gcc -g -O2 -mpentiumpro -march=pentiumpro -W > > > -Wall -o mpicalc.exe mpicalc.o ../cipher/libcipher.a ../mpi/libmpi.a > > > ../util/libutil.a -Wl,-( ../mpi/libmpi.a -)' > > > > That's because parens are special to Bash, you need to escape them or > > quote them. > > > > "redir" invoked from the DOS prompt was running "make". "bash" was only > used to run "configure". Those c:/djg/tmp/dj200000 file names tell quite clearly that Bash *was* invoked. The error message wording, ``syntax error near unexpected token'', is also Bash style. If the Makefile said "SHELL = /bin/sh", and you have sh.exe somewhere on your PATH, then Make will invoke Bash the moment it sees a parenthesis, because parentheses are special shell characters, and Make cannot handle them on its own. This is explained in the Make manual. > Is "ifdef DOS appropriate? No, you should use "#ifdef __DJGPP__". This is specific to the DJGPP configuration, someone else could come up with a DOS compiler that doesn't prepend underscores. > What will this mean for all the C sources using "libmpi.a"? Nothing. The problem should be solved in the assembly sources, not in C.