Posts Tagged ‘mysql_release’

Maintaining (and Building) your MySQL Source Tree on Windows

Tuesday, January 24th, 2012

I just have one last post to round out my series on building MySQL and MariaDB on Windows.

Before, I showed how to obtain the latest source tree and build it. In this one, I simply want to show how easy it is to continue off of that.

So it’s been a week or so, and now you want the latest fixes:

  1. cd C:\mysql-5.5\mysql-5.5
  2. bzr pull
  3. cmake . -DBUILD_CONFIG=mysql_release
  4. VS: File -> Open -> Solution -> MySql.sln
  5. VS: Build -> Build Solution
  6. VS: Right-click “PACKAGE” -> Build (in “Solution Explorer” View)

Simple as that. :)

Your “no-install” package will be located at:

C:\mysql-5.5\mysql-5.5\mysql-5.5.21-win32.zip

Full Outputs for Reference:

C:\Users\Chris>cd C:\mysql-5.5\mysql-5.5
C:\mysql-5.5\mysql-5.5>bzr pull
Using saved parent location: bzr+ssh://bazaar.launchpad.net/%2Bbranch/mysql-server/5.5/
Connected (version 2.0, client Twisted)
Authentication (publickey) successful!
Secsh channel 1 opened.
+N  mysql-test/suite/innodb/r/innodb_bug12400341.result
+N  mysql-test/suite/innodb/t/innodb_bug12400341-master.opt
+N  mysql-test/suite/innodb/t/innodb_bug12400341.test
+N  mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result
+N  mysql-test/suite/sys_vars/r/innodb_trx_rseg_n_slots_debug_basic.result
+N  mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test
+N  mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test
 M  CMakeLists.txt
 M  client/mysqldump.c
 M  cmd-line-utils/libedit/chartype.h
 M  cmd-line-utils/libedit/eln.c
 M  cmd-line-utils/libedit/readline.c
 M  mysql-test/collections/default.experimental
 M  mysql-test/extra/rpl_tests/rpl_extra_col_master.test
 M  mysql-test/include/show_slave_status.inc
 M  mysql-test/include/wait_for_slave_io_error.inc
 M  mysql-test/r/func_time.result
 M  mysql-test/r/key_cache.result
 M  mysql-test/r/mysqlcheck.result
 M  mysql-test/r/mysqldump.result
 M  mysql-test/r/partition_key_cache.result
 M  mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result
 M  mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test
 M  mysql-test/suite/rpl/r/rpl_log_pos.result
 M  mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
 M  mysql-test/suite/rpl/r/rpl_packet.result
 M  mysql-test/suite/rpl/t/rpl_log_pos.test
 M  mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
 M  mysql-test/suite/rpl/t/rpl_packet.test
 M  mysql-test/suite/sys_vars/r/all_vars.result
 M  mysql-test/suite/sys_vars/t/all_vars.test
 M  mysql-test/suite/sys_vars/t/disabled.def
 M  mysql-test/t/func_time.test
 M  mysql-test/t/key_cache.test
 M  mysql-test/t/mysqlcheck.test
 M  mysql-test/t/mysqldump.test
 M  mysql-test/t/partition_key_cache.test
 M  sql/item.cc
 M  sql/sql_admin.cc
 M  storage/innobase/buf/buf0buf.c
 M  storage/innobase/handler/ha_innodb.cc
 M  storage/innobase/ibuf/ibuf0ibuf.c
 M  storage/innobase/include/trx0rseg.ic
 M  storage/innobase/include/trx0sys.h
 M  storage/innobase/row/row0mysql.c
 M  storage/innobase/trx/trx0sys.c
 M  storage/myisam/mi_preload.c
All changes applied successfully.
Now on revision 3691.
C:\mysql-5.5\mysql-5.5>cmake . -DBUILD_CONFIG=mysql_release
-- MySQL 5.5.21
-- Configuring done
-- Generating done
-- Build files have been written to: C:/mysql-5.5/mysql-5.5

5. VS: Build -> Build Solution

1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>Checking Build System
...
========== Build: 97 succeeded, 0 failed, 1 up-to-date, 10 skipped ==========

6. VS: Right-click “PACKAGE” -> Build

1>------ Build started: Project: INFO_BIN, Configuration: Debug Win32 ------
2>------ Build started: Project: INFO_SRC, Configuration: Debug Win32 ------
1>Build log was saved at "file://c:\mysql-5.5\mysql-5.5\INFO_BIN.dir\Debug\BuildLog.htm"
1>INFO_BIN - 0 error(s), 0 warning(s)
2>Build log was saved at "file://c:\mysql-5.5\mysql-5.5\INFO_SRC.dir\Debug\BuildLog.htm"
2>INFO_SRC - 0 error(s), 0 warning(s)
3>------ Build started: Project: PACKAGE, Configuration: Debug Win32 ------
3>
3>Performing Post-Build Event...
3>CPack: Create package using ZIP
3>CPack: Install projects
3>CPack: - Install project: MySQL
3>CPack: Compress package
3>CPack: Finalize package
3>CPack: Package C:/mysql-5.5/mysql-5.5/mysql-5.5.21-win32.zip generated.
3>Build log was saved at "file://c:\mysql-5.5\mysql-5.5\PACKAGE.dir\Debug\BuildLog.htm"
3>PACKAGE - 0 error(s), 0 warning(s)
========== Build: 3 succeeded, 0 failed, 96 up-to-date, 0 skipped ==========

 
 

..

Related Build Links:

 
 

How to Build MySQL 5.5 from Source Code on Windows

Tuesday, January 17th, 2012

Not counting obtaining the source code, and once you have the prerequisites satisfied, [Windows] users can build from source code in 5 easy steps.

Prerequisites – Install & ensure they are in the $PATH:

  1. CMake <-- Download
  2. C++ compiler <-- Visual Studio 2008 Express - Free Download
  3. Bison <-- Download (ensure m4.exe is also included, which it should be)

Optional (but most likely you’ll want):

  1. Perl <-- For Test Suite/Scripts. Strawberry Perl is a great option.
  2. Bazaar <-- If want latest source tree

Tip: Install these in locations where spaces are not in the path. Specifically, watch for the Bison/m4 as there is a known bug with regards to that.

..

Now that that’s out of the way, we can begin. You just need to decide if you want to build from source code you download or from the latest development tree.

This will walk through building from the latest development tree (since the downloaded version requires no extra steps – just grab it from any mirror).

Also, this post assumes you can connect to the Launchpad repository via Bazaar and download the source (i.e., you’ll have to create SSH keys to connect to Launchpad – see this write-up for more details. You might also need Pageant too, if you don’t already have it.)

I. Prerequisite Checks:

C:\>cmake --version
cmake version 2.6-patch 4

C:\>bison --version
bison (GNU Bison) 2.4.1

C:\>m4 --version
m4 (GNU M4) 1.4.13

C:\>perl --version
This is perl 5, version 12, subversion 3

C:\>bzr --version
Bazaar (bzr) 2.4.1

..

II. Obtain Source Code (skip this if you download the source directly from a mirror):

  1. Open Pageant -> Add Key -> Select your SSH Key (for Launchpad)
  2. cd C:\
  3. bzr init-repo –trees mysql-5.5
  4. cd mysql-5.5
  5. bzr branch lp:mysql-server/5.5 mysql-5.5

..

III. Build/Compile Source Code:

  1. cd mysql-5.5
  2. cmake . -DBUILD_CONFIG=mysql_release -G “Visual Studio 9 2008″
  3. Copy m4.exe to $basedir/sql <-- this avoids any m4.exe errors (or fix this permanently if this affects you)
  4. Open Solution in VS: File -> Open -> Project/Solution -> C:\mysql-5.5\mysql-5.5\MySQL.sln
  5. Now build in VS: Build -> Build Solution (or F7)
========== Build: 93 succeeded, 0 failed, 5 up-to-date, 10 skipped ==========

There you have it! (Assuming you have “0 failed”, otherwise, you’ve got some debugging to do.)

..

For those interested, I have full outputs, and common errors (with their solutions) from the entire process here:

MySQL 5.5 Windows Build Appendix : Full Outputs and Common Errors from Building MySQL 5.5 on Windows

..

Build Notes (step #2 above):

The -DBUILD_CONFIG=mysql_release flag uses the same build options used for official releases, which are stored in cmake/build_configurations/mysql_release.cmake.

The simplest you could use is: cmake . -G “Visual Studio 9 2008″

Or you could specify a number of options: cmake . -DMYSQL_SERVER_SUFFIX=-chris -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 -G “Visual Studio 9 2008″

The -G lets know which compiler will be used. In this case, I’m using VS 2008 Express. If you were using VS 2005, it’d be “Visual Studio 8 2005″, but I’m not sure if VS 2005 will even work.

This command should end with something like “– Build files have been written to: C:/…” or you’ll need to debug.

Lastly, the cmake command creates the MySQL.sln file and all .vcproj files.

..

IV. Kicking the tires …

Creating a “package” in Visual Studio is quite simple:

In the “Solution Explorer” view (far right-hand side of page), right-click on “PACKAGE” -> then “Build”.

If you have problems with this, it can be pieced together easily enough:

  1. Make main dir mysql-5.5.xx
  2. Make subdir bin/ - copy in all .exe files (from client/debug, sql/debug, */debug, etc.)*
  3. Make subdir data/ - copy from sql/data/
  4. Make subdir scripts/ – copy from scripts/ (at least all perl, sql, and sh scripts)
  5. Make subdir share/ - copy from sql/share/
  6. Create my.ini

* Notes re: .exe files: mysqld.exe is located in /sql/debug/ and mysql.exe is located in /client/debug/. The remaining .exe files are located in /client/debug/, /sql/debug/, /extra/debug/, /libmysql/debug/, /mysys/debug/, /scripts/debug/, /storage/myisam/debug/, /storage/heap/debug/, and /tests/debug/.

Now start mysqld:

mysql> select version();
+------------------+
| version()        |
+------------------+
| 5.5.21-debug-log |
+------------------+

Of course you should test it a bit more than that, but I’ll leave that to you.
 
 
..

 
 


Period Panties by Period Panteez Menstrual Underwear Menstruation PMS Panty