Bug #13640 Compile Error on Cygwin
Submitted: 30 Sep 2005 9:07 Modified: 21 Dec 2005 14:24
Reporter: Sebastian Nohn Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:mysql-5.0.13-rc OS:Cygwin
Assigned to: Kent Boortz CPU Architecture:Any

[30 Sep 2005 9:07] Sebastian Nohn
Description:
Does not compile on Cygwin

make[2]: Entering directory `/home/sebastian/mysql-5.0.13-rc/extra'
gcc -O3 -DDBUG_OFF       comp_err.c   -o comp_err
comp_err.c:26:23: my_global.h: No such file or directory
comp_err.c:27:21: m_ctype.h: No such file or directory
comp_err.c:28:20: my_sys.h: No such file or directory
comp_err.c:29:22: m_string.h: No such file or directory
comp_err.c:30:23: my_getopt.h: No such file or directory
comp_err.c:32:20: my_dir.h: No such file or directory

[...]

comp_err.c:938: error: `EOF' undeclared (first use in this function)
comp_err.c:940: error: `stderr' undeclared (first use in this function)
make[2]: *** [comp_err] Error 1
make[2]: Leaving directory `/home/sebastian/mysql-5.0.13-rc/extra'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sebastian/mysql-5.0.13-rc'
make: *** [all] Error 2

How to repeat:
$ ./configure; make
[30 Sep 2005 14:06] MySQL Verification Team
Currently we don't have support for that compiler.
[30 Sep 2005 14:21] Sebastian Nohn
Hey, it's standard GCC. What's not supported about that compiler?
[30 Sep 2005 14:57] MySQL Verification Team
Please read:

http://dev.mysql.com/doc/mysql/en/windows-source-build.html
[30 Sep 2005 15:51] Sebastian Nohn
Cygwin != Windows
[30 Sep 2005 16:07] 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/internals/30580
[11 Oct 2005 8:31] Hartmut Holzgraefe
The cygwin fix breaks our Novell build, so we had to revert it for now ...
[16 Nov 2005 14:47] Carmil
The problem still exists in v5.0.15.

Cygwin is using linux-like GCC - not M$-VisualStudio.

Please consider the following-

#ifdef __CYGWIN__
    // do Cygwin fix
#else
    // Novel
#endif

thnx
[16 Nov 2005 16:56] Carmil
The make tries this-
gcc -O3 -DDBUG_OFF       comp_err.c   -o comp_err

this command lacks the -I flag for all the include directories.
So it is probably something in the `configure` and not in the c file itself.
[16 Nov 2005 17:03] Hartmut Holzgraefe
it is actually an automake issue, see

  http://lists.mysql.com/internals/30580

so there is no way to work around it using compiler/preprocessor magic
[18 Nov 2005 15:29] Lenz Grimmer
BUG#15050 was marked as a duplicate of this one.
[5 Dec 2005 8:35] 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/internals/33012
[13 Dec 2005 21:32] Anthony Willard
For what it's worth, I corrected this by altering the Makefile in the ./extra folder.

At line 885 (in my file), the dependency is incomplete which is why the compiler has a problem building the target.

I changed the line:
$(top_builddir)/include/mysqld_error.h: comp_err

to:
$(top_builddir)/include/mysqld_error.h: comp_err$(EXEEXT)

and it now builds fine, on Cygwin and FC4.
[13 Dec 2005 21:36] Anthony Willard
Ignore my previous post, I neglected to check the "Changeset".
[14 Dec 2005 1:10] 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/136
[16 Dec 2005 19:15] Kent Boortz
Pushed into 5.0.18-pre
[21 Dec 2005 14:24] Jon Stephens
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Documented in 5.0.18 changelog. Closed.