Aside from the system libraries, I've used only libraries from /usr/freeware and nothing that I compiled myself. Configure command line was:
Code:
rm -f config.cache; CFLAGS=" -O3 -mips4 -mtune=r5k -ffast-math -funroll-loops -mabi=n32 -finline-functions " CPPFLAGS="-I/usr/freeware/include" CCFLAGS=" -O3 -mips4 -mtune=r5k -ffast-math -funroll-loops -mabi=n32 -finline-functions " CXXFLAGS=" -O3 -mips4 -mtune=r5k -ffast-math -funroll-loops -mabi=n32 -finline-functions " ./configure
If you want the compiler flags to actually be used, you will have to edit ./configure and remove the lines
CFLAGS="-s -Wall -O2 -ffast-math -fexpensive-optimizations"
CXXFLAGS="-s -Wall -O2 -ffast-math -fexpensive-optimizations"
The reading of hipparcos coordinates is still broken with gcc and strict aliasing but can be fixed with the following patch:
Code:
--- hip_star.cpp Thu Mar 20 17:15:51 2003
+++ ../../../stellarium-0.5.2/src/hip_star.cpp Mon Feb 23 21:36:32 2004
@@ -42,26 +42,26 @@
int Hip_Star::Read(FILE * catalog)
// Read datas in binary catalog and compute x,y,z;
{
- float RA=0, DE=0;
- fread((char*)&RA,4,1,catalog);
- LE_TO_CPU_FLOAT(RA, RA);
+ float RA=0, DE=0, xDE, xRA;
+ fread(&xRA,4,1,catalog);
+ LE_TO_CPU_FLOAT(RA, xRA);
- fread((char*)&DE,4,1,catalog);
- LE_TO_CPU_FLOAT(DE, DE);
+ fread(&xDE,4,1,catalog);
+ LE_TO_CPU_FLOAT(DE, xDE);
RA/=12./PI; // Convert from hours to rad
DE/=180./PI; // Convert from deg to rad
- unsigned short int mag;
- fread((char*)&mag,2,1,catalog);
- LE_TO_CPU_INT16(mag, mag);
+ unsigned short int mag, xmag;
+ fread(&xmag,2,1,catalog);
+ LE_TO_CPU_INT16(mag, xmag);
Mag = (5. + mag) / 256.0;
if (Mag>250) Mag = Mag - 256;
- unsigned short int type;
- fread((char*)&type,2,1,catalog);
- LE_TO_CPU_INT16(type, type);
+ unsigned short int type, xtype;
+ fread(&xtype,2,1,catalog);
+ LE_TO_CPU_INT16(type, xtype);
// Calc the Cartesian coord with RA and DE
RADE_to_XYZ((double)RA,(double)DE,XYZ);
The position of the Moon is still off, and the current 0.6 beta version that's supposed to fix this segfaults here.