On 8/23/07, James Ausmus <[EMAIL PROTECTED]> wrote:
> On 8/23/07, Mike Frysinger <[EMAIL PROTECTED]> wrote:
> > On Thursday 23 August 2007, James Ausmus wrote:
> > > On 8/23/07, Mike Frysinger <[EMAIL PROTECTED]> wrote:
> > > > On Wednesday 22 August 2007, James Ausmus wrote:
> > > > > On 8/22/07, Mike Frysinger <[EMAIL PROTECTED]> wrote:
> > > > > > On Wednesday 22 August 2007, James Ausmus wrote:
> > > > > > > (As first seen on the gentoo-user mailing list, as I wasn't being
> > > > > > > intelligent at the moment...)
> > > > > > >
> > > > > > > I am using the xmerge script as defined in
> > > > > > > http://www.gentoo.org/proj/en/base/embedded/cross-development.xml,
> > > > > > > all I get are either:
> > > > > > >
> > > > > > > /usr/libexec/gcc/arm-unknown-linux-gnueabi/ld: crt1.o: No such
> > > > > > > file: No such file or directory
> > > > > >
> > > > > > keep it simple, leave configure scripts out of it
> > > > > >
> > > > > > start with a basic compile/link:
> > > > > > $ echo 'int main(){}' > test.c
> > > > > > $ arm-unknown-linux-gnueabi-gcc test.c
> > > > >
> > > > > Thanks for the response. :)
> > > > >
> > > > > Works fine, creates the a.out file, and file identifies it as:
> > > > >
> > > > > a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux
> > > > > 2.6.14, dynamically linked (uses shared libs), not stripped
> > > >
> > > > so now unpack a tarball by hand (something simple like sed-4.1.5.tar.gz)
> > > > and test it out
> > > >
> > > > tar xf sed-4.1.5.tar.gz
> > > > cd sed-4.1.5
> > > > ./configure --host=arm-unknown-linux-gnueabi
> > >
> > > Worked perfectly, as did the subsequent make all command... Sounds
> > > like maybe something in portage itself that isn't working quite right
> > > with cross-compilation? The resulting sed executable is in the same
> > > format as the a.out previously generated with the arm- compiler...
> >
> > then i'd snipe the config.log from the portage build dir, compress it, and
> > post it to the list
> > -mike
>
> Actually, just tried the whole process again, and, so far so good -
> xmerging system right now... The *only* difference in what I did was,
> instead of copying /usr/portage /mnt/arm_root/usr/portage and symlinkg
> /mnt/arm_root/etc/make.profile to
> ../usr/portage/profiles/default-linux/arm/2007.0, I didn't do the
> portage copy, and I symlink'd /mnt/arm_root/etc/make.profile to
> /usr/portage/profiles/default-linux/arm/2007.0 - interesting...
>
> I'll post more if I run into more issues - thanks for the help!


OK, next set of errors, while doing an

xmerge system

Several packages have compiled/installed properly, but texinfo fails
with the following:

arm-unknown-linux-gnueabi-gcc  -Os -pipe   -o ginfo  dir.o display.o
dribble.o echo-area.o filesys.o footnotes.o gc.o indices.o
info-utils.o info.o infodoc.o infomap.o m-x.o man.o nodemenu.o nodes.o
search.o session.o signals.o terminal.o tilde.o variables.o window.o
doc.o ../lib/libtxi.a
arm-unknown-linux-gnueabi-gcc  -Os -pipe   -o infokey  infokey.o key.o
../lib/libtxi.a
terminal.o: In function `terminal_ring_bell':
terminal.c:(.text+0x6c): undefined reference to `tputs'
terminal.o: In function `terminal_end_inverse':
terminal.c:(.text+0xd0): undefined reference to `tputs'
terminal.o: In function `terminal_begin_inverse':
terminal.c:(.text+0x128): undefined reference to `tputs'
terminal.o: In function `terminal_down_line':
terminal.c:(.text+0x180): undefined reference to `tputs'
terminal.o: In function `terminal_up_line':
terminal.c:(.text+0x1d8): undefined reference to `tputs'
terminal.o:terminal.c:(.text+0x230): more undefined references to `tputs' follow
terminal.o: In function `terminal_get_screen_size':
terminal.c:(.text+0x5f4): undefined reference to `tgetnum'
terminal.c:(.text+0x634): undefined reference to `tgetnum'
terminal.o: In function `terminal_initialize_terminal':
terminal.c:(.text+0x750): undefined reference to `tgetent'
terminal.c:(.text+0x7fc): undefined reference to `tgetstr'
terminal.c:(.text+0x85c): undefined reference to `tgetstr'
terminal.c:(.text+0x870): undefined reference to `tgetstr'
terminal.c:(.text+0x884): undefined reference to `tgetstr'
terminal.c:(.text+0x898): undefined reference to `tgetstr'
terminal.o:terminal.c:(.text+0x8ac): more undefined references to
`tgetstr' follow
terminal.o: In function `terminal_initialize_terminal':
terminal.c:(.text+0xa48): undefined reference to `tgetflag'
terminal.c:(.text+0xa58): undefined reference to `tgetflag'
terminal.c:(.text+0xa80): undefined reference to `tgetstr'
terminal.c:(.text+0xa98): undefined reference to `tgetstr'
terminal.c:(.text+0xaac): undefined reference to `tgetstr'
terminal.c:(.text+0xac0): undefined reference to `tgetstr'
terminal.c:(.text+0xad4): undefined reference to `tgetstr'
terminal.o:terminal.c:(.text+0xae8): more undefined references to
`tgetstr' follow
terminal.o: In function `terminal_goto_xy':
terminal.c:(.text+0xd58): undefined reference to `tgoto'
terminal.c:(.text+0xd6c): undefined reference to `tputs'
terminal.o: In function `terminal_insert_lines':
terminal.c:(.text+0xdcc): undefined reference to `tgoto'
terminal.c:(.text+0xdd8): undefined reference to `tputs'
terminal.c:(.text+0xde8): undefined reference to `tputs'
terminal.o: In function `terminal_delete_lines':
terminal.c:(.text+0xe6c): undefined reference to `tgoto'
terminal.c:(.text+0xe78): undefined reference to `tputs'
terminal.c:(.text+0xe88): undefined reference to `tputs'
collect2: ld returned 1 exit status


Now, it appears that ncurses provides the "missing" functions, and
ncurses compiled/installed into /mnt/arm_root properly. The include
files are there, as are the library files
(/usr/lib/libncurses.{so,a}), and, if I run strings on
/mnt/arm_root/usr/lib/libncurses.a and grep for the "missing"
functions, they exist. However, in the erroring gcc command, it never
attempts to do a -lncurses, and, if I run strings on
/var/tmp/portage/sys-apps/texinfo-4.8-r5/work/texinfo-4.8/lib/libtxi.a,
and on /var/tmp/portage/sys-apps/texinfo-4.8-r5/work/texinfo-4.8/info/*.o,
none of the pre-built libraries have any of the "missing" functions
already linked in.

However, if I go in and manually run the

arm-unknown-linux-gnueabi-gcc  -Os -pipe   -o ginfo  dir.o display.o
dribble.o echo-area.o filesys.o footnotes.o gc.o indices.o
info-utils.o info.o infodoc.o infomap.o m-x.o man.o nodemenu.o nodes.o
search.o session.o signals.o terminal.o tilde.o variables.o window.o
doc.o ../lib/libtxi.a

command, but add a

-L/mnt/arm_root/lib -lncurses

into it, it compiles fine...

If I did a -L/mnt/arm_root/usr/lib, it fails, as the
/mnt/arm_root/usr/lib/libncurses.so is just a text reference to
/lib/libncurses.so, which (unless you are chrooted) points to my
x86_64 library...


Thoughts?

-James
-- 
[EMAIL PROTECTED] mailing list

Reply via email to