[MDEV-6773] Missing innochecksum.exe at the MariaDB Windows binary package Created: 2014-09-24  Updated: 2015-04-30  Resolved: 2015-04-30

Status: Closed
Project: MariaDB Server
Component/s: Platform Windows
Affects Version/s: 5.5
Fix Version/s: 10.0.6

Type: Bug Priority: Major
Reporter: Stoykov (Inactive) Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: Windows, innochecksum
Environment:

Windows



 Description   

innochecksum.exe is missing at MariaDB 10.0.12, 10.0.13 Windows binaries:
10.0.13

ivan@istoykov.skysql.com:[Wed Sep 24 10:18:07][~/Downloads/mariadb-10.0.13-winx64/mariadb-10.0.13-winx64]$ find ./ -type f -name "*innochecksum*"
ivan@istoykov.skysql.com:[Wed Sep 24 10:18:12][~/Downloads/mariadb-10.0.13-winx64/mariadb-10.0.13-winx64]$ find ./ -type f -name "*exe"
./mysql-test/lib/My/SafeProcess/my_safe_kill.exe
./mysql-test/lib/My/SafeProcess/my_safe_process.exe
./bin/myisampack.exe
./bin/mysql.exe
./bin/myisamlog.exe
./bin/mysqlslap.exe
./bin/mysqlbinlog.exe
./bin/mysql_client_test.exe
./bin/mysql_plugin.exe
./bin/my_print_defaults.exe
./bin/mysql_install_db.exe
./bin/aria_read_log.exe
./bin/myisam_ftdump.exe
./bin/perror.exe
./bin/aria_ftdump.exe
./bin/mysql_embedded.exe
./bin/myisamchk.exe
./bin/mysql_upgrade.exe
./bin/mysql_upgrade_service.exe
./bin/mysqltest_embedded.exe
./bin/mysqldump.exe
./bin/mysqlcheck.exe
./bin/aria_chk.exe
./bin/mysqltest.exe
./bin/replace.exe
./bin/mysql_client_test_embedded.exe
./bin/mysql_tzinfo_to_sql.exe
./bin/mysqld.exe
./bin/echo.exe
./bin/mysql_upgrade_wizard.exe
./bin/mysqladmin.exe
./bin/mysqlshow.exe
./bin/aria_pack.exe
./bin/aria_dump_log.exe
./bin/mysqlimport.exe

10.0.12

ivan@istoykov.skysql.com:[Wed Sep 24 10:22:08][~/Downloads/mariadb-10.0.12-winx64]$ find ./ -type f -name "*innochecksum*"
ivan@istoykov.skysql.com:[Wed Sep 24 10:22:11][~/Downloads/mariadb-10.0.12-winx64]$ find ./ -type f -name "*exe"
./mysql-test/lib/My/SafeProcess/my_safe_kill.exe
./mysql-test/lib/My/SafeProcess/my_safe_process.exe
./bin/myisampack.exe
./bin/mysql.exe
./bin/myisamlog.exe
./bin/mysqlslap.exe
./bin/mysqlbinlog.exe
./bin/mysql_client_test.exe
./bin/mysql_plugin.exe
./bin/my_print_defaults.exe
./bin/mysql_install_db.exe
./bin/aria_read_log.exe
./bin/myisam_ftdump.exe
./bin/perror.exe
./bin/aria_ftdump.exe
./bin/mysql_embedded.exe
./bin/myisamchk.exe
./bin/mysql_upgrade.exe
./bin/mysql_upgrade_service.exe
./bin/mysqltest_embedded.exe
./bin/mysqldump.exe
./bin/mysqlcheck.exe
./bin/aria_chk.exe
./bin/mysqltest.exe
./bin/replace.exe
./bin/mysql_client_test_embedded.exe
./bin/mysql_tzinfo_to_sql.exe
./bin/mysqld.exe
./bin/echo.exe
./bin/mysql_upgrade_wizard.exe
./bin/mysqladmin.exe
./bin/mysqlshow.exe
./bin/aria_pack.exe
./bin/aria_dump_log.exe
./bin/mysqlimport.exe
 



 Comments   
Comment by Elena Stepanova [ 2014-09-24 ]

In MySQL 5.5, innochecksum was (and still is) buit for unix only:
extra/CMakeLists.txt

IF(UNIX)
  MYSQL_ADD_EXECUTABLE(innochecksum innochecksum.c)
 
  MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.c)
  TARGET_LINK_LIBRARIES(resolve_stack_dump mysys)
 
  MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c COMPONENT Client)
  TARGET_LINK_LIBRARIES(mysql_waitpid mysys)
ENDIF()

In MySQL 5.6 it has changed:

IF(WITH_INNOBASE_STORAGE_ENGINE)
  # Add path to the InnoDB headers
  INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/storage/innobase/include)
  # We use the InnoDB code directly in case the code changes.
  ADD_DEFINITIONS("-DUNIV_INNOCHECKSUM")
  SET(INNOBASE_SOURCES
      ../storage/innobase/buf/buf0checksum.cc
      ../storage/innobase/ut/ut0crc32.cc
      ../storage/innobase/ut/ut0ut.cc
     )
  MYSQL_ADD_EXECUTABLE(innochecksum innochecksum.cc ${INNOBASE_SOURCES})
  TARGET_LINK_LIBRARIES(innochecksum mysys mysys_ssl)
ENDIF()

But MariaDB 10.0 still has it under the old if (UNIX) condition.

Comment by Sergei Golubchik [ 2014-11-10 ]

We haven't merged new innochecksum from 5.6, it was significantly changed there.
I don't want to risk doing it in 10.0, but we'll get it in 10.1.

The old one probably doesn't work on Windows, that's why it was disabled there.

Comment by Sergei Golubchik [ 2015-03-04 ]

Okay. 5.6 innochecksum was merged into 10.0.16 in MDEV-7477. If there's any need to do windows packaging fixes they should go into 10.0 too.

Comment by Sergei Golubchik [ 2015-04-30 ]

elenst, could you please check whether innochecksum is packaged on windows?
I don't see why not, it is built, so it should be packaged. But I don't have windows VM to verify it.
Thanks!

Comment by Elena Stepanova [ 2015-04-30 ]

Yes, it's present in 10.0.17 packages, both in zip (checked Win32) and msi (checked Winx64).

> & 'C:\Program Files\MariaDB 10.0\bin\innochecksum.exe' --version
InnoDB offline file checksum utility.
C:\Program Files\MariaDB 10.0\bin\innochecksum.exe Ver 5.6.23, for Win64 (AMD64)

Generated at Thu Feb 08 07:14:28 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.