Solaris 7 Sparc 5

08-11-2005, 03:23 PM I posted the below thread in UNIX for dummies Questions and Answers.

I thank the guy who posted a proposition to resolve my problem.

I decided to repost the problem here. Who knows :slight_smile:

So, here it goes:

Since a week ago I put myself many troubles.

I decide to install Solaris 7, in a sun sparcstation 5, with raid5.

And I don't know almost anything about unix systems, not only Solaris.

I want to install mysql, apache, php4.

I'm not sure if I have installed correctly mysql and apache, but
if the informations which I gathered from internet (google ) are correct,
I have many good possibilities.

Since 4 or 5 days I've stucked in php4 Configuration (not even 'make').

My next post would be my total configuration, since now, like mysql, apache installation, and the required programs.

Thanks for reading this thread

Installing Mysql
-----------------------

# groupadd mysql
# useradd -d /usr/local/mysql mysql

in '/etc/passwd' change mysql's shell with 'nologin'

# cd mysql...[version]
# ./configure --prefix=/usr/local/mysql

or

#./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared CXX=gcc

#make

#make clean (when errors,warnings come out with 'make')

#make install

# /usr/local/mysql/bin/mysql_install_db

# chown -R mysql /usr/local/mysql/var

# chgrp -R mysql /usr/local/mysql/var

# /usr/local/mysql/bin//mysqld_safe --user=mysql &

# /usr/local/mysql/bin/mysqladmin -u root password ...

# /usr/local/mysql/bin/mysqladmin -u admin password ...

creation of my.cnf in folder /usr/local/mysql/var

cp (from redhat ) greek.conf in folder /usr/local/mysql/share/mysql/charsets

# ./bin/mysqld --defaults-file=<MySQL Databasedirectry>/my.cnf \
--basedir=<MySQL Basedirectory>\
--datadir=<MySQL Databasedirectory>\
--user=mysql --pid-file=<MySQL Databasedirectory>/mysqld.pid &

Required programs
------------------

tcsh-6.08.00-sol7-sparc-local.tar.gz
bash-3.0-sol7-sparc-local.tar.gz
zlib-1.2.2.tar.gz
gcc-3.4.2-sol7-sparc-local.tar.gz
gzip-1.3.5-sol7-sparc-local.tar.gz
make-3.80-sol7-sparc-local.tar.gz
ncurses-5.4-sol7-sparc-local.gz
ncurses-5.4.tar.gz
perl-5.8.5.tar.gz
m4-1.4.2.tar.gz
autoconf-2.59.tar.gz
bison-1.28.tar.gz
flex_2.5.4_hpux_ia64_src.tar.gz
openssl-0.9.7g.tar.gz
zlib1.2.3

Installing Apache
-------------------------
Required w4,autoconf,bison,flex,openssl,libtool,db (Berkeley)

#setenv CFLAGS="-I /usr/local/BerkeleyDB.3.3/include"

#setenv LDFLAGS="-L /usr/local/BerkeleyDB.3.3/lib -R"

#ln -s /usr/local/BerkeleyDB.3.3/lib/libdb-3.3.so /usr/lib/libdb-3.3.so

#ln -s /usr/ccs/bin/ld /usr/bin/ld

# ./configure --with-layout=Apache --prefix=/usr/local/apache --enable-module=all --disable-module=auth_db

Installing php-4.3.11
--------------------

since now , only the configuration below:

#./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql --prefix=/usr/local/apache/php --with-config-file-path=/usr/local/apache/php --enable-force-cgi-redirect --with-zlib --with-zlib-dir=/usr/local/zlib-1.2.3 --enable-libgcc --enable-track-vars

and this configuration, after several minutes provides the below error:

Configuring extensions
checking for OpenSSL support... no
checking for Kerberos support... no
checking for ZLIB support... yes
checking if the location of ZLIB install directory is defined... /usr/local/zlib-1.2.3
checking for gzgets in -lz... no
configure: error: ZLIB extension requires zlib >= 1.0.9

Thanks again.

I removed this line '--with-zlib-dir=/usr/local/zlib-1.2.3' from configure,

but this time a new message comes up:

Configuring extensions
checking for OpenSSL support... no
checking for Kerberos support... no
checking for ZLIB support... yes
checking if the location of ZLIB install directory is defined... no
configure: error: Cannot find libz

I would like to inform you that the path '/usr/local/zlib-1.2.3',
is where zlib has been installed (not the source file, or package).
All the sources, and packages are in /usr/local/src folder.
And cause of that I wonder if I have to execute another command (for instance, ln -s for making links for the libs of zlib-1.2.3's folder).

Zlib, for a reason which I cannot remember now, I couldn't install it by package, so I used the source. But I downloaded them (sources, packages) from Sunfreeware , as you said.

Thanks anyway!

After many configurations, and a lot of support of friends of mine,
at source folder of php-4.3.11, config.log file writes that,

configure:15211: checking whether utime accepts a null argument
configure:15232: gcc -o conftest -g -O2 -D_POSIX_PTHREAD_SEMANTICS -L/usr/ucblib -L/usr/ucblib conftest.c 1>&5
ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccCdeGlp.o: symbol <unknown>: offset 0xef371747 is non-aligned

ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccCdeGlp.o: symbol <unknown>: offset 0xef37174b is non-aligned

ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccCdeGlp.o: symbol <unknown>: offset 0xef37174f is non-aligned

ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccCdeGlp.o: symbol <unknown>: offset 0xef371c6f is non-aligned

and many many more same fatal arrors for 'ld'

And of cource I don't know what to do
Edit/Delete Message

I'm sorry for the size of the thread.

And thank you.

Sorry I didnt get back to you on the other forum .. busy busy :wink:

To be honest you've got a difficult problem there. I would uninstall the packages you got from and install all the up-to date ones from sun freeware.

The zlib packages is a pretty standard package which al ot of software uses and so it really should cause the problems you descibe. As to the 'relocation' errors you are getting now. This realy does point to a incompatible version of a library of some sort. I would suggest.

1) Install all the relevant packages from sunfreeware.

2) Make sure /usr/local/bin is before /usr/bin and /usr/ccs/bin in your path

PATH=/usr/local/bin:$PATH
export PATH

3) make sure /usr/local/lib is in your LD_LIBRARY_PATH

LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

Then try the ./configure again

First of all , thanks, and thanks again.

You suggested to uninstall all the packages I have installed.
Do you mean all of them? For instance, I have installed since now many packages and many sources.

The general idea is to install mysql, apache, php.
And of cource to set the right parameters to make them work together.

colleague of mine suggested to me to install mysql, apache, php from source and not from package, because from source its easier to set parameters.

So, I followed that plan, and I installed first mysql.
It was difficult for me. I searched a lot, I tried many ways and configurations.
Mysql required many programs.
When I couldn't install each one of them from source, I did it from package.
So, the life was going on :),
and I installed apache with the same way.

So, the last 'component' is php.
For this, I think that I have said a lot of details...:slight_smile:

You said to download all the relevant packages from sunfreeware.
All the packages since now, I took them from sunfreeware.
I have chosen sparc/solaris7, and it has provided me the relevant packages.sources.

One question. what do you mean with that : "2) Make sure /usr/local/bin is before /usr/bin and /usr/ccs/bin in your path" ??

By-default all the binaries, libraries, are being installed in /usr/local/bin, /usr/local/lib, /usr/local/sbin, and /usr/ccs/bin.
After the installation, I'm making links into the below folders. /usr/bin,
/usr/lib, /usr/sbin.

The export command cannot be found, so "LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH" can be done only (I think) with the command setenv.
So I have executed the below commands:
#setenv LD_LIBRARY_PATH=/usr/local/lib

#setenv LDFLAGS=-L/usr/local/ssl/lib

#setenv OPENSSL_LIBDIR=/usr/local/ssl/lib

maybe I have to try this one : #setenv LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib

I think I speak too much :),
but one last question.
Is it, or it is not more correct, to uninstall only the required packages for php?? (I mean, to let the others as they are. e.g. m4, autoconf, bison, flex, openssl, libtool, db(Berkeley)).

Thanks again

the below error is the last error in that configuration :
./configure
--with-apxs=/usr/local/apache/bin/apxs
--with-mysql
--prefix=/usr/local/apache/php
--with-config-file-path=/usr/local/apache/php
--enable-force-cgi-redirect
--with-openssl=/usr/local/ssl/
--with-openssl-dir=/usr/local/ssl/
--with-zlib=/usr/local/zlib-1.2.3/
--with-zlib-dir=/usr/local/zlib-1.2.3/
--enable-libgcc
--enable-track-vars
--enable-shared

error:

Configuring extensions
checking for OpenSSL support... yes
checking for Kerberos support... no
checking for pkg-config... no
checking for OpenSSL version... >= 0.9.6
checking for CRYPTO_free in -lcrypto... no
configure: error: libcrypto not found!

the config.log its too big to post it here, but provides again ld fatal errors.

I wonder if ld linker its a little bit confused, and I have to do something, to make it work properly again.

As you can see, configuration did't reach the zlib extension. It stucked in openSSL's libcrypto.

this is the folder which contains libcrypto:
# ls /usr/local/ssl/lib/
libcrypto.a
libssl.a
pkgconfig

Your path is the list of directories that the system looks in to find the command you type on the command line.

echo $PATH

will show it. From your previous post you're using csh so the setenv commands you're using are more appropriate (export is used in sh, ksh and bash). The csh command is:

set path = (/usr/local/bin $path)

then

echo $PATH

to make sure its updated.

I'm a little confused. Unless you're installing standard system packages you shouldnt be adding anything to /usr/ccs/bin and you should not be adding links in /usr/bin and /usr/sbin. This is why you need ot make sure your PATH and LD_LIBRARY_PATH are set correctly.

The reason I suggested you uninstall all the packages and re-install the ones from sunfreeware is to ensure you have a clean installation. The cleaner the installation the less chance of problems happening. Also the distributions from sunfreeware all come as Solaris packages which makes for much cleaner installs/uninstalls. It sounds like you've tries a lot of things and it maybe that the state of the install is a little confused another reason to clean it up.

Also you mention Berkeley DB which by default installs into its own directory, so in order to use it you may need to add the Berkeley DB library directory to your LD_LIBRARY_PATH as well.

I decided to follow your advice.
I ripped out :slight_smile: all the packages.
I deleted apache, and openssl.
But I couldn't delete mysql. Its too painfull the configuration, make, and make install.

So, I'll start from the beginning.
I'll download again the pachages, in case of new versions are published.
But for apache , and php I have to use sources.

So, lets see what will happen :slight_smile:

Thanks for the advices, and let the force be with me :slight_smile:

The force were with me.

Unbeliever thank you very much for your help, and advices.
I uninstalled and reinstalled everything.

IT finished with ./configure yesterday, and make also, without errors.

now i'm making install, and hope that mysql, apache, php will co-operate.

Thanks again.