buildroot and X.org compile problem: "

Allan Clark allanc at chickenandporn.com
Mon Oct 31 16:35:53 UTC 2005


Sascha Juch wrote:
>
> Hi everybody,
>
> I installed buildroot and tried to compile it - first try without 
> modifications to the packages to be compiled and anything went fine. 
> Now, that I have selected to also include X.org into the compile 
> process it throws the following error message:
>
> make[5]: Entering directory 
> `/home/sascha/buildroot/build_i386/xc/programs/xterm'/home/sascha/buildroot/build_i386/staging_dir/bin/i386-linux-uclibc-gcc 
> -Os -ansi -pedantic -Wall -Wpointer-arith -Wundef   -I. 
> -I../../exports/include -I../../exports/include 
> -I../../exports/include/freetype2 
> -I../../exports/include/freetype2/config -I../../exports/include/X11  
> -I../.. -I../../exports/include   -Dlinux -D__i386__ 
> -D_POSIX_SOURCE                             -D_BSD_SOURCE 
> -D_GNU_SOURCE -DX_LOCALE  -DFUNCPROTO=15 -DNARROWPROTO      
> -DSCROLLBAR_RIGHT -DOPT_WIDE_CHARS -DOPT_LUIT_PROG -DOPT_256_COLORS 
> -DXRENDERFONT -DXFREE86_FT2 -DPROJECTROOT=/usr/X11R6     -c -o 
> resize.o resize.c
>
> /home/sascha/buildroot/build_i386/staging_dir/bin/i386-linux-uclibc-gcc 
> -Os -ansi -pedantic -Wall -Wpointer-arith -Wundef   -I. 
> -I../../exports/include -I../../exports/include 
> -I../../exports/include/freetype2 
> -I../../exports/include/freetype2/config -I../../exports/include/X11  
> -I../.. -I../../exports/include   -Dlinux -D__i386__ 
> -D_POSIX_SOURCE                             -D_BSD_SOURCE 
> -D_GNU_SOURCE -DX_LOCALE  -DFUNCPROTO=15 -DNARROWPROTO      
> -DSCROLLBAR_RIGHT -DOPT_WIDE_CHARS -DOPT_LUIT_PROG -DOPT_256_COLORS 
> -DXRENDERFONT -DXFREE86_FT2 -DPROJECTROOT=/usr/X11R6     -c -o 
> xstrings.o xstrings.c
>
> rm -f resize
> /home/sascha/buildroot/build_i386/staging_dir/bin/i386-linux-uclibc-gcc 
> -o resize -Os -ansi -pedantic -Wall -Wpointer-arith -Wundef     
> -L../../exports/lib   resize.o xstrings.o  
> -L/home/sascha/buildroot/build_i386/staging_dir/i386-linux-uclibc/lib    
> -lncurses
>
> /home/sascha/buildroot/build_i386/staging_dir/bin-ccache/../lib/gcc/i386-linux-uclibc/3.4.2/../../../../i386-linux-uclibc/bin/ld: 
> cannot find -lncurses
>
Sascha, you need to build ncurses with the buildroot/cross build first, 
then build Xorg.

It's not obvious, but the buildroot is building without using the 
additional things you've installed for your host system.  Those things 
-- such as ncurses -- give your host system the ability to do ncurses et 
al.  They are (I assume) i386/glibc.  Although buildroot is capable of 
cross-compiling something that is a different architecture, you're doing 
an i386/uClibc build.  Nevertheless, you still need to build ncurses 
inside buildroot to install the library in the right subdirectory so 
that it will be found during the link phase.  This is a problem my 
(recently former) company's customers see, and the sole reason I send 
them to buildroot -- missing libraries, and the fact that buildroot will 
do the right thing.

try adding ncurses in the "packages" section of "make menuconfig", then 
"make ncurses", then your existing build.  Later, you'll want to add 
ncurses as a dependency of Xorg.

(I'm guessing on these make menuconfig option and make target due to the 
pattern of buildroot)

Allan



More information about the uClibc mailing list