misc/188445: Unable to link testmain in sys/boot/ficl after make all

Devin Teske dteske at FreeBSD.org
Fri Apr 11 01:40:01 UTC 2014


>Number:         188445
>Category:       misc
>Synopsis:       Unable to link testmain in sys/boot/ficl after make all
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 11 01:40:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Devin Teske
>Release:        9.2-STABLE @ r260095M
>Organization:
FIS Global, Inc.
>Environment:
FreeBSD blackford.shxd.cx 9.2-STABLE FreeBSD 9.2-STABLE #19 r260095M: Wed Mar  5 12:07:49 PST 2014     devin at blackford.shxd.cx:/usr/src/sys/amd64/compile/SYNAPSE-amd64  amd64
>Description:
If you say "make all" (or simply "make") in sys/boot/ficl prior to saying "make testmain", the latter fails.

NOTE: "testmain" is the userland ficl interpreter used for honing your Forth, teaching others, or just plain messing around with the language.
>How-To-Repeat:
First say "make clean" in sys/boot/ficl. Then say "make" or "make all". Both of these are expected to return successfully. Finally say "make testmain" to produce the following error:

cc -O2 -pipe  -ffreestanding -march=i386 -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -DTESTMAIN -D_TESTMAIN -std=gnu99   -m32 -I. -I/usr/src/sys/boot/ficl -I/usr/src/sys/boot/ficl/i386  -I/usr/src/sys/boot/ficl/../common  -o testmain dict.o ficl.o fileaccess.o float.o loader.o math64.o prefix.o search.o stack.o tools.o vm.o words.o sysdep.o softcore.o testmain.o
loader.o: In function `keyQuestion':
loader.c:(.text+0x312): undefined reference to `ischar'
loader.o: In function `ficlCopyout':
loader.c:(.text+0x424): undefined reference to `archsw'
loader.o: In function `ficlCopyin':
loader.c:(.text+0x468): undefined reference to `archsw'
loader.o: In function `pfopen':
loader.c:(.text+0x697): undefined reference to `Malloc'
loader.c:(.text+0x6c3): undefined reference to `Free'
loader.o: In function `ficlFindfile':
loader.c:(.text+0x8c6): undefined reference to `file_findfile'
loader.o: In function `ms':
loader.c:(.text+0x2fc): undefined reference to `delay'
sysdep.o: In function `ficlFree':
sysdep.c:(.text+0xd2): undefined reference to `Free'
sysdep.o: In function `ficlRealloc':
sysdep.c:(.text+0xed): undefined reference to `Realloc'
sysdep.o: In function `ficlMalloc':
sysdep.c:(.text+0x102): undefined reference to `Malloc'
*** [testmain] Error code 1

See "Fix to the problem if known" for work-around.


>Fix:
A work-around exists which is to first say "make clean", then "make testmain". Another acceptable workaround is to say "make clean" and then perform "make all testmain" (which interestingly links testmain fine despite running the `all' target prior to testmain).

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list