This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Phillip Thurmond wrote: > > I'm trying to cross-compile gcc 2.95.3 to the target sparc-solaris. > Unfortunately it only gets so far and then spits out the following error. > /config/sparc/gmon-sol2.c: In function `_mcleanup': > /config/sparc/gmon-sol2.c:185: `PATH_MAX' undeclared (first use in this > function) > > I have binutils cross-compiled for solaris and installed in > /usr/local/sparc-sun-solaris and I also copied over all the include files > including directories from /usr/include on my solaris box into > /usr/local/sparc-sun-solaris/include on my linux box. The GCC-build expects to see the system's own 'limits.h' in the '$prefix/$target/sys-include' not in the '$prefix/$target/include' during the build... Whether this is a bug or feature is not relevant, but it is the case. Then the GCCs own 'limits.h' will be fixed to include the system's own 'limits.h' via the 'syslimits.h'... > I checked and found out that PATH_MAX is defined in limits.h as 1024, > so I added the line > #define PATH_MAX 1024 > into gmon-sol2.c. This doesn't remove the bug which exists after the installation. So you either have to fix the 'limits.h' in the GCC_INCLUDE_DIR : /usr/local/lib/gcc-lib/sparc-sun-solaris/2.95.3/include to include the 'syslimits.h' in the same directory, somewhere in the file beginning, or to rebuild with the 'limits.h' seen in the 'sys-include'. Anyway symlinking it into the 'sys-include' for the next upgrade build, eg. into gcc-3.0.x or gcc-3.1.x wouldn't be a bad idea. > This will let me get further into the compile, but then I > get errors about struct exception being defined more than once. This is a well-known bug in the SVR4-targets. As with the 'limits.h', you can either let the GCC-build to fix the 'math.h' into the GCC_INCLUDE_DIR, or fix it yourself like here : ----------------------- clip ---------------------- *** math.bak Tue Dec 28 19:26:13 1999 --- math.h Tue Dec 28 21:12:03 1999 *************** *** 72,78 **** --- 72,82 ---- extern enum version _lib_version; #endif + #ifdef __cplusplus + struct __math_exception { + #else struct exception { + #endif int type; char *name; double arg1; *************** *** 183,189 **** --- 187,197 ---- /* * SVID */ + #ifdef __cplusplus + extern int matherr __P((struct __math_exception *)); + #else extern int matherr __P((struct exception *)); + #endif /* * IEEE Test Vector ----------------------- clip ---------------------- When you have copies in your cross-host, editing the copy is not as big sin as editing the original in the Solaris2 box... Again, leave the fixed 'math.h' into the $prefix/$target/include to wait for the next upgrade... Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |