Hello, bug-binutils,
 
I encountered a couple of problems while building binutils-2.43.1 from the 
source file distribution but I managed to get the job done with an ugly 
workaround.
 
First the build stopped at /libibery/filedescriptor.c. The dup2() function gets 
called but was not declared nor defined. This function is defined in unistd.h 
but unistd.h was not included so I decided to add #include <unistd.h> in the 
source myself.
 
Now after this it stopped building on /libiberty/pex-unix.c. I got an error 
message about something like 'implicit declaration of open()'
 
To get the compilation of per-unix.c done I had to add #include <sys/stat.h> 
and #include <fcntl.h> in the source.
 
also in /bfd/plugin.c, /binutils/objdump.c, /binutils/ar.c, binutils/rename.c 
and /binutils/ldbuildid.c I got the same error message about 'implicit 
declaration of open()'.
 
I've got this fixed by manually adding #include <fcntl.h> in each of the files. 
This workaround is, despite the fact that it does work, the ugly way of getting 
it to work.
 
My #include's are not within #ifdef SOME_DEFINITION #endif statements and 
probably also not in the right spot in the program's hierarchy, but still, this 
way I've managed to get binutils built.
 
 
 

Reply via email to