Archive for the ‘root’ Category

Waiting for Cheetah3D 5.0

Saturday, April 4th, 2009

It’s hard to believe that I’ve been so busy for the last two years that I haven’t posted anything here.

Now I’m excited about the upcoming release of Cheetah3D 5.0 and I feel that I finally understand how to use version 4!

Building PRC-Tools for Mac OS X Tiger

Tuesday, March 21st, 2006

As part of my 2006 spring cleaning, I decided to upgrade icequake (my 1.2MHz G4 iBook) to OS X Tiger, but first I had to deal with one outstanding issue.

All of the PalmOS development work that I do uses PRC-Tools with Xcode 1.2 on MacOS Panther. I’d been reluctant to tinker with such a stable development environment, and hadn’t done any experiments to see whether it was possible to get the same tools working with Tiger. After one failed attempt at installing Greg Clayton and Zeno Crivelli’s discontinued PRC-Tools for MacOS X at http://www.zenonez.com/prctoolsx/index.html, I decided to continue using Panther on the iBook. Until today.

I’m tired of not being able to install useful new software on icequake because it requires the new features of Tiger, and there’s a bit of spare tinkering time just now so…

Following the directions found at the SourceForge PRC-Tools: GCC for Palm OS page, I created a prctools directory in my user directory, and downloaded the current release file prc-tools-2.3.tar.gz from prc-tools.sourceforge.net

I then used ftp to get the required GNU source tarballs from a site listed on the GNU FTP Mirror List.

ftp://anonymous@mirrors.kernel.org//gnu/gdb/gdb-5.3.tar.gz
ftp://anonymous@mirrors.kernel.org//gnu/gcc/gcc-3.3.1.tar.gz
ftp://anonymous@mirrors.kernel.org//gnu/gcc/gcc-2.95.3.tar.gz
ftp://anonymous@mirrors.kernel.org//gnu/binutils/binutils-2.14.tar.gz

The highest version of gcc which can be used to build these packages is 3.3 and Xcode 2.2.1 is set to use gcc 4.0.1 which will not work. Fortunately, gcc 3.3 is also provided with Xcode, as is a tool named gcc_select which sets the current compiler.
To make sure that the correct compiler would be used to build the toolset, I used the gcc_select tool as follows.

First, I checked for the available compilers:

iq:~ lrt$ gcc_select --list
Available compiler versions:
3.3 3.3-fast 4.0

and then the current compiler setting:

iq:~ lrt$ gcc_select
Current default compiler:
gcc version 4.0.1 (Apple Computer, Inc. build 5250)

The sudo gcc_select 4.0 command will be used to restore the default compiler setting later. I selected the 3.3 compiler before continuing.

iq:~/prctools lrt$ sudo gcc_select 3.3
Password:
Default compiler has been set to:
gcc version 3.3 20030304 (Apple Computer, Inc. build 1819)

I then checked to make sure that the location of my PalmOS SDK was /opt/palmdev/sdk-5/ as required in the standard configuration.

iq:~ lrt$ ls -l /opt/palmdev
total 0
drwxr-xr-x 5 lrtitze admin 170 Aug 7 2005 Palm_One
drwxrwxr-x 9 root admin 306 Aug 11 2005 sdk-5

Now the sources had to be unpacked, and the patches applied:

iq:~ lrt$ cd prctools
iq:~/prctools lrt$ tar xfz prc-tools-2.3.tar.gz
iq:~/prctools lrt$ tar xfz binutils-2.14.tar.gz
iq:~/prctools lrt$ tar xfz gdb-5.3.tar.gz
iq:~/prctools lrt$ tar xfz gcc-2.95.3.tar.gz
iq:~/prctools lrt$ tar xfz gcc-3.3.1.tar.gz
iq:~/prctools lrt$ cat prc-tools-2.3/*.palmos.diff | patch -p0
patching file binutils-2.14/ChangeLogs.palmos
patching file binutils-2.14/Makefile.in
patching file binutils-2.14/bfd/Makefile.am
snip...
patching file gdb-5.3/gdb/remote-palmos.c
patching file gdb-5.3/gdb/stack.c
patching file gdb-5.3/gdb/symfile.c
patching file gdb-5.3/libiberty/fnmatch.c

Finally, some symlinks were required to make the GNU packages available to the prc-tools configure script and the top-level Makefile so that building all the packages would be integrated into just one build:

iq:~/prctools lrt$ cd prc-tools-2.3
iq:~/prctools/prc-tools-2.3 lrt$ ln -s ../binutils-2.14 binutils
iq:~/prctools/prc-tools-2.3 lrt$ ln -s ../gdb-5.3 gdb
iq:~/prctools/prc-tools-2.3 lrt$ ln -s ../gcc-2.95.3 gcc295
iq:~/prctools/prc-tools-2.3 lrt$ ln -s ../gcc-3.3.1 gcc
iq:~/prctools/prc-tools-2.3 lrt$ cd ..

Following the sourceforge recommendations, these packages were configured in a seperate directory from their source trees:

iq:~/prctools lrt$ mkdir builds
iq:~/prctools lrt$ cd builds
iq:~/prctools/builds lrt$ mkdir empty
iq:~/prctools/builds lrt$ ../prc-tools-2.3/configure \
--target=m68k-palmos --enable-languages=c,c++ \
--with-headers=`pwd`/empty

creating cache ./config.cache
checking host system type... powerpc-apple-darwin8.5.0
checking target system type... m68k-unknown-palmos
checking build system type... powerpc-apple-darwin8.5.0
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
snip...
checking build system type... powerpc-apple-darwin8.5.0
creating ./config.status
creating Makefile

To build and install the tools, I prepared myself for a lengthy break and set things in motion with:

iq:~/prctools/builds lrt$ sudo make

and finally:

iq:~/prctools/builds lrt$ sudo make install

With the basic toolset in place, all that remained was to download, unpack, configure, make, and install pilrc-3.2, the PalmOS “Pilot Resource Compiler” tool.

From the project pages of pilrc.sourceforge.net found at SourceForge.net: PilRC I downloaded the latest pilrc-3.2.tar.gz to the prctools directory and unpacked it.

iq:~ lrt$ cd ~/prctools
iq:~/prctools lrt$ tar xfz pilrc-3.2.tar.gz

Based on its instructions, I configured it,

iq:~/prctools lrt$ cd pilrc-3.2
iq:~/prctools/pilrc-3.2 lrt$ unix/configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
snip...
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands

then (again prepared for a long watch):

iq:~/prctools/pilrc-3.2 lrt$ sudo make

and finally:

iq:~/prctools/pilrc-3.2 lrt$ sudo make install
test -z "/usr/local/bin" || /bin/sh unix/mkinstalldirs "/usr/local/bin"
/usr/bin/install -c 'pilrc' '/usr/local/bin/pilrc'
test -z "/usr/local/share/pilrc" || /bin/sh unix/mkinstalldirs "/usr/local/share/pilrc"
/usr/bin/install -c -m 644 'ppmquant/palette-02.pbm' '/usr/local/share/pilrc/palette-02.pbm'
/usr/bin/install -c -m 644 'ppmquant/palette-04.pgm' '/usr/local/share/pilrc/palette-04.pgm'
/usr/bin/install -c -m 644 'ppmquant/palette-16.pgm' '/usr/local/share/pilrc/palette-16.pgm'
/usr/bin/install -c -m 644 'ppmquant/palette-256.ppm' '/usr/local/share/pilrc/palette-256.ppm'

All of the required compilation was complete, so I switched back to gcc 4.0.1 while I was still in a state of mind to remember.

iq:~/prctools/pilrc-3.2 lrt$ cd ~/
iq:~ lrt$ sudo gcc_select 4.0
Default compiler has been set to:
gcc version 4.0.1 (Apple Computer, Inc. build 5250)

With the Palm SDK and the toolset installed in their default locations, it was simple to let PRC-Tools set up its own configuration so that it was ready to use.

iq:~ lrt$ sudo palmdev-prep
Password:
Checking SDKs in /opt/palmdev
sdk-5 headers in 'include', libraries in 'lib'

When GCC is given no -palmos options, SDK '5' will be used by default

Writing SDK details to configuration files...
...done
iq:~ lrt$

Now whenever I use an external-build Xcode project, I simply make sure that the makefile has:

PREFIX = /usr/local/bin/
CC = ${PREFIX}m68k-palmos-gcc
PILRC = ${PREFIX}pilrc
BUILDPRC = ${PREFIX}build-prc
PRC2BIN = ${PREFIX}prc2bin

After an afternoon of tinkering and another few hours documenting the process so that you could follow it, I’m ready to update icequake.

Technorati Tags: , ,



Smooth sailing (revisited)

Thursday, March 9th, 2006

NOTE: This is a post from my original blog (September 20th, 2005) being transferred from MarsEdit via NetNewsWire.

Smooth sailing

Well, I decided to install MySQL from the MySQL development downloads page. With that in place, it became easier to set up the rest of my system.
This little laptop is finally running with a harmony consisting of:

  • Mac OS X 10.3.9 (Panther)
  • Xcode 1.2
  • PRC-Tools v.2.3
  • PilRC 3.2
  • MySQL 4.1.13
  • Apache 2.0.54
  • mod_fastcgi 2.4.2
  • mod_ruby 1.2.4
  • Ruby 1.8.2
  • Ruby Gems 0.8.11
  • rb-fcgi 0.8.6
  • Rails 1.8.2
  • Typo 2.5.5
  • PHP 5.0.5
  • phpMyAdmin 2.6.1
  • Joomla! 1.0

The final tricky step for me was the configuration script for PHP5 but I got it:

cd ~mysrc/php5
sudo ./configure -prefix=/opt/local/php5 \
''-with-config-file-path=/usr/local/php5/etc \
''-enable-calendar -with-iconv=/opt/local \
''-enable-exif -enable-ftp -enable-wddx \
''-with-zlib=/opt/local -with-mysql=/usr/local/mysql \
''-with-libxml-dir=/opt/local -with-gettext=/opt/local \
''-with-libxml-dir=/opt/local -with-xml \
''-with-expat-dir=/opt/local -with-xmlrpc \
''-enable-filepro -enable-bcmath -enable-trans-sid \
''-enable-mbstring -enable-dbx -with-openssl=/opt/local \
''-with-mhash=/opt/local -with-mcrypt=/opt/local \
''-with-tidy=/opt/local -with-xsl=/opt/local \
''-with-imap=/opt/local -with-imap-ssl=/opt/local \
''-with-curl=/opt/local -enable-sqlite-utf8 \
''-with-kerberos=/usr -with-iodbc=/usr \
''-with-apxs2=/opt/local/apache2/bin/apxs
sudo make
sudo make install

Now that all of the components are working, maybe I can do some actual software development.

Technorati Tags: , ,

(Via From the Workroom.)

Second viJournal test

Thursday, March 9th, 2006

Well, there’s definitely a problem with using the Blogger protocol. There was no title with that last post until I manually edited it.

I’m inside a daily entry in the main viJournal window now to test formatting and other stuff.

Well, It’ll be interesting to see whether this works as well as a dedicated blog editor such as MarsEdit or ecto.

Anyway, this appears to be an interesting alternative to MacJournal and will be fun to play with for a while.

First viJournal test

Thursday, March 9th, 2006

It’ll be interesting to see whether viJournal works as well as a dedicated blog editor such as MarsEdit or ecto.

It appears to be an interesting alternative to MacJournal and will be fun to play with for a while.

My Hello world from WordPress!

Wednesday, March 8th, 2006

Welcome to WordPress. As an experiment, I’m moving everything from my Typo blog over to WordPress to see how well it translates.

Testing This Again

Wednesday, March 8th, 2006

At this point, I want to see whether there’s any use keeping my TextPattern blog alive, or whether I should just bite the bullet and switch to WordPress.

Joomla!

Tuesday, September 20th, 2005

After all of that fidgeting, I now have Joomla running as well. Now we can look into PHP-based CMS development as well. This is getting quite exciting again. Rails will be great for custom app development and Joomla will let us work on more standard site development.

Technorati Tags: ,

Smooth sailing

Tuesday, September 20th, 2005

Well, I decided to install MySQL from the MySQL development downloads page. With that in place, it became easier to set up the rest of my system.
This little laptop is finally running with a harmony consisting of:

  • Mac OS X 10.3.9 (Panther)
  • Xcode 1.2
  • PRC-Tools v.2.3
  • PilRC 3.2
  • MySQL 4.1.13
  • Apache 2.0.54
  • mod_fastcgi 2.4.2
  • mod_ruby 1.2.4
  • Ruby 1.8.2
  • Ruby Gems 0.8.11
  • rb-fcgi 0.8.6
  • Rails 1.8.2
  • Typo 2.5.5
  • PHP 5.0.5
  • phpMyAdmin 2.6.1
  • Joomla! 1.0

The final tricky step for me was the configuration script for PHP5 but I got it:

cd ~mysrc/php5
sudo ./configure --prefix=/opt/local/php5 \
  --with-config-file-path=/usr/local/php5/etc \
  --enable-calendar --with-iconv=/opt/local \
  --enable-exif --enable-ftp --enable-wddx \
  --with-zlib=/opt/local --with-mysql=/usr/local/mysql \
  --with-libxml-dir=/opt/local --with-gettext=/opt/local \
  --with-libxml-dir=/opt/local --with-xml \
  --with-expat-dir=/opt/local --with-xmlrpc \
  --enable-filepro --enable-bcmath --enable-trans-sid \
  --enable-mbstring --enable-dbx --with-openssl=/opt/local \
  --with-mhash=/opt/local --with-mcrypt=/opt/local \
  --with-tidy=/opt/local --with-xsl=/opt/local \
  --with-imap=/opt/local --with-imap-ssl=/opt/local \
  --with-curl=/opt/local --enable-sqlite-utf8 \
  --with-kerberos=/usr --with-iodbc=/usr \
  --with-apxs2=/opt/local/apache2/bin/apxs
sudo make
sudo make install

Now that all of the components are working, maybe I can do some actual software development.

Technorati Tags: , ,

Still having MySQL problems

Sunday, September 18th, 2005

Somehow, I cannot find a way to switch over to the MySQL server that I installed using DarwinPorts. The /opt/local/bin/mysqld_safe command is always generating errors.

One of the first things it was complaining about was that the error file Icequake.local.err located in /opt/local/var/db/mysql/ had the wrong ownership. I fixed that by doing a chown mysql to fix it, but then it started complaining that the Inno databases were corrupt.

InnoDB: Database was not shut down normally!
and then:

Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
Well, I guess I’ll keep trying!

Technorati Tags: ,