YDL4.0 ==> YDL-3.01 portability issues

Joseph E. Sacco, Ph.D. joseph_sacco at comcast.net
Mon Dec 13 10:27:07 MST 2004


Question:

	Should an application built under YDL-4.0 run under YDL-3.0.1?

Answer:
	Depends...

----------------------------------------------------------------------
Discussion:

Using the BK source, I built, tested, and installed mysql-4.1.8-max on a
dual processor G4 box [pmac silver] running YDL-4.0 and a 2.6.9 kernel. 
The build was uneventful.  All 300 tests [including the NDB storage
cluster tests] found under mysql-4.1.8/mysql-test passed. 

Copied the install tree to a single processor G3 box running YDL-3.0.1
and a 2.4.27 kernel.  

Set environment variables

        MYSQL_HOME=/usr/local/mysql
        export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/libexec:$PATH
        export LD_LIBRARY_PATH=$MYSQL_HOME/lib/mysql:$LD_LIBRARY_PATH
        export MANPATH=$MYSQL_HOME/man:$MANPATH

to insure that we are using the mysql-4.1.8 files. 

Removed 

	/etc/my.cnf

to avoid picking up wrong configuration information.


Ran
	/usr/local/bin/mysql_install_db --user=mysql

to create the default databases mysql and test. 

Fired up the server:

	mysqld_safe --user=mysql &

The server died:

        041213 11:38:00  mysqld started
        041213 11:38:00 [ERROR] bdb:  unable to initialize mutex:
        Function not implemented
        041213 11:38:00 [ERROR] bdb:  process-private: unable to
        initialize environment lock: Function not implemented
        InnoDB: The first specified data file ./ibdata1 did not exist:
        InnoDB: a new database to be created!
        041213 11:38:00  InnoDB: Setting file ./ibdata1 size to 10 MB
        InnoDB: Database physically writes the file full: wait...
        041213 11:38:04  InnoDB: Log file ./ib_logfile0 did not exist:
        new to be created
        InnoDB: Setting log file ./ib_logfile0 size to 5 MB
        InnoDB: Database physically writes the file full: wait...
        041213 11:38:06  InnoDB: Log file ./ib_logfile1 did not exist:
        new to be created
        InnoDB: Setting log file ./ib_logfile1 size to 5 MB
        InnoDB: Database physically writes the file full: wait...
        InnoDB: Doublewrite buffer not found: creating new
        InnoDB: Doublewrite buffer created
        InnoDB: Creating foreign key constraint system tables
        InnoDB: Foreign key constraint system tables created
        041213 11:38:10  InnoDB: Started; log sequence number 0 0
        041213 11:38:10 [ERROR] Can't init databases
        041213 11:38:10 [ERROR] Aborting
                                                                                                                               
        041213 11:38:10  InnoDB: Starting shutdown...
        041213 11:38:13  InnoDB: Shutdown completed; log sequence number
        0 43634
        041213 11:38:13 [Note] /usr/local/mysql/libexec/mysqld: Shutdown
        complete
                                                                                                                       
        041213 11:38:13  mysqld ended


Hmmm... That was quite a surprise!! What's going on? The error about
failing to initialize a mutex sounds kernel related. Maybe???

Built mysql-4.1.8 under YDL-3.0.1 on the G3 box. The build on the G3 box
required two package upgrades, which were built and installed on the G3
box:

* binutils-2.15.92.0.2-6
to get past a recurring linker crash

* bison-1.875c-1
to get past a 32K limitation

Once these packages were in place,  the build on the G3 box, using
gcc-3.2.2, ran and completed without incident, albeit ever so slowly.
All 300 tests found under mysql-4.1.8/mysql-test passed.



Thoughts???

-Joseph 



-- 
Joseph E. Sacco, Ph.D. <joseph_sacco at comcast.net>



More information about the yellowdog-general mailing list