Recently, I found myself needing MariaDB 5.1.60 for Windows for some testing purposes. Therefore, I needed to build it from source. I ended up using what I’d call a “blend” of the commands listed in this “how-to” and the readme file INSTALL-WIN-SOURCE, so I thought I’d post those steps.
- Download 5.1.60 MariaDB source from here.
-
cd C:\mariadb-5.1
-
win\configure.js
-
cmake .
- VS: File -> Open -> Solution -> MySql.sln
- VS: Build -> Build Solution
- VS: Right-click “PACKAGE” -> Build (in “Solution Explorer” View)
That’s it.
Let’s fire it up:
MariaDB> select version();
+----------------------+
| version() |
+----------------------+
| 5.1.60-MariaDB-debug |
+----------------------+
MariaDB> show global variables like 'innodb_version';
+----------------+-------------+
| Variable_name | Value |
+----------------+-------------+
| innodb_version | 1.0.17-13.0 |
+----------------+-------------+
MariaDB> show engines;
+------------+---------+---------------------------...
| Engine | Support | Comment ...
+------------+---------+---------------------------...
| CSV | YES | CSV storage engine ...
| InnoDB | DEFAULT | Percona-XtraDB, Supports t...
| PBXT | YES | High performance, multi-ve...
| MARIA | YES | Crash-safe tables with MyI...
| MyISAM | YES | Default engine as of MySQL...
| FEDERATED | YES | FederatedX pluggable stora...
| MRG_MYISAM | YES | Collection of identical My...
| MEMORY | YES | Hash based, stored in memo...
+------------+---------+---------------------------...
..
For reference, here are my full outputs:
C:\Users\Chris>cd ..\..\mariadb-5.1
C:\mariadb-5.1>win\configure.js
C:\mariadb-5.1>cmake .
-- Check for working C compiler: cl
-- Check for working C compiler: cl -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: cl
-- Check for working CXX compiler: cl -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
build CSV as static library (libcsv.lib)
build FEDERATEDX as static library (libfederatedx.lib)
build HEAP as static library (libheap_s.lib)
build MARIA as static library (libmaria_s.lib)
build MYISAM as static library (libmyisam_s.lib)
build MYISAMMRG as static library (libmyisammrg_s.lib)
build PBXT as static library (libpbxt_s.lib)
build XTRADB as static library (libxtradb.lib)
build ARCHIVE as DLL (ha_archive.dll)
build BLACKHOLE as DLL (ha_blackhole.dll)
build EXAMPLE as DLL (ha_example.dll)
build FEDERATED as DLL (ha_federated.dll)
build INNODB_PLUGIN as DLL (ha_innodb_plugin.dll)
-- Configuring done
-- Generating done
-- Build files have been written to: C:/mariadb-5.1
Open Visual Studio -> File -> Open -> Project/Solution -> Select C:\mariadb-5.1.60\MySql.sln
Build Solution Output:
========== Build: 79 succeeded, 0 failed, 2 up-to-date, 2 skipped ==========
Package Build Output:
1>------ Build started: Project: PACKAGE, Configuration: Debug Win32 ------
1>
1>Performing Post-Build Event...
1>CPack: Create package using NSIS
1>CPack: Install projects
1>CPack: - Install project: MySql
1>CPack: - Install component: Unspecified
1>CPack: - Install component: headers
1>CPack: - Install component: mysqltest
1>CPack: - Install component: runtime
1>CPack: - Install component: scripts
1>CPack: - Install component: sqlbench
1>CPack: Compress package
1>CPack: Finalize package
1>CPack: Package C:/mariadb-5.1/MariaDB-5.1.60-win32.exe generated.
1>Build log was saved at "file://c:\mariadb-5.1\PACKAGE.dir\Debug\BuildLog.htm"
1>PACKAGE - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 81 up-to-date, 0 skipped ==========
PlanetMySQL Voting:
Vote UP /
Vote DOWN