Problem installing mariadb 5 on solaris 10

Bug #986120 reported by Prashant Tekriwal
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
Fix Committed
Medium
Sergei Golubchik

Bug Description

Hi,

I am trying to install Mariadb 5.3.5 on solaris 10 x86 32 bit machine but its failing during the make phase.

Here are the details of the machine and mariadb version:

Distribution : Mariadb
Version : 5.3.5
OS : Solaris
Version : 10
Platform : x86 Intel
Arch : 32 bit

bash# cat /etc/release
                    Oracle Solaris 10 9/10 s10x_u9wos_14a X86
     Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
                            Assembled 11 August 2010

bash# uname -a
SunOS hostname 5.10 Generic_142910-17 i86pc i386 i86pc

I am attaching containing the configure command I used and its output and the output of the make command.

Related branches

Revision history for this message
Prashant Tekriwal (prashanttekriwal) wrote :
Revision history for this message
Prashant Tekriwal (prashanttekriwal) wrote :

Hi,

This is really important for our project.

Kindly revert with suggestions/solutions.

Your help will be highly appreciated.

Thanks,
Prashant

Revision history for this message
Sergei Golubchik (sergii) wrote :

As a workaround, you can use GNU make, not the native Solaris make

Changed in maria:
assignee: nobody → Sergei (sergii)
milestone: none → 5.1
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Prashant Tekriwal (prashanttekriwal) wrote :

Hi Sergei,

Thanks for the response.

I tried with 'gmake' and now I am getting different error.

**********************************************************************

if gcc -DMYSQL_CLIENT_NO_THREADS -DDEFAULT_MYSQL_HOME='"/root/mariadb"' -DMYSQL_DATADIR='"/root/mariadb/var"' -I. -I. -I../include -I../include -I../include -I../regex -g -O2 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT mysql.o -MD -MP -MF ".deps/mysql.Tpo" -c -o mysql.o mysql.cc; \
        then mv -f ".deps/mysql.Tpo" ".deps/mysql.Po"; else rm -f ".deps/mysql.Tpo"; exit 1; fi
mysql.cc:1063: error: expected constructor, destructor, or type conversion before '*' token
mysql.cc: In function `int not_in_history(const char*)':
mysql.cc:2475: error: `HIST_ENTRY' was not declared in this scope
mysql.cc:2475: error: `oldhist' was not declared in this scope
mysql.cc:2475: error: `history_get' was not declared in this scope
mysql.cc: In function `void initialize_readline(char*)':
mysql.cc:2511: error: invalid conversion from `char**(*)()' to `char**(*)(const char*, int, int)'
mysql.cc:2512: error: invalid conversion from `int (*)(const char*, int)' to `char*(*)(const char*, int)'
mysql.cc:2513: error: invalid conversion from `int (*)()' to `int (*)(int, int)'
mysql.cc:2513: error: initializing argument 2 of `int rl_add_defun(const char*, int (*)(int, int), int)'
mysql.cc: In function `char** new_mysql_completion(const char*, int, int)':
mysql.cc:2535: error: `completion_matches' was not declared in this scope
gmake[2]: *** [mysql.o] Error 1
gmake[2]: Leaving directory `/root/mariadb-5.3.5-ga/client'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/root/mariadb-5.3.5-ga/client'
gmake: *** [all-recursive] Error 1

**********************************************************************

Regards,
Prashant

Revision history for this message
Sergei Golubchik (sergii) wrote :

That depends on the libraries that you have installed.

I suppose you were running simply ./configure ?

Try ./configure --with-readline

Revision history for this message
Prashant Tekriwal (prashanttekriwal) wrote :
Download full text (5.6 KiB)

Here is the configure command I was issuing:

CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/root/mariadb --enable-assembler --with-mysqld-ldflags=-all-static

I took the above command from 'INSTALL-SOURCE' section 2.3

-----------

I tried with your suggestion, still getting some different error:

             ./configure --prefix=/root/mariadb --with-readline

make error:

********************************************************************************

if g++ -DMYSQL_CLIENT_NO_THREADS -DDEFAULT_MYSQL_HOME='"/root/mariadb"' -DMYSQL_DATADIR='"/root/mariadb/var"' -I. -I. -I../include -I../include -I../include -I../regex -g -O2 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT completion_hash.o -MD -MP -MF ".deps/completion_hash.Tpo" -c -o completion_hash.o completion_hash.cc; \
        then mv -f ".deps/completion_hash.Tpo" ".deps/completion_hash.Po"; else rm -f ".deps/completion_hash.Tpo"; exit 1; fi
/bin/bash ../libtool --tag=CXX --mode=link g++ -g -O2 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -o mysql mysql.o readline.o sql_string.o completion_hash.o ../cmd-line-utils/readline/libreadline.a -lcurses -lpthread -lthread ../libmysql/libmysqlclient.la -lposix4 -lsocket -lnsl -lm -lz -lrt
g++ -g -O2 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -o .libs/mysql mysql.o readline.o sql_string.o completion_hash.o ../cmd-line-utils/readline/libreadline.a -lcurses -lpthread -lthread ../libmysql/.libs/libmysqlclient.so -ldl -lposix4 -lsocket -lnsl -lm -lz -lrt -Wl,--rpath -Wl,/root/mariadb/lib/mysql
../libmysql/.libs/libmysqlclient.so: undefined reference to `yayaSSL_CleanUp'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaX509_get_issuer_name'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_get_fd'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_connect'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_CTX_set_tmp_dh'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_shutdown'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaBN_bin2bn'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_CTX_new'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_read'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaERR_get_error_line_data'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_get_error'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaDH_free'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_SESSION_set_timeout'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_clear'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaERR_error_string'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaERR_print_errors_fp'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_CTX_use_PrivateKey_file'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaX509_free'
../libmysql/.libs/libmysqlclient.so: undefined reference to `yaSSL_get_peer_certificate'
../libmysql/...

Read more...

Revision history for this message
Sergei Golubchik (sergii) wrote :

I don't know. It looks like if you tried to compile with yassl, then aborted the build, and tried to compile again - without yassl and without cleaning after the first build. And you have some .o files from the first build, and some - from the second one.

Besides, I wasn't able to repeat even the first error - the one with readline.

We don't build our official with simple ./configure, we use our BUILD/* scripts that do all steps with correct options.
On solaris, for example, it could be BUILD/compile-solaris-amd64

Here's a log of one of such builds:
http://buildbot.askmonty.org/buildbot/builders/sol10-64/builds/1100/steps/compile/logs/stdio

Revision history for this message
Prashant Tekriwal (prashanttekriwal) wrote :

I don't know what yassl is, I didn't used it explicitly anywhere.

But yes, my subsequent configure commands were issued without cleaning.

I did tried the BUILD/* scripts at the first place before trying to configure manually.

I used BUILD/compile-solaris-x86-32 but that failed with following error:

**************************************************************

 gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -shared -DMYSQL_DYNAMIC_PLUGIN -Wall -Wextra -Wunused -Wwrite-strings -Wno-uninitialized -D__sun -m32 -DHAVE_RWLOCK_T -DUNIV_SOLARIS -DUNIV_SOLARIS -MT ha_innodb_plugin_la-page0cur.lo -MD -MP -MF .deps/ha_innodb_plugin_la-page0cur.Tpo -c page/page0cur.c -o ha_innodb_plugin_la-page0cur.o >/dev/null 2>&1
page/page0zip.c: In function `page_zip_decompress':
page/page0zip.c:2968: error: `Z_BLOCK' undeclared (first use in this function)
page/page0zip.c:2968: error: (Each undeclared identifier is reported only once
page/page0zip.c:2968: error: for each function it appears in.)
gmake[2]: *** [ha_innodb_plugin_la-page0zip.lo] Error 1
gmake[2]: *** Waiting for unfinished jobs....
 gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -shared -DMYSQL_DYNAMIC_PLUGIN -Wall -Wextra -Wunused -Wwrite-strings -Wno-uninitialized -D__sun -m32 -DHAVE_RWLOCK_T -DUNIV_SOLARIS -DUNIV_SOLARIS -MT ha_innodb_plugin_la-lexyy.lo -MD -MP -MF .deps/ha_innodb_plugin_la-lexyy.Tpo -c pars/lexyy.c -o .libs/ha_innodb_plugin_la-lexyy.o
 gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -shared -DMYSQL_DYNAMIC_PLUGIN -Wall -Wextra -Wunused -Wwrite-strings -Wno-uninitialized -D__sun -m32 -DHAVE_RWLOCK_T -DUNIV_SOLARIS -DUNIV_SOLARIS -MT ha_innodb_plugin_la-lexyy.lo -MD -MP -MF .deps/ha_innodb_plugin_la-lexyy.Tpo -c pars/lexyy.c -o ha_innodb_plugin_la-lexyy.o >/dev/null 2>&1
gmake[2]: Leaving directory `/root/mariadb-5.3.5-ga/storage/innodb_plugin'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/root/mariadb-5.3.5-ga/storage'

**************************************************************

I am really having a hard time installing it on solaris machine.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.