Bug #58188 --without-readline doesn't fully work
Submitted: 15 Nov 2010 1:39 Modified: 14 Dec 2010 18:56
Reporter: Stefan Vorkoetter Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.1.52 OS:Windows (Cygwin)
Assigned to: CPU Architecture:Any

[15 Nov 2010 1:39] Stefan Vorkoetter
Description:
To compile under Cygwin, I had to configure --without-readline and --without-libedit. However, there's an #ifdef HAVE_READLINE section in client/mysql.cc that still tries to compile (and fails). Manually adding #undef HAVE_READLINE before that section allows the compile to complete.

How to repeat:
configure --without-readline --without-libedit
make
[15 Nov 2010 19:05] MySQL Verification Team
Thank you for the bug report. Compiling on Cygwin isn't currently supported.
[15 Nov 2010 19:29] Stefan Vorkoetter
Compiling on Cygwin may not be supported, but I don't think the bug is Cygwin specific. It's a matter of some flag not getting passed around everywhere that it should.
[15 Nov 2010 19:31] Stefan Vorkoetter
Re-opening in light of my previous comment.
[16 Nov 2010 11:55] Valeriy Kravchuk
On Linux (and Mac OS X) I get the following error message from configure itself (with current mysql-5.1 tree):

...
checking for x86 PAUSE instruction... yes
checking libedit variant of rl_completion_entry_function... no
checking defined rl_compentry_func_t and rl_completion_func_t... no
checking HIST_ENTRY is declared in readline/readline.h... 
configure: error: Could not find system readline or libedit libraries
	      Use --with-readline or --with-libedit to use the bundled
	      versions of libedit or readline
openxs@ubuntu:/home2/openxs/bzr2/mysql-5.1$ fc -l
...
536	 ./configure --without-readline --without-libedit

Please, upload the output of configure from your Cygwin.
[17 Nov 2010 1:06] Stefan Vorkoetter
Output of ./configure --without-readline --without-libedit --prefix=/usr/local/mysql --with-mysqld-user=<my-user-name>

Attachment: config.out (, text), 30.69 KiB.

[2 Dec 2010 18:09] Sveta Smirnova
Thank you for the feedback.

Please send us config.log also
[3 Dec 2010 0:51] Stefan Vorkoetter
config.log file (gzipped since it's too large otherwise)

Attachment: config.log.gz (application/x-gzip, text), 41.67 KiB.

[14 Dec 2010 18:13] Sveta Smirnova
Thank you for the feedback.

I could not repeat described behavior on regular Linux, so this is Cygwin issue and as Miguel already mentioned this environment is not supported.
[14 Dec 2010 18:56] Stefan Vorkoetter
Okay, thanks for looking into it. By the way, that little tiny issue is the ONLY thing which keeps MySQL from working correctly on Cygwin. When I put in my #undef hack, it compiles fine on Cygwin, and works great with Cygwin's perl build (via DBI and DBD).

I suspect that the offending function must appear in some other header file in Linux, and thus is not undefined when the compiler gets to that block of code (that is supposed to be disabled by the #ifdef). Something is still wrong (probably with the generated Makefile), since that section shouldn't be compiled at all, but some peculiarity of Linux is letting it compile anyway.