OpenSolaris EPIC FAIL

I decided I'd be a good sport and try to do some build work for Drizzle on OpenSolaris to make sure we weren't accidentally Linux-ifying something. Nevermind OpenSolaris installing an nsswitch file set up to not use DNS by default. Nevermind OpenSolaris reinventing the wheel for package management rather than starting with a package management system already in use by people (or and then fixing the things . Nevermind the GPL incompatible CDDL license... I'd be a good sport and give it (another) try.
I should add, in all honesty, I really do want OpenSolaris to be good. I think monocultures are bad, and I think Solaris can be useful in the growth of the ecosystem.
Step one. Install bzr.
pkg search bzr
Nothing. Wasn't expecting much. That's ok. Grab tarball. Unpack.
FAIL
Silly me. There is no sudo, so I had become root first (sure - I'm sure there is a better solaris way to accomplish sudo... please provide a sudo command line that accesses the superior solaris tool please?)
tar xvfz bzr.tar.gz
tar: z: unknown function modifier
Must use gtar. Old broken Solaris tar is still default for root user. Pointless. Stupid. Must die.
Ok. Fine. Unpack bzr.
python setup.py build
FAIL
many error messages about ld not working. Something like this:
ld.so.1: ld: fatal: libld.so.4: version `SUNWprivate_4.2' not found (required by file /usr/bin/ld)
Fine. ld is installed but for some reason doesn't work.
pkg install SUNWprivate_4.2
FAIL
That's not a package... After cursing and googling, I finally found this:
pkg install SUNWtoo
THAT certainly makes sense from the error message.
Somewhere in looking for the answer above, I also did:
pkg install gcc-dev
(Notice lovely lack of SUNW prefix) This seems to have installed all of the gcc/automake/autoconf I need. First nice thing... although gcc-dev makes me think it's going to be files to help me hack on gcc... but I'll live with it. It's DEFINITELY the best part of the pkg system so far.
Yay. bzr is installed.
Grab my drizzle tree:
bzr init-repo drizzle
cd drizzle
bzr branch lp:~mordred/drizzle/codestyle
Woot! That works!
cd codestyle
./config/autorun.sh
Woot! That works! Up to date autoconf and automake even! (beating CentOS/RHHEL 5 here... really? autoconf 2.59 and automake 1.9? come on RedHat...)
./configure
Can't find libevent... that's ok. It's a new system.
pkg search libevent
FAIL
silly me. It's SUNWlibevent. How obvious. (Hint to Sun... the legacy Solaris users are not the target audience you should care about if you want new users here... There are many places where Linux has been eating your lunch for years. Package naming is apparently one of them. Fix it. Change. Grow up. Welcome to 2008 )
pkg install SUNWlibevent
./configure
Can't find readline. Sigh. That's less ok. It's a standard lib guys... oh, wait... hrm. CDDL? Anybody remember why it annoys me?
FAIL FAIL FAIL
There is no readline pacakge.
That's ok. I've been doing this for a while... I know where ftp.gnu.org is. (You know, RMS is right ... it IS GNU/Linux that we all run..., with a heavy emphasis on the GNU part.)
Grab readline tarball.
Unpack.
Build.
Install.
Back to drizzle...
./configure
FAIL FAIL FAIL
no ncurses. no ncurses package either.
download. unpack. build. install... (why is there a package manager on this system? )
Back to drizzle.
./configure
no pcre. I can live with that... It's in SUNWpcre
./configure
FAIL
can't find pcre.
#$%@%^@
Whoops. Even though OpenSolaris decides to install pcre headers in /usr/include/pcre, which it includes a pkg-config .pc file specifying, pcre doesn't depend on pkg-config. This is good because...
FAIL FAIL FAIL FAIL FAIL
there is no pkg-config package.
Swear. Curse. Spit. /me punches OpenSolaris in the face.
I KNOW it has to be in there, OpenSolaris is running Gnome after all.
google. read forums. WHERE IS pkg-config??!??1
SUNWgnome-common-devel
Silly me.
pkg install SUNWgnome-common-devel
./configure  # finally works.
make
EPIC FAIL
The final straw for the night... OpenSolaris 2008.05... the most recent release... released this year... 2008... ships with gcc 3.4. From 2004. That gcc 3.4. There is also no gcc4 package. It's not even old gcc4.0... it's gcc3.4.
Sigh.
It's 1AM. I've picked on OpenSolaris enough for one night. I'll give it another go tomorrow.

0 Comments

Comment on this post