The collected works of syschuck

Octave can compile, and like you've I've tried off and on for sometime but to no-avail.
Last March, I finally took it on and got it to compile nicely with the MipsPro 7.3
compiler. Here is what I used as a 'Build script'


#!/bin/bash
#
#
export CC="cc -n32 -mips4 -mp -apo -O3 "
export CXX="CC -n32 -mips4 -mp -apo -O3 "
export F77="f77 -n32 -mips4 -mp -apo -O3 "
export CFLAGS=" -apo -n32 -mips4 -O3 -mp -I/usr/freeware/include"
export CXXFLAGS="-apo -n32 -LANG:std -ptused -prelink -mips4 -O3 -mp -I/usr/freeware/include -woff 3333"
export FFLAGS="-apo -n32 -mips4 -O3 -mp "
export LDFLAGS="-apo -n32 -mips4 -L/usr/lib32/mips4 -L/usr/freeware/lib32"
export LIBS="-lfastm -lreadline -lncurses -lmp -lpthread"
export FLIBS="-lftn -lfastm -lmp -lpthread"
export MAKE="gmake -j35"
./configure --prefix=/sw/freeware --enable-shared --disable-static --enable-rpath='-rpath /usr/lib32:$(octlibdir):/usr/freeware/lib32' --with-blas=scs_mp

-------

There is one more thing:
You will need some special headers that fake the C++ ISO standard headers. I put these
over in /usr/freeware/include but you can place them where you need. I got these from
one of the Octave developers, but I don't think he would mind if I passed the along.
You can fetch them via ftp at ftp://egypt.spd.louisville.edu/pub/CC-isoheaders.tar


Also note: I've been told to expect precision problems with -lfastm so it's optional.
Double also note: This is for a parallel version of Octave. A single processor version
should be much easier. <Grin>

Best Regards,
CHuck
Opps. I believe it's the only file that needs to be changed
to make Octave compile.

The template in Array-tc.cc is not used, and can be simply
remarked out.

#ifdef 0
template<>
octave_value
Array<octave_value>::resize_fill_value (void)
{
...blah
}
#endif

Sorry I forgot to mention that.

Have fun.
Hi All,

I wanted to pass along some things I ran into while compiling KDE 3.1.1. I haven't
got the energy to try KDE 3.2 right now, but soon. First I was using MIPSPro 7.3 on Irix 6.5.17m. First, there are a lot of paramerters in the configs that need to be set, so to
make life easy I started using a 'build.sh' script that would contain all of the things
configure needs. This can save hours of time. The one I used for qt-3.1.2 was the following:

---------------------------
#!/bin/bash
# QT Build script
#
export QTDIR=/sw/kde31/qt
export KDEDIR=/sw/kde31
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARYN32_PATH=$QTDIR/lib:$LD_LIBRARYN32_PATH
export PATH=$QTDIR/bin:$PATH

#export CC="cc -mips3 -n32"
#export CXX="CC -mips3 -n32"
#export CXXFLAGS="-O3 -LANG:std -OPT:Olimit_opt=on -OPT:Olimit=8500 -woff 1021,1209,1233,1314,1355,1375,1506"
export MAKE="gmake -j40"

# For some reason, this is the only one that works
#./configure -shared -thread -qt-gif -platform irix-n32

./configure -prefix /sw/kde31/qt -shared -debug -thread -qt-gif -stl -qt-libpng
-qt-zlib -qt-libjpeg -qt-libmng -platform irix-cc -verbose

------------------------------------------
Next; there is a bug in the either MIPSPro or QT (I'm not sure which) that causes a
problem with the superclass name space. The work around for qt.3.1.2 was to fix
QCString purestSuperClassName() in moc.y. The original patch is here, but I found
that it's easier just to edit moc_yacc.cpp directly.

// CBS: Note: This needs to go into moc_yacc.cpp
// since moc.y does NOT automatically compiled to moc_yacc.cpp
// edit moc_yacc.cpp directly.
--- src/moc/moc.y.orig Mon Jun 10 09:15:59 2002
+++ src/moc/moc.y Mon Jun 10 13:16:56 2002
@@ -2327,18 +2327,7 @@
*/
QCString purestSuperClassName()
{
- QCString sc = g->superClassName;
- QCString c = g->className;
- int pos = sc.findRev( "::" );
- if ( pos != -1 ) {
- sc = sc.right( sc.length() - pos - 2 );
- pos = c.findRev( "::" );
- if ( pos != -1 )
- c = c.right( c.length() - pos - 2 );
- if ( sc == c )
- sc = g->superClassName;
- }
- return sc;
+ return g->superClassName;
}
---------------------------------
That was it for qt. Next was to compile some needed libraries;
libart_lgpl-2.3.10, libxml2-2.5.1, libxslt-1.0.23,
openssl-0.9.7, pcre-3.4, bzip2-1.0.2, jpeg-6b.

With each one of these; I used a build script similar to below.

#!/bin/bash
#
#
export LD_LIBRARYN32_PATH=/sw/kde31/qt/lib:/sw/kde31/lib:/usr/lib32:/lib32:/usr/freeware/lib32:/usr/local/lib32
export QTDIR=/sw/kde31/qt
export KDEDIR=/sw/kde31
export CC="cc -mips3 -n32"
export CXX="CC -mips3 -n32"
export CXXFLAGS="-O2 -LANG:std -OPT:Olimit_opt=on -OPT:Olimit=8500 -woff 1021,1209,1233,1314,1355,1375,1506"
export MAKE="gmake -j35"
./configure --prefix=/sw/kde31
-----------------

After that it was on to the kdelibs, kdebase and the reset. In kdebase I used the following build script,
#!/bin/bash
#
#
export LD_LIBRARYN32_PATH=/sw/kde31/qt/lib:/sw/kde31/lib:/usr/lib32:/lib32:/usr/freeware/lib32:/usr/local/lib32
export QTDIR=/sw/kde31/qt
export KDEDIR=/sw/kde31
export CC="cc -mips3 -n32"
export CXX="CC -mips3 -n32"
export CFLAGS="-O2 -n32 -mips3"
export CXXFLAGS="-O2 -n32 -mips3 -LANG:std -ptused -prelink -OPT:Olimit_opt=on -OPT:Olimit=8500 -woff 1021,1209,1233,1314,13
55,1375,1506"
export LDFLAGS="-n32"
export MAKE="/sw/freeware/bin/gmake -j40"
./configure --prefix=/sw/kde31 --with-qtdir=/sw/kde31/qt --with-qt-dir=/sw/kde31/qt --with-qt-include=/sw/kde31/qt/include --
with-qt-libraries=/sw/kde31/qt/lib --with-extra-includes=/sw/kde31/include:/usr/freeware/include --with-extra-libs=/sw/kde31
/lib:/usr/freeware/lib32 --with-ssl-dir=/sw/kde31 --enable-mt --with-shadow --with-x

--------- -----------

Considering the size of KDE, I didn't have too many problems but there were a few and
almost always it was a name space issue; things like changing
ofstream -> std::ofstream

kate was especially annoying because the patched moc compiler didn't know how to handle
name spaces already defined. Eg. MarkInterface::MarkTypes should be
KTextEditor::MarkInterface::MarkTypes. Perhaps MIPSPro or the new qt has the issue
with moc fixxed. If not be prepared to compile - fix and compile and fix. For the most
part though there are few real gotcha's in the whole of KDE 3.1.1 (all libs included), I made
198 edits. Many where
Of those, I think only ksysguardd/Irix/NetDev.c has an obvious bug in it. The rest are just
name space issues from the moc compiler bug. All and all, not too bad. Even Koffice went
pretty smoothly.

Anyway, I hope that helps in your porting efforts. If I can get some time, I may join you all
in porting efforts and see if the moc problem has been fixxed.

Best Regards. :D