[fpc-devel] ncurses example on arm linux uclibc
Jonas Maebe
jonas.maebe at elis.ugent.be
Fri Oct 23 16:23:44 CEST 2009
On 23 Oct 2009, at 15:55, Nataraj S Narayan wrote:
> While trying to compile 'firework.pp' under packages/ncurse, for
> arm-linux-uclibcgnueabi-
uclibc support has not been maintained for a long time, so if it works
you're lucky.
> Since my target SBC dont have libncursesw.so i did a symlink to
> libncurses.so.5.6.
Is its functionality also in that library?
> Target file system is uclibc based. ppcrossarm is compiled with
> arm-linux-uclibcgnueabi-
>
> I am able to compile on host & execute on target a simple
> Helloworld.pas.
>
> Using :-
> /software/fpc-uclibc/lib/fpc/2.5.1/ppcrossarm -n -MObjFPC -TLinux
> -Parmv5 -gl -Xd -Xs -l -darm -XParm-linux-uclibcgnueabi- -CfSOFT
> -CaEABI -darm -gl -O- -CpARMV5 examples/firework.pp -uUSE_LOCALIZE
> firework.pp -Fu/software/fpc-uclibc/lib/fpc/2.5.1/units/arm-linux/*
> -Fl/usr/br-git-rf/usr/lib -FL/usr/br-git-rf/lib/ld-uClibc.so.0
You should use -XR/usr/br-git-rf (note the uppercase R!) instead of
the -Fl. That will set the "root" directory relative to which all
libraries/object files are searched.
> I get the following errors when compiling :-
>
> Free Pascal Compiler version 2.5.1 [2009/10/23] for arm
> Copyright (c) 1993-2009 by Florian Klaempfl
> /usr/bin/arm-linux-uclibcgnueabi-ld: warning: libc.so.0, needed by
> /usr/br-git-rf/usr/lib//libncursesw.so, not found (try using -rpath or
> -rpath-link)
That may be solved by the -XR
> /software/fpc-uclibc/lib/fpc/2.5.1/units/arm-linux/rtl/cprt0.o: In
> function `_start':
> (.text+0x4c): undefined reference to `__libc_start_main'
That's because of the previous error.
> /usr/br-git-rf/usr/lib//libc.a(sigrestorer.os):(.ARM.exidx+0x0):
> undefined reference to `__aeabi_unwind_cpp_pr1'
> /usr/br-git-rf/usr/lib//libc.a(fread_unlocked.os): In function
> `fread_unlocked':
> fread_unlocked.c:(.text+0x4c): undefined reference to `__aeabi_uidiv'
> fread_unlocked.c:(.text+0x130): undefined reference to `__aeabi_uidiv'
No idea whether these are part of libc or libgcc. You may also have to
add {$linklib gcc} to your program and -Fl/path/to/libgcc to your
command line.
Jonas
More information about the fpc-devel
mailing list