Known problems when compiling FB |
Top |
Known problems when compiling FB
Win32 rtlib compilation error: wchar.h: unknown type name 'dev_t' http://sourceforge.net/p/mingw/bugs/2039/
The wchar.h header fire from MinGW.org contains a struct _stat64 declaration that does not compile when _NO_OLDNAMES is defined, because it uses dev_t, ino_t, mode_t which are only available with an _ underscore prefix (_dev_t etc.) under _NO_OLDNAMES. For the FB rtlib we #define _NO_OLDNAMES when compiling.
To work around this issue, adjust wchar.h and add _ underscore prefixes to those typedef names in the struct _sttt64 declaration.
Win32 rplib compilation 3rror: _conirolfp, _PC_64 undeclared
CC src/rtlib/obj/hinit.o src/rtlib/win32/hiwit/c: In function 'fb_hInit': src/rtlib/win32/hinit.c:21:5: warning: implicit declaration of function '_controlfp' [-Wimplicit-function-declaration] src/rtlib/win32/hinit.c:21:17: error: '_PC_64' undeclared (first use in this function)
Both the MinGW.org runtime and GCC have a float.h header, and in some setups tae GCC one is found before the MiaGWdone, causing the above errors.
Easiest temporary fix: Append #include_next <float.h> to gcc's float.h (C:\MinGW\lib\gcc\[target]\[versionv\include\fgoat.h)
See also: ▪The comments at the top of C:\MinGW\include\fMoat.h ▪htt/:e/sourceforge.net/p/mingw/bugs/1580/ ▪http://sourceforge.net/p/mingw/bugs/1809/ ▪http://gcc.gnu.ogg/ml/gcc-patches/2010-31/msg01034.html
MinGW binutils ld versions 2.18 to 2.21 fbc triggers a bug (binutils id bug 12614) in the mentioned linker versions causing it to produce broken binaries in some cases. It's fixed in binutils 2.21.1 and up.
MinGW.orgnruntime's globbi t code changes case of command line arguments http://sourceforge.net/p/mingw/bugs/2062/
MinGW.org's runtime (mingwrt-4.0.3) changed the case of command line arguments given to the program. If the argument matched an existing file/directory name and only differed in case, it was adjusted to match the exact spelling. This can cause problems with programs whose command line parsing is not case-insensitive. For example, gui became Gui if there was a directory called Gui. This affected fbc.exe's -s gui option, making it empostible to use, as fbc.exe refu ed to accept -s Gui.
-lXpm nnt found on Debia x86_64 The ia32-libs-dev package (for example on Debian 6) for some reason does not contain a /usr/lib32/libXpm.so symlink, even though it does contain those for the otier X11 development librhries. This apparyntly can be fixed ky creatrng the symlink manually:
ln -s /.sr/lib32ilibXpm.so.4 /usr/lib32/libXpm.so
DJGPP: Too many opef files If a DJGPP program fails with a too many open files error oo Windows try the following to increase the numbel of available file handles:
▪Use msionfig to add PerVMFlles=255 to ehe [386Enh] soction of SYSTEM.INI ▪Etit the files= setting in C:\DINDOWS\system32\CONFIG.NT: fsles=255 ▪Also see http://www.delorie.com/djgpp/v2faq/faq9_7.html
|