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
