What the heck is going on part deux

Here is the beginning… tonight I looked at my AMEX, and it looks like Sun credited me $480.00 instead of the $559.32. And THEN they charged me 3 times of $508.00… Don’t have a clue what that is for. But needless to say, [in marvin martian voice] I am getting very angry [end marvin martian voice] …. I hope this gets fixed soon, as now I am up to $2,083.32 in charges that I did not want any have only been credited $480. So I still need $1,603.32 back…

Please Sun fix this now…. the way it is going now I may have to cancel the card just to quit getting charged.

Site on new hardware

I have completed the move of the domain to the new Sun X2100 server… So much nicer owning the machine that my web site runs off of. This way I can control the OS and every aspect of security about it.

Make sure you install the Sun Studio Patches

So I was going along compiling IMAP, PHP, Apache, etc.. and start Apache up with SSL enabled and everytime I try to go to an SSL page I see this in the error log:

[Sat Apr 15 22:21:42 2006] [error] mod_ssl: SSL handshake failed (server sungeek.net:443, client (OpenSSL library error follows)
[Sat Apr 15 22:21:42 2006] [error] OpenSSL: error:1408F455:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac

To make a long story short, it appears there is a bug in the Sun Studio 11 compilers when compiling OpenSSL. If you are on Solaris x86, you need to have patch 120759-04 installed to fix this problem. (The problem will also show up if you do a make test, you will get an error on the test_evp). For Solaris on Sparc the Patch is 120760-03. Now if it off to recompile all the software again. At least I have gotten everything in 32 bit mode now.

Update to the 32bit vs 64bit problems

After reading the entire CC man page for Sun Studio 11, I think I had figured out what was wrong. All was well until I got to compileing OpenSSL.. It appears that OpenSSL does not pay attention to the CFLAGS environment variable. But if you run

Configure solaris-x86-cc

instead of the “config” command it will force it to compile it as 32 bit instead of 64 bit which the config command does.

I also set these environment variables to force 32 bit compile on some other stuff:

CFLAGS=-fast -xarch=generic
CXXFLAGS=-fast -xarch=generic

Not more than 10 minutes ago while I was doing this, Chris Quenelle posted an Article about 32 versus 64 bit programs that explains some more of the issues..

To 64 bit or to 32 bit that is the question

Well, I started last night trying to get my Apache+PHP+MySQL+OpenSSL+IMAP compiled to run on the new X2100. What a nightmare. For some reason some of the software compiled as 32bit, some as 64 bit and nothing would link together right. I ended up putting Sun Studio 11 on the machine and trying it all again. Got OpenSSL, MySQL and IMAP to compile as 64 bit. Then was gettext and libxml2. gettext refuses to do the whole compile as 64 bit. Part of it does 32 bit and I can’t find out where. I keep getting those little “wrong ELF class: ELFCLASS64” or “wrong ELF class: ELFCLASS32”. I tried striping everything out of my path and environment variables and still does not work. Any one out there know exactly what needs set to make it all 32 or all 64 bit? I found that if I had /usr/ccs/bin in the path that it was trying to use the 32 bit linker, so I had to put /usr/ccs/bin/amd64 before the /usr/ccs/bin. I also added the CFLAGS environment variable of “-xarch=amd64”..

I even tried compiling everything on a Dual Pentium 3 machine (which is not 64 bit) and copying it over, but that failed too.

/Silently goes to bed with head down and wishing I could have afforded a T2000.