On Saturday 04 March 2006 20:00, Rohit Chaudhri wrote:
> Jon,
> Thanks for the information. With this I was able to get further in
> building a softfloat toolchain in scratchbox. Before building a custom
> toolchain I tried building the toolchain as specified by
> crosstool-armv5b-gcc-3.4.5-glibc-2.3.5.conf. The toolchain was built
> successfully, I did make a couple of minor changes to the .conf file
> for the build to succeed:
> - changed include $(CROSSTOOL_DIR)/gcc-3.4.5-glibc-2.3.5-hdrxxx.dat to
> include $(CROSSTOOL_DIR)/gcc-3.4.5-glibc-2.3.5.dat, since a .dat file
> with the original name doesn't exist in crosstool-0.42.tar.gz (this I
> believe is the latest version since I downloaded this yesterday).

Yes. Dan removed the -hdr portion in the file names in the latest crosstool.

> - changed DPKG_ARCH from armv5b to arm, since dpkg didin't recognize
> armv5b.

From your other emails, I am guessing that you want an arm toolchain that 
defaults to little endian rather than big endian.  You might try:
include $(CROSSTOOL_DIR)/arm-softfloat.dat
include $(CROSSTOOL_DIR)/gcc-3.4.5-glibc-2.3.6.dat

and set ARCH, SUB_ARCH, QEMU_ARCH, DPKG_ARCH all to 'arm'.

>
> After these changes the toolchain does get built successfully. However
> some tests in the ./init_tests.sh fail. I am pasting the test results
> below.
>
> I tried building the hello-world package and it builds fine, but
> doesn't run. This is the error message I get:
>
> [sbox-armv5: ~/hello-world] > ./hello
> Error loading ./hello
> [sbox-armv5: ~/hello-world] > ldd hello
>         libc.so.6 => /lib/libc.so.6 (0x00000000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)

I think you might have a big endian binary. Do 'file hello' to find out.

>
> Another runtime problem I run into is related to the sb_gcc_wrapper as
> shown below:
>
> [sbox-armv5: ~/hello-world] > arm-linux-gcc --v
> sb_gcc_wrapper (arm-linux-gcc): arm-linux-gcc cannot be recognized
> Maybe you are trying to run a compiler of a wrong architecture?

I'm not sure, but you may want to check in /scratchbox/compilers/bin and the 
wrapper_links script found in there too.

>
> Don't know why the sb wrapper doesn't recognize any arm-linux-xxx commands.
> I don't know if the problems mentioned above are related to the
> changes I made to the .conf file, would appreciate it if someone could
> confirm this. If so, please tell me what the correct values are for
> the changes I made as mentined above.
>
> I also run into a compile time problem, which seems to be specific to
> gcc version 3.4   since I donot see this compiler error with gcc 3.3.
> The error is pasted below:
>
> In file included from
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qwindowdefs.h:44,
>                  from
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qwidget.h:42,
>                  from
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qapplication.h:42,
>                  from MyWidget.cpp:14:
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qstring.h: In
> member function `uchar& QChar::cell()':
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qstring.h:170:
> error: cannot bind packed field `((QChar*)this)->QChar::cl' to
> `uchar&'
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qstring.h: In
> member function `uchar& QChar::row()':
> /scratchbox/compilers/ezx-toolchain//qt-2.3.6/include/qstring.h:171:
> error: cannot bind packed field `((QChar*)this)->QChar::rw' to
> `uchar&'
>
> Is there a GCC patch that might fix this problem? I'll also search on
> the net to see if I can find something.

No idea here.

>
> I look forward to any helpful responses regarding this. init_tests.sh
> ouput is pasted below....
>
> Thanks,
> Rohit
>
> output from init_tests.sh:
> [sbox-armv5: ~] > ./sb-toolchains/test_tools/test_scripts/init_tests.sh ARM
> 1. compiling
> 2. checking file type
>     file types        ok
> 3. stripping binaries
>     strip             ok
> 4. testing library dependencies
>     hello             ok
>     hello-static      ok
>     hello c++         ok
>     hello-static c++  ok
> 5. running binaries
>     hello             fail
>     hello-static      fail
>     hello c++         fail
>     hello-static c++  fail
> [sbox-armv5: ~] >

I think the tool chain you built may have been for arm in big endian, which 
requires qemu-armeb or a target board that is arm big endian.
_______________________________________________
Scratchbox-users mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users

Reply via email to