Originally Posted by rylan76
Do you have access to the original machine?
If you can, an approach might be to search that system and copy the .h file off it to yours. Put the file somewhere where it is accessible to your compiler and try compiling the program again.
However, often such .h files contain functions that are actually defined in some library you have to link at compile time. So you'll probably need something like fonticon.a or fonticon.so in your /usr/lib or /usr/local/lib to get the program to compile. This can be a problem since it is unlikely that you'll just be able to copy the library file from the other machine, and have it work on a recent linux kernel due to different binary formats for the two systems. You'll need to find the source somehow and compile the library on linux, then link it against your program with the fonticon.h file accessible.
You'll probable need more information about the program you are trying to port (such as a list of dependencies it requires to compile) before you'll be able to start solving this problem. Just try it - get the file off the other system, make it accessible to the compiler on yours, and if the program compiles, good. But most likely you'll just get a host of other errors, if the fonticon.h file is, in fact (and as I strongly suspect) a library link header.
Check in /usr/src/your_current_running_kernel/include/linux.
This is where you can view available kernel headers. I have both 2.6.22 and 2.6.26 kernels in my lappy and did not see any header by that name, only font.h
. Chances are it does not exist in recent kernels, may never even existed in the Linux kernel.
I have had such errors with a missing ioctl32.h
file that is not part of the Linux kernel anymore. I saved a copy of it by re-installing an older kernel that had it, now when I compile the drivers that require it, I copy it into the include/linux directory of the new kernel and it does the job.