I have been experimenting with gcc-mips on the Ben. I have encountered several problems, some of which I have been able to "fix" or work around but others not.
First, when I tried some examples from the Gnu Scientific Library, I found the none of the header files where included in the *.ipk files. Thus the compile fails. I then searched in my image build directory, found the include files and transferred them to /usr/include. Second, the compile when through now, but the link step failed. The linker could not find any of the modules in the shared libraries. The shared libraries all seemed to be there. So I went back to my image build directory and transferred over all the static libraries and then use -static with gcc and I had success. Third, downloaded the "NCURSES Programming HOWTO" from http://www.linux.org/docs/ldp/howto/NCURSES-Programming-HOWTO/index.html and tried to compile the demo programs. Again none of the header files were on the Ben even though all the shared libraries were. Transferred them to the Ben as above and got through the compile step but the link step failed and could not find any of the modules in the library. Transferred the static libraries from my image build dir, added -static to the options list for gcc, and all of the demos did compile and link. I tried a few of them and they worked. One problem was that the borders of windows are drawn with the wrong characters. The horizontal lines are drawn with what looks like an "A" with a tilde on top. The vertical lines are drawn with what looks like a digit 3 but is not quite that shape. Some key code table is incorrect somewhere:) The corners are wrong also but my font is too small for me to identify what is appearing:) Fourth, I tried using an explicit -shared option with gcc in place of -static. I only tried a few demos and the ones that appeared to compile and link, seg faulted when tried. The hanoi.c demo failed in the link step with a series of undefined references to: __preinit_array_start __preinit_array_end __fini_array_start __fini_array_end __init_array_start __init_array_end I did check on the configure options used for the image build for gcc-mips. There was one that appeared to me to request a build of gcc-mips that supported shared libraries. Summary: Part of my problem is that I'm just learning to use gcc for the first time so perhaps I have missed some flag--there are enough of them available that missing one is really easy:) However, the following changes would get things working more smoothly: 1. The header files need to be included with at least these two libraries and perhaps more that I have not tested. They should go into a _dev package for the library. That is what Debian does. 2. I have not been able to get any shared library to work with gcc-mips on the Ben. I don't know enough about gcc usage to do much more. 3. The static libraries are not packaged. It appears they should be until we can get shared libraries working on the Ben. Maybe they should always be included. Delbert _______________________________________________ Qi Hardware Discussion List Mail to list (members only): [email protected] Subscribe or Unsubscribe: http://lists.en.qi-hardware.com/mailman/listinfo/discussion

