2015-10-26 13:43:55 |
Sergei Golubchik |
bug |
|
|
added bug |
2015-10-26 13:44:38 |
Sergei Golubchik |
tags |
|
tokudb |
|
2015-10-26 13:55:49 |
Sergei Golubchik |
description |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
- #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)" |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where the linker put the library in .../xz/lib64 and the code below (in the same cmake file) was not able to find it. |
|
2015-10-26 13:56:08 |
Sergei Golubchik |
description |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where the linker put the library in .../xz/lib64 and the code below (in the same cmake file) was not able to find it. |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where the linker put the library in .../xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. to be continued... |
|
2015-10-26 13:57:40 |
Laurynas Biveinis |
nominated for series |
|
percona-server/5.5 |
|
2015-10-26 13:57:40 |
Laurynas Biveinis |
bug task added |
|
percona-server/5.5 |
|
2015-10-26 13:57:40 |
Laurynas Biveinis |
nominated for series |
|
percona-server/5.6 |
|
2015-10-26 13:57:40 |
Laurynas Biveinis |
bug task added |
|
percona-server/5.6 |
|
2015-10-26 13:57:52 |
Laurynas Biveinis |
percona-server/5.5: status |
New |
Invalid |
|
2015-10-26 13:58:18 |
Laurynas Biveinis |
percona-server/5.6: importance |
Undecided |
Medium |
|
2015-10-26 13:58:20 |
Laurynas Biveinis |
percona-server/5.6: status |
New |
Triaged |
|
2015-10-26 16:19:52 |
Sergei Golubchik |
description |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where the linker put the library in .../xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. to be continued... |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
also CTestCustom.cmake must be renamed to CTestCustom.cmake.in
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where libtool put the library in <...>/xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. storage/tokudb/PerconaFT/ft/tests/CMakeLists.txt
another one of
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
6. |
|
2015-10-26 18:02:14 |
Sergei Golubchik |
description |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
also CTestCustom.cmake must be renamed to CTestCustom.cmake.in
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where libtool put the library in <...>/xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. storage/tokudb/PerconaFT/ft/tests/CMakeLists.txt
another one of
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
6. |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
also CTestCustom.cmake must be renamed to CTestCustom.cmake.in
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where libtool put the library in <...>/xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. storage/tokudb/PerconaFT/ft/tests/CMakeLists.txt
another one of
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
6. storage/tokudb/PerconaFT/locktree/tests/CMakeLists.txt
- add_executable(${base} ${base})
+ add_executable(${base} ${base}.cc)
7. storage/tokudb/PerconaFT/portability/tests/CMakeLists.txt
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
8. storage/tokudb/PerconaFT/src/CMakeLists.txt
- target_link_libraries(${LIBTOKUDB} LINK_PUBLIC z)
+ target_link_libraries(${LIBTOKUDB} LINK_PUBLIC ${ZLIB_LIBRARY} )
tokudb should respect server-global zlib settings and link with bundled zlib, if user has selected that configuration
9. storage/tokudb/PerconaFT/src/tests/CMakeLists.txt
- add_executable(test-5138.tdb test-5138)
+ add_executable(test-5138.tdb test-5138.cc)
and
- add_executable(${base}.tdb ${base})
+ add_executable(${base}.tdb ${base}.cc)
10. storage/tokudb/PerconaFT/tools/CMakeLists.txt
- add_executable(${tool} ${tool})
+ add_executable(${tool} ${tool}.cc)
and
- install(TARGETS tokuftdump DESTINATION bin COMPONENT tokukv_tools)
- install(TARGETS tokuft_logprint DESTINATION bin COMPONENT tokukv_tools)
+ install(TARGETS tokuftdump DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
+ install(TARGETS tokuft_logprint DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
The DESTINATION should follow server-wide settings from install_layout.cmake. But you might not care about the correct COMPONENT here, if you don't use components at all in your cmake files.
11. storage/tokudb/PerconaFT/util/tests/CMakeLists.txt
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
===
that's all |
|
2015-10-26 20:02:59 |
Sergei Golubchik |
description |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
also CTestCustom.cmake must be renamed to CTestCustom.cmake.in
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where libtool put the library in <...>/xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. storage/tokudb/PerconaFT/ft/tests/CMakeLists.txt
another one of
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
6. storage/tokudb/PerconaFT/locktree/tests/CMakeLists.txt
- add_executable(${base} ${base})
+ add_executable(${base} ${base}.cc)
7. storage/tokudb/PerconaFT/portability/tests/CMakeLists.txt
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
8. storage/tokudb/PerconaFT/src/CMakeLists.txt
- target_link_libraries(${LIBTOKUDB} LINK_PUBLIC z)
+ target_link_libraries(${LIBTOKUDB} LINK_PUBLIC ${ZLIB_LIBRARY} )
tokudb should respect server-global zlib settings and link with bundled zlib, if user has selected that configuration
9. storage/tokudb/PerconaFT/src/tests/CMakeLists.txt
- add_executable(test-5138.tdb test-5138)
+ add_executable(test-5138.tdb test-5138.cc)
and
- add_executable(${base}.tdb ${base})
+ add_executable(${base}.tdb ${base}.cc)
10. storage/tokudb/PerconaFT/tools/CMakeLists.txt
- add_executable(${tool} ${tool})
+ add_executable(${tool} ${tool}.cc)
and
- install(TARGETS tokuftdump DESTINATION bin COMPONENT tokukv_tools)
- install(TARGETS tokuft_logprint DESTINATION bin COMPONENT tokukv_tools)
+ install(TARGETS tokuftdump DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
+ install(TARGETS tokuft_logprint DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
The DESTINATION should follow server-wide settings from install_layout.cmake. But you might not care about the correct COMPONENT here, if you don't use components at all in your cmake files.
11. storage/tokudb/PerconaFT/util/tests/CMakeLists.txt
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
===
that's all |
I'll just put everything in one bug report :)
1. storage/tokudb/PerconaFT/cmake_modules/FindValgrind.cmake
I've changed
- find_package_handle_standard_args(VALGRIND DEFAULT_MSG
+ find_package_handle_standard_args(Valgrind DEFAULT_MSG
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/tokudb/PerconaFT/cmake_modules/TokuMergeLibs.cmake
I've commented out
- LIST(REMOVE_DUPLICATES OSLIBS)
+ #LIST(REMOVE_DUPLICATES OSLIBS)
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
+ ERROR_QUIET
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_file(CTestCustom.cmake . @ONLY)
+ configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY)
"don't configure_file into itself (with input=output)"
also CTestCustom.cmake must be renamed to CTestCustom.cmake.in
4. storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+ list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
"Fixed tokudb with ccache build failure."
ExternalProject_Add(build_lzma
PREFIX xz
DOWNLOAD_COMMAND
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_COMMAND
"<SOURCE_DIR>/configure" ${xz_configure_opts}
"--prefix=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz"
+ "--libdir=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/xz/lib"
BUILD_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma
INSTALL_COMMAND
${SUBMAKE_COMMAND} -C src/liblzma install
)
That was needed on SuSE where libtool put the library in <...>/xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. storage/tokudb/PerconaFT/ft/tests/CMakeLists.txt
another one of
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
6. storage/tokudb/PerconaFT/locktree/tests/CMakeLists.txt
- add_executable(${base} ${base})
+ add_executable(${base} ${base}.cc)
7. storage/tokudb/PerconaFT/portability/tests/CMakeLists.txt
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
8. storage/tokudb/PerconaFT/src/CMakeLists.txt
- target_link_libraries(${LIBTOKUDB} LINK_PUBLIC z)
+ target_link_libraries(${LIBTOKUDB} LINK_PUBLIC ${ZLIB_LIBRARY} )
tokudb should respect server-global zlib settings and link with bundled zlib, if user has selected that configuration
9. storage/tokudb/PerconaFT/src/tests/CMakeLists.txt
- add_executable(test-5138.tdb test-5138)
+ add_executable(test-5138.tdb test-5138.cc)
and
- add_executable(${base}.tdb ${base})
+ add_executable(${base}.tdb ${base}.cc)
10. storage/tokudb/PerconaFT/tools/CMakeLists.txt
- add_executable(${tool} ${tool})
+ add_executable(${tool} ${tool}.cc)
and
- install(TARGETS tokuftdump DESTINATION bin COMPONENT tokukv_tools)
- install(TARGETS tokuft_logprint DESTINATION bin COMPONENT tokukv_tools)
+ install(TARGETS tokuftdump DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
+ install(TARGETS tokuft_logprint DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
The DESTINATION should follow server-wide settings from install_layout.cmake. But you might not care about the correct COMPONENT here, if you don't use components at all in your cmake files.
11. storage/tokudb/PerconaFT/util/tests/CMakeLists.txt
- add_executable(${test} ${test})
+ add_executable(${test} ${test}.cc)
12. storage/tokudb/PerconaFT/CMakeLists.txt
cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
this command automatically does cmake_policy(VERSION 2.8.8) which removes all cmake_policy() settings that were done in the root CMakeLists.txt. In particular cmake starts issuing warnings about policies CMP0022 and CMP0045.
As a fix this line can be either removed or wrapped in "if (CMAKE_PROJECT_NAME STREQUAL TokuDB)"
===
that's all |
|
2015-11-13 11:48:06 |
Tomislav Plavcic |
percona-server/5.6: status |
Triaged |
Fix Committed |
|
2015-11-13 11:48:08 |
Tomislav Plavcic |
percona-server/5.6: assignee |
|
Tomislav Plavcic (tplavcic) |
|
2015-11-13 11:48:44 |
Tomislav Plavcic |
percona-server/5.6: milestone |
|
5.6.27-75.1 |
|
2015-11-18 11:14:45 |
Tomislav Plavcic |
percona-server/5.6: status |
Fix Committed |
Fix Released |
|