Problem installing mariadb 5 on solaris 10

Bug #986120 reported by Prashant Tekriwal on 2012-04-20
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

Hi,

This is really important for our project.

Kindly revert with suggestions/solutions.

Your help will be highly appreciated.

Thanks,
Prashant

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

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

Sergei Golubchik (sergii) wrote :

That depends on the libraries that you have installed.

I suppose you were running simply ./configure ?

Try ./configure --with-readline

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...

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

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  Edit
Everyone can see this information.

Other bug subscribers