Bug #20907 Can't compile Windows 5.1 with CMake
| Submitted: | 7 Jul 2006 17:27 | Modified: | 4 Sep 2006 13:20 |
|---|---|---|---|
| Reporter: | Miguel Solorzano | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S2 (Serious) |
| Version: | 5.1BK | OS: | Windows (Windows) |
| Assigned to: | Georg Richter | CPU Architecture: | Any |
[7 Jul 2006 19:48]
Kristian Nielsen
Which version of CMake are you using?
The version used on our build host is:
$ cmake --version
cmake version 2.2-patch 3
[7 Jul 2006 22:27]
MySQL Verification Team
Below the CMake version I am using: C:\>CMake --version cmake version 2.4-patch 2 and the Bison version: C:\>bison --version bison (GNU Bison) 2.1 Written by Robert Corbett and Richard Stallman. Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[13 Jul 2006 19:33]
Calvin Sun
There are some reports on problems with CMake 2.4. It is needed to put a warning on the README that CMake 2.2 should be used.
[13 Jul 2006 23:16]
MySQL Verification Team
I changed the CMake version and now I was able for to create the MySQL.sln solution file. However during the compilation process I got now the below error: mysqld error PRJ0019: A tool returned an error code from "Building Custom Rule C:/cygwin/home/miguel/mysql-5.1/sql/sql_yacc.cc" Thanks in advance.
[8 Aug 2006 6:37]
Kristian Nielsen
For building from BitKeeper sources, Bison needs to be properly installed. Bison is used to generate the sql_yacc.cc file, so it appears likely that the problem is a missing Bison installation (or that Visual Studio cannot find Bison). Alternatively, one can build from the source tarball (the common Unix/Windows one), which has the sql_yacc.cc file already generated.
[8 Aug 2006 11:16]
MySQL Verification Team
I have Bison in the path environment: C:\Documents and Settings\miguel>bison --version bison (GNU Bison) 2.1 Written by Robert Corbett and Richard Stallman. Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. C:\Documents and Settings\miguel> Then is Visual Studio cannot find it. Indeed I copied the sql_yacc.cc and sql_yacc.h from the Unix compiled source and I am able to compile on Windows.
[17 Aug 2006 3:09]
MySQL Verification Team
I was able for to compile 5.1 (without the need for to copy sql_yacc.cc from
Linux compiled source) following the below steps:
- Installed CMake version: cmake-2.2.3-win32.exe
- Edited environment PATH adding: D:\Program Files\CMake 2.2\bin
- Installed Bison version: bison-2.1.exe
- Copied all the Bison \bin files to: D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin directory.
- Copied the whole Bison \share directory to: D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7 directory.
Then:
Setting environment for using Microsoft Visual Studio .NET 2003 tools.
(If you have another version of Visual Studio or Visual C++ installed and wish
to use its tools from the command line, run vcvars32.bat for that version.)
d:\>cd mysql-5.1
d:\mysql-5.1>win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE WITH_BLACKHOLE_STORAGE_ENGINE WITH_EXAMPLE_STORAGE_ENGINE WITH_FEDERATED_STORAGE_ENGINE WITH_INNOBASE_STORAGE_ENGINE __NT__ MYSQL_SERVER_SUFFIX=-nt
d:\mysql-5.1>win\build-vs71.bat
The system cannot find the file specified.
-- Check for working C compiler: cl
-- Check for working C compiler: cl -- works
-- Check size of void*
-- Check size of void* - done
-- Check for working CXX compiler: cl
-- Check for working CXX compiler: cl -- works
-- Configuring done
-- Generating done
-- Build files have been written to: d:/mysql-5.1
1 file(s) copied.
d:\mysql-5.1>mysql.sln
Using the VS IDE compiled the release server.
d:\mysql-5.1>cd sql
d:\mysql-5.1\sql>cd release
d:\mysql-5.1\sql\release>mysqld -V
mysqld Ver 5.1.12-beta-nt for Win32 on ia32 (Source distribution)
If the above procedure then I think this bug could be closed and the
Manual updated.
[28 Aug 2006 15:42]
MySQL Verification Team
Bug: http://bugs.mysql.com/bug.php?id=21861 was marked as duplicate of this one. Notice the libmysqld compilation problems too.
[30 Aug 2006 10:23]
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/11065 ChangeSet@1.2287, 2006-08-30 12:17:35+02:00, georg@lmy002.wdf.sap.corp +1 -0 Fix for bug #20907 CMake versions > 2.4 allow linking to STATIC or SHARED libraries only.
[30 Aug 2006 16:55]
Georg Richter
fixed in 5.1.12
[4 Sep 2006 13:20]
MC Brown
A note has been added to the changelog to 5.1.12.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.062 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: Following instructions \win\README file: Setting environment for using Microsoft Visual Studio .NET 2003 tools. (If you have another version of Visual Studio or Visual C++ installed and wish to use its tools from the command line, run vcvars32.bat for that version.) C:\Documents and Settings\miguel>cd\cygwin\home\miguel\dbs\mysql-5.1 C:\cygwin\home\miguel\dbs\mysql-5.1>win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro C:\cygwin\home\miguel\dbs\mysql-5.1>win\build-vs71.bat 1 arquivo(s) copiado(s). CMake Error: Attempt to add link library libmysql which is not a library target to target 3 myTest -- Configuring done 1 arquivo(s) copiado(s). Then: Step 6 ------ From the root of your bk clone, start your build. For Visual Studio, simply execute mysql.sln. This will start the IDE and you can click the build solution menu option. I was unable to find the above solution file. How to repeat: See description.