compile error while building kernel

Jeremy Chadwick koitsu at freebsd.org
Fri Mar 28 04:04:13 PDT 2008


On Thu, Mar 27, 2008 at 09:19:24PM -0500, Rance Hall wrote:
> [/usr/src/sys/i386/compile/GENERIC] root at rance-freebsd# make
> cc -c -o -pipe -march=athlon-mp -std=c99 -g -Wall -Wredundant-decls
> -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes
> -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
> -fformat-extensions -nostdinc -I. -I../../.. -I../../../contrib/altq
> -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
> -finline-limit=8000 --param inline-unit-growth=100 --param
> large-function-growth=1000 -mno-align-long-strings
> -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
> -mno-sse3 -ffreestanding ../../../i386/i386/genassym.c
> NM='nm' sh ../../../kern/genassym.sh genassym.o > assym.s
> nm: 'genassym.o': No such file

I see the problem.  Look closely there at the cc line:

cc -c -o -pipe ... genassym.c

There is no object destination specified via -o.  This is why no .o file
is being created.  What I'd like to know is why gcc isn't complaining
about arguments being incorrect.

It should be:

cc -c -pipe ... genassym.c

Are you sure you aren't setting something in make.conf pertaining to
optimisations, up, using lowercase -o instead of capital -O ?  This
would cause what you're seeing.

Look closely at walt's cc line and you'll see what I mean:

root at k9/usr/src/sys/i386/compile/GENERIC #make
cc -c ... -O ... ../../../i386/i386/genassym.c

-- 
| Jeremy Chadwick                                    jdc at parodius.com |
| Parodius Networking                           http://www.parodius.com/ |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |



More information about the freebsd-stable mailing list