[<<] [<] Page 1 of 1 [>] [>>] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
[Solved] Multiple definition error when building Nano-X with VNC
server
From: Pete Klemm ####@####.#### Date: 24 Feb 2012 15:45:55 -0000 Message-Id: <4F47B09F.8010304@esysr.com> Found my problem, From drivers/Object.rules ifeq ($(HAVE_VNCSERVER_SUPPORT), Y) MW_CORE_OBJS += $(MW_SUBDRIVER_OBJS) MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/vncserver.o endif This includes the subdriver objects a second time. Removing the line fixed the problem. On 2/24/2012 9:21 AM, Pete Klemm wrote: > Hi, > > I am trying to build Nano-X with the latest source code from git > repository. > > I am running into multiple definition errors while 'Linking nano-X ...' > > Linking nano-X ... > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0x0): > multiple definition of `fblinear8_left' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0x0): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0x40): > multiple definition of `fblinear8_right' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0x40): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0x80): > multiple definition of `fblinear8_down' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0x80): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0xc0): > multiple definition of `fblinear8' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin8.o:(.data.rel+0xc0): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin16.o:(.data.rel.local+0x0): > multiple definition of `fblinear16' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin16.o:(.data.rel.local+0x0): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin24.o:(.data.rel.local+0x0): > multiple definition of `fblinear24' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin24.o:(.data.rel.local+0x0): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin32.o:(.data.rel.local+0x0): > multiple definition of `fblinear32bgra' > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin32.o:(.data.rel.local+0x0): > first defined here > /root/svn/gcm-microwin-repos/trunk/microwin/src/obj/drivers/fblin32.o:(.data.rel.local+0x10): > multiple definition of `fblinear32rgba' > / > . > . > . > > Could I have enabled some options that are incompatible in the config > file? > > Here is my config file: > > #################################################################### > # config: Microwindows and Nano-X configuration file > # > # This package is configured using this file for desktop Linux running > # In addition, a variety of mouse and keyboards drivers can be > # selected (see MOUSE AND KBD below) > # > # See the src/Configs directory for pre-built config files. > # Edit this or copy one src/config, and type "make clean; make" > #################################################################### > > #################################################################### > # Build target platform. Valid ARCH values are: > # > # LINUX-NATIVE > # LINUX-AVR32 (BIGENDIAN=Y) > # LINUX-TCC > # LINUX-ARM > # UCLINUX-ARM > # LINUX-MIPS > # LINUX-POWERPC (BIGENDIAN=Y) > # LINUX-SPARC (BIGENDIAN=Y) > # LINUX-BLACKFIN > # LINUX-SH > # SOLARIS (BIGENDIAN=Y) > # PSP > # NDS (Nintendo DS) > # TRIMEDIA > # MACOSX > # RTEMS > # ECOS > # CYGWIN > #################################################################### > ARCH = LINUX-NATIVE > BIGENDIAN = N > NATIVETOOLSPREFIX = > ARMTOOLSPREFIX = arm-linux- > MIPSTOOLSPREFIX = mipsel-linux- > POWERPCTOOLSPREFIX = powerpc-linux- > SHTOOLSPREFIX = sh-linux-gnu > AVR32TOOLSPREFIX = avr32-linux- > BLACKFINTOOLSPREFIX = bfin-uclinux- > PSPTOOLSPREFIX = psp- > > #################################################################### > # > # Compiling options > # > #################################################################### > OPTIMIZE = Y > DEBUG = N > VERBOSE = N > THREADSAFE = Y > GPROF = N > > #################################################################### > # > # Libraries to build: microwin, nano-X, engine, object frameworks > # > #################################################################### > MICROWIN = N > NANOX = Y > ENGINE = N > SHAREDLIBS = Y > OBJFRAMEWORK = N > > #################################################################### > # > # Demos to build > # > #################################################################### > MICROWINDEMO = N > NANOXDEMO = Y > > #################################################################### > # > # Applications to build > # > #################################################################### > NANOWM = N > FBEMULATOR = N > > #################################################################### > # > # If using Linux framebuffer, set to MWPF_TRUECOLOR8888, and use fbset. > # When running X11, this sets the X11 pixel emulation at runtime. > # > # On Linux or when running the standard framebuffer subdrivers, > # the runtime framebuffer BPP (bits per pixel) is used to select > # the runtime screen subdriver. However, the format of the pixel > # itself must be selected at compile time, which sets macros used > # for MWCOLORVAL color conversions and conversion blit byte order. > # This also sets sizeof(MWPIXELVAL) for optimizing buffers sizes > # in GrArea/GrReadArea. > # > # define MWPF_PALETTE /* pixel is packed 8 bits 1, 4 or 8 pal > index*/ > # define MWPF_TRUECOLOR8888 /* pixel is packed 32 bits byte order > |B|G|R|A|*/ > # define MWPF_TRUECOLORABGR /* pixel is packed 32 bits byte order > |R|G|B|A|*/ > # define MWPF_TRUECOLOR888 /* pixel is packed 24 bits byte order > |B|G|R|*/ > # define MWPF_TRUECOLOR565 /* pixel is packed 16 bits little endian > RGB565*/ > # define MWPF_TRUECOLOR555 /* pixel is packed 16 bits little endian > RGB555*/ > # define MWPF_TRUECOLOR332 /* pixel is packed 8 bits RGB 332*/ > # define MWPF_TRUECOLOR233 /* pixel is packed 8 bits BGR 332*/ > # > #################################################################### > SCREEN_PIXTYPE = MWPF_TRUECOLOR8888 > > #################################################################### > # NanoX: Put Y to the following line to link the nano-X application > # with the server. This is required if UNIX sockets aren't available, > # or for speed or debugging. This affects the nano-X server only. > #################################################################### > LINK_APP_INTO_SERVER = N > > #################################################################### > # Shared memory support for Nano-X client/server protocol speedup > #################################################################### > HAVE_SHAREDMEM_SUPPORT = N > > #################################################################### > # File I/O support > # Supporting either below drags in libc stdio, which may not be wanted > #################################################################### > HAVE_FILEIO = Y > > #################################################################### > # BMP, GIF reading support > #################################################################### > HAVE_BMP_SUPPORT = Y > HAVE_GIF_SUPPORT = Y > HAVE_PNM_SUPPORT = Y > HAVE_XPM_SUPPORT = Y > > #################################################################### > # JPEG support through libjpeg, see README.txt in contrib/jpeg > #################################################################### > HAVE_JPEG_SUPPORT = Y > INCJPEG = . > LIBJPEG = /usr/lib/libjpeg.so > > #################################################################### > # PNG support via libpng and libz > #################################################################### > HAVE_PNG_SUPPORT = Y > INCPNG = . > LIBPNG = /usr/lib/libpng.so > INCZ = . > LIBZ = /usr/lib/libz.so > > #################################################################### > # TIFF support through libtiff > #################################################################### > HAVE_TIFF_SUPPORT = N > INCTIFF = . > LIBTIFF = /usr/lib/libtiff.so > > #################################################################### > # PCF font support - .pcf/.pcf.gz loadable fonts > #################################################################### > HAVE_PCF_SUPPORT = Y > HAVE_PCFGZ_SUPPORT = Y > PCF_FONT_DIR = "/usr/share/fonts/pcf" > > #################################################################### > # Truetype fonts - .ttf loadable fonts thru Freetype 2.x > #################################################################### > HAVE_FREETYPE_2_SUPPORT = Y > INCFT2LIB = /usr/include > LIBFT2LIB = /usr/local/lib/libfreetype.a > FREETYPE_FONT_DIR = "/usr/share/fonts/truetype" > > #################################################################### > # T1 adobe type1 fonts - .pfb/.afm loadable thru t1lib > # t1lib.config must be setup and in T1LIB_FONT_DIR > #################################################################### > HAVE_T1LIB_SUPPORT = N > T1LIB_FONT_DIR = "fonts/type1" > INCT1LIB = /usr/include > LIBT1LIB = /usr/lib/libt1.so > > #################################################################### > # FNT font support - .fnt/.fnt.gz loadable fonts (native bdf-converted) > #################################################################### > HAVE_FNT_SUPPORT = Y > HAVE_FNTGZ_SUPPORT = Y > FNT_FONT_DIR = "/usr/share/fonts/fnt" > > #################################################################### > # Japanese EUC-JP support using loadable MGL font > #################################################################### > HAVE_EUCJP_SUPPORT = N > EUCJP_FONT_DIR = "fonts/japanese" > > #################################################################### > # Chinese Han Zi Ku loadable font support > #################################################################### > HAVE_HZK_SUPPORT = Y > HZK_FONT_DIR = "/usr/share/fonts/chinese" > > #################################################################### > # DBCS Chinese BIG5 compiled in font support (big5font.c) > #################################################################### > HAVE_BIG5_SUPPORT = Y > > #################################################################### > # DBCS Chinese GB2312 compiled in font support (gb2312font.c) > #################################################################### > HAVE_GB2312_SUPPORT = N > > #################################################################### > # DBCS Japanese JISX0213 compiled in font support (jisx0213-12x12.c) > #################################################################### > HAVE_JISX0213_SUPPORT = N > > #################################################################### > # DBCS Korean HANGUL font support (jo16x16.c) > #################################################################### > HAVE_KSC5601_SUPPORT = N > > #################################################################### > # Fribidi and shape/joining support for right to left rendering > #################################################################### > HAVE_FRIBIDI_SUPPORT = N > HAVE_SHAPEJOINING_SUPPORT = N > INCFRIBIDI = $(TOP)/../../../include > LIBFRIBIDI = $(TOP)/../../../lib/libfribidi.a > > #################################################################### > # Generate screen driver interface only with no fonts or clipping > #################################################################### > NOFONTS = N > NOCLIPPING = N > > #################################################################### > # Window move algorithms for Microwindows > # Change for tradeoff between cpu speed and looks > # ERASEMOVE (nanowm) repaints only backgrounds while window dragging > # Otherwise an XOR redraw is used for window moves only after button up > # UPDATEREGIONS (win32 api only)paints in update clipping region only > #################################################################### > ERASEMOVE = Y > UPDATEREGIONS = Y > > #################################################################### > # SCREEN DRIVERS > #################################################################### > > # X11 and FBE startup screen width, height, (depth for palette mode only) > SCREEN_WIDTH = 640 > SCREEN_HEIGHT = 480 > SCREEN_DEPTH = 8 > > # X Window screen driver > # USE_EXPOSURE for XFree86 4.x or if backing store not working > X11 = N > USE_EXPOSURE = Y > > # Framebuffer screen driver > FRAMEBUFFER = Y > > # memory screen driver > SCRMEM = N > > # PSP screen driver > PSP = N > > # Nintendo DS screen driver > SCRNDS = N > > # set VTSWITCH to include virtual terminal switch code > # set FBREVERSE to reverse bit orders in 1,2,4 bpp > # set GRAYPALETTE to link with Gray Palette (valid only for 4bpp modes) > # set HAVETEXTMODE=Y for systems that can switch between text & graphics. > VTSWITCH = Y > FBREVERSE = N > GRAYPALETTE = N > HAVETEXTMODE = N > > # SA1100_LCD_LTLEND 4bpp driver with arm SA1100 LCD controller > # INVERT4BPP 4bpp inverted pixel driver for VTech Helio > SA1100_LCD_LTLEND = N > INVERT4BPP = N > > #################################################################### > # Mouse drivers > # GPMMOUSE gpm mouse > # SERMOUSE serial Microsoft, PC, Logitech, PS/2 mice (/dev/psaux) > # SUNMOUSE Sun Workstation mouse (/dev/sunmouse) > # NOMOUSE no mouse driver > # > # Touchscreen drivers > # IPAQMOUSE Compaq iPAQ, Intel Assabet (/dev/h3600_tsraw) > # ZAURUSMOUSE Sharp Zaurus (/dev/sharp_ts) > # TUXMOUSE TuxScreen (/dev/ucb1x00-ts) > # ADSMOUSE Applied Data Systems GC+ (/dev/ts) > # ADS7846MOUSE ADS7846 chip, PSI OMAP Innovator (/dev/innnovator_ts) > # EPMOUSE Embedded Planet (/dev/tpanel) > # VHMOUSE Vtech Helio (/dev/tpanel) > # MTMOUSE MicroTouch serial (/dev/ttyS1) > # PSIONMOUSE Psion 5 (/dev/touch_psion) > # YOPYMOUSE Yopy (/dev/yopy-ts) > # HARRIERMOUSE NEC Harrier (/dev/tpanel) > # TSLIBMOUSE Use tslib (/dev/input/event0) > # EVENTMOUSE Simple standard event interface (/dev/input/event0) > # TTMOUSE TomTom GO and ONE (/dev/ts) > #################################################################### > GPMMOUSE = N > SERMOUSE = N > SUNMOUSE = N > NOMOUSE = N > IPAQMOUSE = N > ZAURUSMOUSE = N > TUXMOUSE = N > ADSMOUSE = N > ADS7846MOUSE = N > EPMOUSE = N > VHMOUSE = N > MTMOUSE = N > PSIONMOUSE = N > YOPYMOUSE = N > HARRIERMOUSE = N > LIRCMOUSE = N > TSLIBMOUSE = Y > TTMOUSE = N > PSPMOUSE = N > NDSMOUSE = N > EVENTMOUSE = N > > # keyboard or null kbd driver > TTYKBD = N > SCANKBD = N > PIPEKBD = N > IPAQKBD = N > LIRCKBD = N > PSPKBD = N > EVENTKBD = N > NOKBD = Y > # Secondary keyboard drivers for IR input > LIRCKBD2 = N > > #################################################################### > # VNC server support through libvncserver > #################################################################### > HAVE_VNCSERVER_SUPPORT = Y > VNCSERVER_PTHREADED = Y > LIBVNC = /usr/lib/libvncserver.a > INCVNC = /usr/include > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: ####@####.#### > For additional commands, e-mail: ####@####.#### > > > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[<<] [<] Page 1 of 1 [>] [>>] |