nanogui: Thread: [Solved] Multiple definition error when building Nano-X with VNC server


[<<] [<] 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 [>] [>>]


Powered by ezmlm-browse 0.20.