Bug #3700 Failed to compile MySQL Cluster, unresolved external my_compress
Submitted: 10 May 2004 11:16 Modified: 12 May 2004 14:48
Reporter: Anders Karlsson Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:3.4.5 OS:Linux (Debian Linux)
Assigned to: Tomas Ulin CPU Architecture:Any

[10 May 2004 11:16] Anders Karlsson
Description:
When building MySQL Cluster, inking mysqld fails with unresolved externals my_compress and my_uncompress in packfrm.o in ha_ndbcluster.cc if zlib is not available, and hence HAVE_COMPRESS is not set.

How to repeat:
Make sure zlib isn't available. Check that is is the case (i.e. a C-program with #include <zlib.h> or linked with -lz fails). Then do a BUILD. It will fail when linking mysqld.
Tested on Debian, which doesn't seem to have zlib by default. Installing zlib fixes this.

Suggested fix:
Either require that zlib is installed and check this at configure time, or make sure that my_compress isn't called unconditionally.
[12 May 2004 14:48] Tomas Ulin
Thank you for your bug report. This issue has been addressed in the
documentation. The updated documentation will appear on our website
shortly, and will be included in the next release of the relevant
product(s).

Additional info:

Today MySQL Cluster requires that compress/uncompress is available. Commonly available in zlib. The documentation will updated.
[13 May 2004 10:19] Anders Karlsson
Then the autoconf should check for this. But looking at the source, it more
like it is my_compress/my_uncompress that is required, which in turn requires
compress/uncompress.
The existece of compress is checked for in the autoconf script, and if it exists,
HAVE_COMPRESS is set. If it is really required, then autoconf should exist with
an error here.