HI, Kai, I joined this company two months ago and began to work on this project. On i686 single board computer (Linux 2.4.36.1), there are shared libraries but there are not any head files. One software product of our company runs on it. My work is going to add a new feature into the software product of our company. But the original developer for this software product left the company. There are some files missing. My plan is to build a cross compiler first and then use this cross compiler to build the source codes of software product of our company so that it can run on i686 SBC. I have tested it. I wrote the "Hello World!" C codes and built it with gcc.11.4.0. However it cannot run on i868. The following error message is given below: ./hello:1: Syntax error: word expected (expecting ")") I hope someone can help me with this matter and share your ideas on how to handle it, so that I can succeed to build a cross compiler for i686 SBC with Linux 2.4.36.1. This is the reason I want to rebuild Linux kernel 2.4.36.1. Thanks & regards, Dingjun ________________________________ From: Kai Ruottu <kai.ruottu@xxxxxxxxxxx> Sent: Friday, October 13, 2023 12:36 PM To: Dingjun Chen <Dingjun.Chen@xxxxxxxxxxxxxxxxxxx>; gcc-help@xxxxxxxxxxx <gcc-help@xxxxxxxxxxx> Subject: Re: Some errors occurred when building Linux 2.4.36 Kernel used for building cross-compiler External Email Warning: Do not click any links or open any attachments unless you trust the sender and know the content is safe. From Geotech IT. Dingjun Chen kirjoitti 12.10.2023 klo 21.42: > I want to build Linux 2.4.X kernel (head files and its libraries) in order to build a cross compiler GCC. > it requests the gcc version currently used on my host machine is less than 4.2. > > I really want to build a cross-compiler in order to run our 32-bit application on i686 single board computer, > which has the following information: > > model name : Mobile Intel(R) Celeron(TM) CPU 650MHz Ok, you can get some information from your target Linux system... What about trying to find out what is the 'Linux' now running on it? For instance what does the 'libc.so.6' usually in '/lib' will tell if you run './libc.so.6' in it? If you have only the shared runtime libraries for your target system but no development headers and libraries, neither the '/usr/include/asm*' and '/usr/include/linux' kernel headers, could you tell why you don't have them? If you have all this mentioned stuff required for a cross GCC for your target system, it is hard to understand why you want to rebuild it all from the sources.