[home] :: Building an ARM Development Environment :: [building-an-arm-development-environment-1]
0 products in your
If this is the first time you do this, you must also configure the kernel appropriately.
Then you should configure the compiler, in the same way that used for configuring the Binutils, build it and then move on.
If you are trying to bootstrap a development environment for the first time on this system you will find that not everything should be built at the first time around. The only things that matter at this stage are those that are built if you type `make LANGUAGES="c"’ in the `gcc’ subdirectory. Once enough of the compiler is built you can install it - again you may need to be in the gcc subdirectory and use LANGUAGES="c" to get this to complete without errors.
Now you have built enough of an environment for building kernels and standalone “C” programs. If this is all what you intended to do, you can just stop here and buy a beer to congratulate yourself on a well done job. If you still want to use some other languages or build programs that linking with the C library, you should continue.
3. Library
For ARM systems you need glibc 2.1, glibc is the GNU C Library, and essentially is a library of common tasks that can be used when programming in C. An index of it can be found at: http://www.gnu.org/software/libc/manual/html_node/index.html, You will need the linuxthreads and crypt add-ons as well as the library itself. Click here to download.
Compiling the libc natively is simple. However if you are installing your new library on a system that is already based on glibc, there might be some troubles so be careful, -- a mistake may mean you are hosed.
In a cross-compile environment things are a little more difficult.You will need to use a configure line of the following form:
$ CC=arm-linux-gcc .../configure arm-linux --build=i586-linux --prefix=/usr/arm-linux --enable-add-ons=...
The compiler must be specified, otherwise you will end up building the library with your native compiler which will leave you with a horrendous mix of architectures and a broken library. Specifying the build system is also necessary to ensure the "make" process goes smoothly. It does not matter if the name you give here is not totally accurate, it just has to be different from that of the host system. "--target” would make no sense when configuring glibc. Do NOT just give the same --prefix argument that you used for compiling gcc and binutils, make sure you add the extra component so that the library installs into the correct target directory. Installing a cross library in /usr by mistake will bring you to grief quite quickly.
For standalone environment, we recommend the newlib package instead. Download here.
Then you should configure the compiler, in the same way that used for configuring the Binutils, build it and then move on.
If you are trying to bootstrap a development environment for the first time on this system you will find that not everything should be built at the first time around. The only things that matter at this stage are those that are built if you type `make LANGUAGES="c"’ in the `gcc’ subdirectory. Once enough of the compiler is built you can install it - again you may need to be in the gcc subdirectory and use LANGUAGES="c" to get this to complete without errors.
Now you have built enough of an environment for building kernels and standalone “C” programs. If this is all what you intended to do, you can just stop here and buy a beer to congratulate yourself on a well done job. If you still want to use some other languages or build programs that linking with the C library, you should continue.
3. Library
For ARM systems you need glibc 2.1, glibc is the GNU C Library, and essentially is a library of common tasks that can be used when programming in C. An index of it can be found at: http://www.gnu.org/software/libc/manual/html_node/index.html, You will need the linuxthreads and crypt add-ons as well as the library itself. Click here to download.
Compiling the libc natively is simple. However if you are installing your new library on a system that is already based on glibc, there might be some troubles so be careful, -- a mistake may mean you are hosed.
In a cross-compile environment things are a little more difficult.You will need to use a configure line of the following form:
$ CC=arm-linux-gcc .../configure arm-linux --build=i586-linux --prefix=/usr/arm-linux --enable-add-ons=...
The compiler must be specified, otherwise you will end up building the library with your native compiler which will leave you with a horrendous mix of architectures and a broken library. Specifying the build system is also necessary to ensure the "make" process goes smoothly. It does not matter if the name you give here is not totally accurate, it just has to be different from that of the host system. "--target” would make no sense when configuring glibc. Do NOT just give the same --prefix argument that you used for compiling gcc and binutils, make sure you add the extra component so that the library installs into the correct target directory. Installing a cross library in /usr by mistake will bring you to grief quite quickly.
For standalone environment, we recommend the newlib package instead. Download here.