nanogui: linking nano-x problem
Subject:
linking nano-x problem
From:
"Finn S. Nielsen" ####@####.####
Date:
8 Feb 2005 00:23:44 +0000
Message-Id: <002b01c50d74$a4cd1bc0$0b2ca8c0@FNIBM>
Hi,
I'm trying to compile the newest version of microwindows for uClinux
(running on a microblaze CPU)
I've entered a new section into the Arch.rules section to allow selection of
uClinux:
ifeq ($(ARCH), LINUX-UCLINUX)
COMPILER = gcc
CXX_COMPILER = g++
TOOLSPREFIX = $(MICROBLAZETOOLSPREFIX)
DEFINES += -DLINUX=1 -DUNIX=1
CFLAGS += $(GCC_WARNINGS) $(OPTFLAGS)
LDFLAGS += -lc
endif
The first part of the control file looks like this:
# note: ELKS can't build client/server nano-X, nor widget lib
#
####################################################################
ARCH = LINUX-UCLINUX
BIGENDIAN = Y
NATIVETOOLSPREFIX =
ARMTOOLSPREFIX = arm-linux-
MIPSTOOLSPREFIX = mipsel-linux-
POWERPCTOOLSPREFIX = powerpc-linux-
SHTOOLSPREFIX = sh-linux-gnu
RTEMSTOOLSPREFIX = i386-rtemself-
MICROBLAZETOOLSPREFIX = mb-
####################################################################
#
# Compiling options
#
####################################################################
OPTIMIZE = Y
DEBUG = N
VERBOSE = Y
THREADSAFE = Y
GPROF = N
####################################################################
#
# Libraries to build: microwin, nano-X, nanowidget, object frameworks
#
####################################################################
MICROWIN = N
NANOX = Y
SHAREDLIBS = N
OBJFRAMEWORK = N
---cut---------
By when nano-x is being linked I get a loadfull of undefined references,
which looks like it's not linking in libc.a But notice that there is a -lc
linker option on the command line.
The C library is uClibc. The dir. where libc is is also given on the command
line ( -L/home/fn/uClinux-dist/lib/uClibc/lib the contents of which is:
crt0.o crt1.o libc.a libcrypt.a libm.a libnsl.a libresolv.a
libutil.a). What could be wrong / does this ring a bell ??
Compile/link output given below.
Thanks
Finn
make[4]: Entering directory `/home/fn/uClinux-dist/user/microwin/src/nanox'
Linking nano-X ...
mb-gcc -Os -g -fomit-frame-pointer -Dlinux -D__linux__ -Dunix -D__uClinux__
-DEMBED -I/home/fn/uClinux-dist/lib/uClibc/include -I/home/fn/uClinux-dist/lib/libm
-I/home/fn/uClinux-dist/lib/libcrypt_old -I/home/fn/uClinux-dist -fno-builtin
-mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -I/home/fn/uClinux-dist/linux-2.4.x/include
-I. -I/home/fn/uClinux-dist/user/microwin/src/include -I. -I/home/fn/uClinux-dist/user/microwin/src/include
-Os -g -fomit-frame-pointer -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED
-I/home/fn/uClinux-dist/lib/uClibc/include -I/home/fn/uClinux-dist/lib/libm
-I/home/fn/uClinux-dist/lib/libcrypt_old -I/home/fn/uClinux-dist -fno-builtin
-mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -I/home/fn/uClinux-dist/linux-2.4.x/include
-Wl,-elf2flt -nostartfiles
/home/fn/uClinux-dist/lib/uClibc/lib/crt0.o -nostdlib -L/home/fn/uClinux-dist/lib/uClibc/.
-L/home/fn/uClinux-dist/lib/uClibc/lib -L/home/fn/uClinux-dist/lib/libm -L/home/fn/uClinux-dist/lib/libnet
-L/home/fn/uClinux-dist/lib/libdes -L/home/fn/uClinux-dist/lib/libaes -L/home/fn/uClinux-dist/lib/libpcap
-L/home/fn/uClinux-dist/lib/libssl -L/home/fn/uClinux-dist/lib/libcrypt_old
-L/home/fn/uClinux-dist/lib/zlib -L/home/fn/uClinux-dist/user/microwin/src/lib
-L/home/fn/uClinux-dist/user/microwin/src/lib -lgcc -lc -o
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devopen.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devdraw.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devfont.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devmouse.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devkbd.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devclip.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devrgn.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devpal1.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devpal2.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devimage.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devlist.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/selfont.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/error.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devrgn2.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devarc.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devpoly.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devstipple.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/font_dbcs.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/font_fnt.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/font_pcf.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devtimer.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devpal8.o
/home/fn/uClinux-dist/user/microwin/src/obj/engine/devpal4.o
/home/fn/uClinux-dist/user/microwin/src/obj/fonts/rom8x16.o
/home/fn/uClinux-dist/user/microwin/src/obj/fonts/rom8x8.o
/home/fn/uClinux-dist/user/microwin/src/obj/fonts/winFreeSansSerif11x13.o
/home/fn/uClinux-dist/user/microwin/src/obj/fonts/winFreeSystem14x16.o
/home/fn/uClinux-dist/user/microwin/src/obj/fonts/X6x13.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin8.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin16.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin24.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin32.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin32alpha.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/genmem.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fb.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin1.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin2.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/genfont.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/scr_fb.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fbportrait_left.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fbportrait_right.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fbportrait_down.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin4.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/mou_null.o
/home/fn/uClinux-dist/user/microwin/src/obj/drivers/kbd_null.o
/home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvmain.o
/home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvfunc.o
/home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvutil.o
/home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvevent.o
/home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvclip.o
/home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvnet.o
/home/fn/uClinux-dist/user/microwin/src/lib/libmwengine.a
/home/fn/uClinux-dist/user/microwin/src/lib/libmwdrivers.a
/home/fn/uClinux-dist/user/microwin/src/lib/libmwfonts.a
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function
`GdFindNearestColor':
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:345: undefined
reference to `abs'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:345: undefined
reference to `abs'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:345: undefined
reference to `abs'
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function
`GdGetColorRGB':
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:378: undefined
reference to `__assert'
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function
`putsw':
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:467: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:467: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function
`putdw':
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:476: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:476: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:476: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt:/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:476:
more undefined references to `fputc_unlocked' follow
/home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function
`GdCaptureScreen':
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `fopen'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `open'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `fwrite'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `fputc_unlocked'
/home/fn/uClinux-dist/user/microwin/src/engine/devopen.c:506: undefined
reference to `read'