Bug #37972 Compiling MySQL client binaries
Submitted: 8 Jul 2008 16:19 Modified: 9 Jul 2008 20:30
Reporter: Chris Kairalla Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.0.51b OS:Other (QNX 6.3.2)
Assigned to: CPU Architecture:Any

[8 Jul 2008 16:19] Chris Kairalla
Description:
Hi,

I am trying to generate the binaries of MySQL client library as I need them to compile the ODBC connector for QNX. Here's the line I'm calling:

./configure --prefix=/usr/local/mysql --enable-thread-safe-client --without-se
rver

The error I receive is: 
make[2]: *** [libmysqlclient_r.la] segmentation violation (core dumped)
make[2]: Leaving directory `/tmp/mysql-5.0.51b/libmysql_r'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/mysql-5.0.51b'
make: *** [all] Error 2

Do you guys have any idea how can I fix it?

Thanks!
Chris

How to repeat:
./configure 
make
[8 Jul 2008 17:50] Valeriy Kravchuk
Thank you for a problem report. What gcc version do you have? 

Have you tried to compile entire server, using the following configure options:

./configure --prefix=/usr/local/mysql --enable-thread-safe-client
[8 Jul 2008 17:55] Chris Kairalla
Hi,

Thank you for reply.

gcc version is 2.95.3

No, I haven't. As I've got MySQL server installed on Windows machine, I am just trying to have the ODBC connector in order to be able to run queries from QNX machine. I can try to have the full server....I'll let you know.
[8 Jul 2008 18:17] Chris Kairalla
Just tried to build entire server with options:

./configure --prefix=/usr/local/mysql -enable-thread-safe-client 

but the result is exactly the same:
makeke[2]: *** [libmysqlclient_r.la] segmentation violation (core dumped)
make[2]: Leaving directory `/tmp/mysql-5.0.51b/libmysql_r'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/mysql-5.0.51b'
make: *** [all] Error 2
[8 Jul 2008 18:21] Valeriy Kravchuk
How much RAM do you have on that machine? Please, check also versions of other tools based on http://dev.mysql.com/doc/refman/5.0/en/installing-source.html.
[8 Jul 2008 20:08] Chris Kairalla
It has 767Mb where 600Mb is being currently used.

I've checked other tool versions and they're fine:
  - gcc: 2.95.3
  - make: 3.80
  - libtool: 2.2.4

Any suspecion?
[8 Jul 2008 20:23] Valeriy Kravchuk
I do not have this platform to test, so I'll continue with some wild guesses. Try this:

make clean
./configure --prefix=/usr/local/mysql --without-server
make
[9 Jul 2008 13:53] Sergei Golubchik
I'm sorry, but it's not clear from your bugreport.
make reports a sigsegv while building libmysqlclient_r.la.

But what is it, that crashes ? make ? gcc ? shell ?
[9 Jul 2008 18:51] Chris Kairalla
Hi Sergei, I din't understand your question. Can you clarify? Thanks!

The only way I can build is using --disable-shared option. The options I used:
./configure --prefix=/usr/local/mysql --enable-thread-safe-client --disable-shared

So, this way I was able to generate mySQL client libraries.

Finally, with these libraries (static) I was able to build ODBC connector for QNX but now I need when I try to run a simple application, it returns me as I don't have shared libraries:

[[unixODBC][Driver Manager]Can't open lib '/usr/local/mysql-conn/lib/libmyodbc5.a' : Shared library is corrupted]

Is there a way I can generate shared libraries from static ones??
[9 Jul 2008 18:58] Sergei Golubchik
You wrote

make[2]: *** [libmysqlclient_r.la] segmentation violation (core dumped)
make[2]: Leaving directory `/tmp/mysql-5.0.51b/libmysql_r'

but you didn't say what program caused this segmentation violation.
That's what I've asked.
[9 Jul 2008 19:03] Chris Kairalla
Right, sorry about that.

I got this error when I tried make command. After this error, I've got sh.core under /var/dumps
[9 Jul 2008 19:12] Sergei Golubchik
Right, that's what I mean.
I don't think it's MySQL bug that QNX shell crashes.
I suspect (but don't know for sure) that it crashes in your builds on libtool scripts. Try to debug that. For example, modify libtool scripts to do

  set -x

as the very first command, see where exactly the shell crashes.
Or update libtool. Or shell. Or both.
[9 Jul 2008 20:30] Chris Kairalla
I'll try it. Thanks!

In the meanwhile, do I really need shared objects for ODBC connector or I can use static libraries instead?
[4 Dec 2008 22:39] Dimitri Tarassenko
Just in case anyone happens to have the same problem:

1. Look in your /var/dumps and see what exactly coredumped. In my case, it was sh.

2. If it's the same, I was able to fix it by using bash instead of sh - passing SHELL=/usr/bin/bash and MAKE_SHELL=/usr/bin/bash to make.