Bug #35961 ndb-bindings compilation fails on ndbj
Submitted: 10 Apr 2008 13:21 Modified: 11 Apr 2008 0:38
Reporter: Jean Daniel Browne Email Updates:
Status: Closed Impact on me:
None 
Category:Connectors: NDB/Bindings Severity:S1 (Critical)
Version:trunk : revisions 364 OS:Linux (Ubuntu)
Assigned to: Monty Taylor CPU Architecture:Any

[10 Apr 2008 13:21] Jean Daniel Browne
Description:

Hello,

Our project aims at a developing with the NDBApi in Java or Python. It seems that compiling from source is the way to go. In our context we would use a binary package if there was one.

The 'make' step  fails on ndbj.

The compilation's full log, ./autogen.sh && ./configure && make is available at http://pastebin.ca/979558

Thanks for your help,

How to repeat:
On Ubuntu Hardy Jeos, we have installed the following build dependencies from the standard distribution
aptiude install build-essential sun-java6-jdk automake libtool libmysql++-dev libndbclient-dev byacc

We have checked out the ndb-bindings sources from code.launchpad.net/
bzr branch lp:ndb-bindings

Following the README included into the sources, we executed :
./autogen.sh && ./configure && make

The compilation on the compilation of ndbj :

g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -pthread -fPIC -I.. -I../mgmpp -O0 -g -Wall -I.. -I.. -I/usr/include/mysql/storage/ndb -I/usr/include/mysql/storage/ndb/ndbapi -I/usr/include/mysql/storage/ndb/mgmapi -I/usr/include/mysql/ndb -I/usr/include/mysql/ndb/ndbapi -I/usr/include/mysql/ndb/mgmapi -I/usr/include/mysql -MT libndbj_la-ndbj.lo MD -MP -MF .deps/libndbj_la-ndbj.Tpo -c ndbj.cxx  -fPIC -DPIC -o .libs/libndbj_la-ndbj.o
ndbj.cxx: In function ‘void Java_com_mysql_cluster_ndbj_ndbjJNI_NdbScanOperationImpl_1restart_1_1SWIG_10(JNIEnv*, _jclass*, jlong, _jobject*, jboolean)’:
ndbj.cxx:13380: error: ‘class NdbScanOperation’ has no member named ‘restart’
ndbj.cxx: In function ‘void Java_com_mysql_cluster_ndbj_ndbjJNI_NdbScanOperationImpl_1restart_1_1SWIG_11(JNIEnv*, _jclass*, jlong, _jobject*)’:
ndbj.cxx:13398: error: ‘class NdbScanOperation’ has no member named ‘restart’
ndbj.cxx: In function ‘void Java_com_mysql_cluster_ndbj_ndbjJNI_NdbIndexScanOperationImpl_1resetBounds_1_1SWIG_10(JNIEnv*, _jclass*, jlong, _jobject*, jboolean)’:
ndbj.cxx:13840: error: ‘class NdbIndexScanOperation’ has no member named ‘reset_bounds’
ndbj.cxx: In function ‘void Java_com_mysql_cluster_ndbj_ndbjJNI_NdbIndexScanOperationImpl_1resetBounds_1_1SWIG_11(JNIEnv*, _jclass*, jlong, _jobject*)’:
ndbj.cxx:13858: error: ‘class NdbIndexScanOperation’ has no member named ‘reset_bounds’
make[3]: *** [libndbj_la-ndbj.lo] Error 1

The compilation was attempted on the other branches (devel, telco, mccge6.2...) but they all fails with the same error. Same problem when using Ubuntu stable (Gutsy 7.10).

Suggested fix:
Listing the dependencies and detailing the compilation steps may help.
[10 Apr 2008 15:00] Monty Taylor
Hi!

This is a known issue at the moment, and is fixed in code I'm about to publish. You'll also need to upgrade to 6.3.13 when it comes out (soon) or pull the source and diff for the debian packages on the Launchpad PPA, apply the deb diff to the source, and then apply all of the patches in debian/patches. (Alternately, you can use the debs... add: 

deb http://ppa.launchpad.net/ndb-bindings/ubuntu hardy main
deb-src http://ppa.launchpad.net/ndb-bindings/ubuntu hardy main

to your /etc/apt/sources.list... these are the versions of MySQL I work from and will get you CGE 6.3 versions of MySQL. 

When I upload the latest version of the libs, I'll upload debs for them too. But compiling from source isn't the worst idea. 

I just started #ndb-bindings on freenode. Feel free to come find me there. There is also a mailing list (ndb-connectors@lists.mysql.com) 

I've got one more bug to fix and then we're good to go with the new release. 

Some specific comments:

"aptiude install build-essential sun-java6-jdk automake libtool libmysql++-dev libndbclient-dev byacc" 

libmysql++-dev is not necessary - just libmysqlclient-dev.  

Thanks!
[11 Apr 2008 0:38] Monty Taylor
This has been fixed in 0.6.2 which has just been released. 

http://launchpad.net/ndb-bindings/devel/0.6.2/+download/ndb-bindings-0.6.2.tar.gz
[11 Apr 2008 10:55] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/45256