Bug #24537 make_win_src_distribution creates unbuildable visual studio project
Submitted: 23 Nov 2006 11:03 Modified: 24 Feb 2008 8:30
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.0BK OS:Windows (windows)
Assigned to: CPU Architecture:Any
Tags: make_win_src_distribution, taocrypt, yassl

[23 Nov 2006 11:03] Shane Bester
Description:
To build windows mysqld-nt.exe, we first build it on linux, then run

./scripts/make_win_src_distribution to make a mysql-5.0.32-win-src.zip.

This mysql-5.0.32-win-src.zip is extracted onto a windows server, where it can be built.

Problem is the yassl and taocrypt fails to build, due to an incorrect
include directory specified.

Errors include many of these:
g:\builds\mysql-5.0.32-win-src\mysql-5.0.32\extra\yassl\taocrypt\src\sha.cpp(31) : fatal error C1083: Cannot open include file: 'algorithm.hpp': No such file or directory

How to repeat:
linux:/home/sbester/build/5.0/mysql-5.0-bk # ./scripts/make_win_src_distribution
make: Entering directory `/home/sbester/build/5.0/mysql-5.0-bk/ndb'
make: *** No rule to make target `windoze'.  Stop.
make: Leaving directory `/home/sbester/build/5.0/mysql-5.0-bk/ndb'
mysql-5.0.32-win-src.zip created successfully !!

extract mysql-5.0.32-win-src.zip onto windows drive.

open mysql.sln in VS.NET and try to build.

Suggested fix:
for yassl project, the additional include directories specified in
the project properties must be "include,taocrypt\include,taocrypt\mySTL"

for taocrypt, they must be "..\taocrypt\include;..\taocrypt\mySTL"
[19 Jan 2007 18:38] Joerg Bruehe
1) The description about the process is inexact.
   In release builds, the steps are:

      BUILD/compile-dist  # forces all subdirectories to be configured
      make dist           # creates source.tar.gz
      make_win_src_distribution

The problem you describe might be caused my the missing "compile-dist" run.

2) We are moving away from the use of VC++ project files,
   switching to "nmake".

All 5.1 builds are done using "nmake", as are the 64 bit builds of 5.0
The only reason not to switch the 32 bit builds of 5.0 to use "nmake" is to avoid any risk of introducing incompatibilities within a GA release.

So if you want to use VC++ project files, please retry using the steps in 1),
but the better route would be to switch to "nmake".

Please report whether any of these solves the issue for you.
[19 Jan 2007 19:01] Joerg Bruehe
Please excuse the severe typo in my last entry:
Every occurrence of "nmake" should read "cmake" - sorry!
[20 Feb 2007 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[24 Feb 2008 8:30] MySQL Verification Team
closing, as this is no longer a problem in current versions.