Closed kou closed 4 months ago
I will take it from now on.
I will try to resolve this issue at the following steps.
Build alpine-12-slim's docker image at the local using CMake
I will check which current options should be migrated to CMake options.
./configure \
--prefix=/usr/local \
--disable-groonga-httpd \
--disable-document \
--disable-glibtest \
--disable-benchmark \
--enable-mruby
I think we had better use release-maximum
presets.
I will add libraries by APT to pass the following commands on my local docker environment.
cmake \
-S . \
-B ../groonga.build \
--preset=release-maximum \
-DCMAKE_INSTALL_PREFIX="/usr/local"
cmake --build ../groonga.build
cmake --install ../groonga.build
/host/alpine/build/groonga-14.0.2# cmake -S . -B ../groonga.build --preset=release-maximum -DCMAKE_INSTALL_PREFIX=/usr/local bash: cmake: command not found
$ apk add cmake
614ec8b37355:/host/alpine/build/groonga-14.0.2# cmake -S . -B ../groonga.build --preset=release-maximum -DCMAKE_INSTALL_PREFIX=/usr/local Preset CMake variables:
CMAKE_BUILD_TYPE="Release" CMAKE_EXPORT_COMPILE_COMMANDS="ON" GRN_WITH_APACHE_ARROW="ON" GRN_WITH_BLOSC="auto" GRN_WITH_MRUBY="ON"
-- CMake: 3.29.3 CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!
$ apk add ninja-build
614ec8b37355:/host/alpine/build/groonga-14.0.2# rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -GNinja -DCMAKE_INSTALL_PREFIX=/usr/local Preset CMake variables:
CMAKE_BUILD_TYPE="Release" CMAKE_EXPORT_COMPILE_COMMANDS="ON" GRN_WITH_APACHE_ARROW="ON" GRN_WITH_BLOSC="auto" GRN_WITH_MRUBY="ON"
-- CMake: 3.29.3 CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! 614ec8b37355:/host/alpine/build/groonga-14.0.2# apk search ninja ninja-build-1.12.1-r0 ninja-is-really-ninja-1.12.1-r0 samurai-1.2-r5
614ec8b37355:/host/alpine/build/groonga-14.0.2# ls -la /usr/bin | grep ninja
614ec8b37355:/host/alpine/build/groonga-14.0.2# ls -la /usr/local/bin | grep ninja
614ec8b37355:/host/alpine/build/groonga-14.0.2# apk info -L ninja-build
ninja-build-1.12.1-r0 contains:
usr/lib/ninja-build/bin/ninja
614ec8b37355:/host/alpine/build/groonga-14.0.2# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
614ec8b37355:/host/alpine/build/groonga-14.0.2# export PATH=$PATH:/usr/lib/ninja-build/bin
614ec8b37355:/host/alpine/build/groonga-14.0.2# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/ninja-build/bin
614ec8b37355:/host/alpine/build/groonga-14.0.2# ninja --version
1.12.1
$ apk add ninja-build
$ export PATH=$PATH:/usr/lib/ninja-build/bin
614ec8b37355:/host/alpine/build/groonga-14.0.2# rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -GNinja -DCMAKE_INSTALL_PREFIX=/usr/local
CMake Error at CMakeLists.txt:531 (find_package):
By not providing "FindArrow.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Arrow", but
CMake did not find one.
Could not find a package configuration file provided by "Arrow" with any of
the following names:
ArrowConfig.cmake
arrow-config.cmake
Add the installation prefix of "Arrow" to CMAKE_PREFIX_PATH or set
"Arrow_DIR" to a directory containing one of the above files. If "Arrow"
provides a separate development package or SDK, be sure it has been
installed.
# apk add libarrow
614ec8b37355:/host/alpine/build/groonga-14.0.2# rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -GNinja -DCMAKE_INSTALL_PREFIX=/usr/local
CMake Error at CMakeLists.txt:531 (find_package):
By not providing "FindArrow.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Arrow", but
CMake did not find one.
Could not find a package configuration file provided by "Arrow" with any of
the following names:
ArrowConfig.cmake
arrow-config.cmake
Add the installation prefix of "Arrow" to CMAKE_PREFIX_PATH or set
"Arrow_DIR" to a directory containing one of the above files. If "Arrow"
provides a separate development package or SDK, be sure it has been
installed.
We should install libarrow in another way because this package doesn't include dev infos.
614ec8b37355:/host/alpine/build/groonga-14.0.2# apk info -L libarrow
libarrow-16.1.0-r0 contains:
usr/lib/libarrow.so.1601
usr/lib/libarrow.so.1601.0.0
614ec8b37355:/host/alpine/build/groonga-14.0.2# apk del libarrow
614ec8b37355:/host/alpine/build/groonga-14.0.2# apk add apache-arrow-dev
614ec8b37355:/host/alpine/build/groonga-14.0.2# apk info -L apache-arrow-dev | grep arrow-config.cmake
usr/lib/cmake/Arrow/arrow-config.cmake
614ec8b37355:/host/alpine/build/groonga-14.0.2# rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -DCMAKE_INSTALL_PREFIX=/usr/local
...
CMake Error in lib/CMakeLists.txt:
Target "grn_dependencies" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in lib/CMakeLists.txt:
Target "grn_dependencies" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in src/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in src/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in src/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in src/suggest/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/suggest/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/tokenizers/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/tokenizers/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/query_expanders/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/token_filters/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
CMake Error in plugins/functions/CMakeLists.txt:
Target "libgroonga" contains relative path in its
INTERFACE_INCLUDE_DIRECTORIES:
"include"
-- Generating done (0.2s)
CMake Generate step failed. Build files cannot be regenerated correctly.
I will try to do it in my local environment.
It's fine at the following environment.
$ cmake --version
cmake version 3.22.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
$ rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -DCMAKE_INSTALL_PREFIX=/tmp/local/
614ec8b37355:/host/alpine/build/groonga-14.0.2# cmake --version
cmake version 3.29.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
614ec8b37355:/host/alpine/build/groonga-14.0.2# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.20.1
PRETTY_NAME="Alpine Linux v3.20"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
I will read this one later. ref: https://cmake.org/cmake/help/latest/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.html
We should use samurai not Ninja on Alpine Linux.
まず、/CMakeLists.txt
でtarget_link_libraries(grn_dependencies ...)
しているCMakeターゲットのうち、どのターゲットのINTERFACE_INCLUDE_DIRECTORIES
ターゲットプロパティにinclude
が含まれているのかを特定します。
ターゲットプロパティは https://cmake.org/cmake/help/latest/command/get_target_property.html で取得できます。
https://cmake.org/cmake/help/latest/command/get_target_property.html でデバッグプリントできます。
--preset=release-minimum
でも発生するんですか?
relase-default
でどうなるか確認してみます。
# cmake --list-presets | grep release
"release-default" - Optional features may not be enabled (release build)
"release-with-debug-info-default" - Optional features may not be enabled (release build with debug info)
"release-maximum" - Enable all features (release build)
"release-with-debug-info-maximum" - Enable all features (release build with debug info)
We should use samurai not Ninja on Alpine Linux.
ありがとうございます。samurai
でpathを通さなくてもうまく入りました。
$ apk add samurai
$ apk info -L samurai
samurai-1.2-r5 contains:
usr/bin/ninja
usr/bin/samu
relase-default
でも変わらずだったので、下記のコメントを参考に見ていきます!
$ rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-default -DCMAKE_INSTALL_PREFIX=/usr/local/
とりあえず、デバック結果を出してみた。
# ./CMakeLists.txt
get_target_property(linked_targets grn_dependencies INTERFACE_LINK_LIBRARIES)
foreach(target ${linked_targets})
message(STATUS "INTERFACE_LINK_LIBRARIES: ${target}")
endforeach()
get_target_property(linked_targets grn_dependencies INTERFACE_LINK_LIBRARIES)
foreach(target ${linked_targets})
if(TARGET ${target})
get_target_property(include_dirs ${target} INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "Target: ${target}, include_dir: ${include_dirs}")
else()
message(STATUS "Target: ${target} doesn't exist")
endif()
endforeach()
$ rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-default -DCMAKE_INSTALL_PREFIX=/usr/local
...
-- INTERFACE_LINK_LIBRARIES: rt
-- INTERFACE_LINK_LIBRARIES: PkgConfig::Groongazstd_pkg_libzstd
-- INTERFACE_LINK_LIBRARIES: Groonga::RapidJSON
-- INTERFACE_LINK_LIBRARIES: Groonga::msgpackc
-- INTERFACE_LINK_LIBRARIES: PkgConfig::Groongalz4_pkg_liblz4
-- INTERFACE_LINK_LIBRARIES: xsimd
-- INTERFACE_LINK_LIBRARIES: h3
-- INTERFACE_LINK_LIBRARIES: onigmo
-- Target: rt doesn't exist
-- Target: PkgConfig::Groongazstd_pkg_libzstd, include_dir: /usr/include
-- Target: Groonga::RapidJSON, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/rapidjson-ep-install/include>
-- Target: Groonga::msgpackc, include_dir: include
-- Target: PkgConfig::Groongalz4_pkg_liblz4, include_dir: /usr/include
-- Target: xsimd, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/xsimd-src/include>;$<INSTALL_INTERFACE:include>;$<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/xsimd-src/include>
-- Target: h3, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/h3-src/src/h3lib/include>;$<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/h3-build/src/h3lib/include>
-- Target: onigmo, include_dir: /host/alpine/build/groonga-14.0.2/vendor/onigmo/../onigmo-source
-- Configuring done (7.7s)
...
下記が相対pathになっているのが問題かな?
-- Target: Groonga::msgpackc, include_dir: include
INTERFACE_INCLUDE_DIRECTORIES
が、なぜ相対パスになっているのかを調べていく。
target_include_directories
の INSTALL_INTERFACE
で include
を指定しているのが問題ではないのかなぁと考えている。
なぜなら、ここで指定した値が INTERFACE_INCLUDE_DIRECTORIES
に反映されると理解しているため
CMake
の target_include_directories
の説明を読むと、相対パスを指定しても良い感じに Prefix を設定して絶対パスにしてくれそうなのが気になっている。
実際に debug してみると、相対パスのままなので、ここの矛盾で困っている。
Include directories usage requirements commonly differ between the build-tree and the install-tree. The BUILD_INTERFACE and INSTALL_INTERFACE generator expressions can be used to describe separate usage requirements based on the usage location. Relative paths are allowed within the INSTALL_INTERFACE expression and are interpreted as relative to the installation prefix. Relative paths should not be used in BUILD_INTERFACE expressions because they will not be converted to absolute. For example:
その前にどの手段で msgpack-c を参照ているのかを確認する。
message()
を使ってデバッグ用のメッセージを出して、どのルートを通っているか確認する。
デバッグ用のメッセージを実装中。
https://github.com/groonga/groonga/blob/3bd8ae763b6070cd3d0f8f0025616fd705a639a4/cmake/FindGroongamsgpackc.cmake#L67-L95 を通るならmsgpack-c.pc
を使った検出。
https://github.com/groonga/groonga/blob/3bd8ae763b6070cd3d0f8f0025616fd705a639a4/cmake/FindGroongamsgpackc.cmake#L30C1-L65 のどこかを通るならmsgpack-c-config.cmake
かmsgpackc-config.cmake
かmsgpack-config.cmake
を使った検出。ということになる。
$ rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -DCMAKE_INSTALL_PREFIX=/usr/local > configuration.log
$ cat configuration.log | grep msgpack
-- find_package(msgpack-c find_package_args): 1
-- Groongamsgpackc_FOUND: 1: msgpack-c
-- Found Groongamsgpackc: TRUE
* msgpack-c
* Groongamsgpackc
diff --git a/cmake/FindGroongamsgpackc.cmake b/cmake/FindGroongamsgpackc.cmake
index ce151016f..5e3fc7ffb 100644
--- a/cmake/FindGroongamsgpackc.cmake
+++ b/cmake/FindGroongamsgpackc.cmake
@@ -14,6 +14,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
if(Groongamsgpackc_FOUND)
+ message(STATUS "Groongamsgpackc is found")
return()
endif()
@@ -30,9 +31,12 @@ endif()
find_package(msgpack-c ${find_package_args})
set(Groongamsgpackc_FOUND ${msgpack-c_FOUND})
if(Groongamsgpackc_FOUND)
+ message(STATUS "find_package(msgpack-c find_package_args): ${Groongamsgpackc_FOUND}")
if(TARGET msgpack-c)
+ message(STATUS "Groongamsgpackc_FOUND: ${Groongamsgpackc_FOUND}: msgpack-c")
add_library(Groonga::msgpackc ALIAS msgpack-c)
else()
+ message(STATUS "Groongamsgpackc_FOUND: ${Groongamsgpackc_FOUND}: msgpack-c-static")
add_library(Groonga::msgpackc ALIAS msgpack-c-static)
endif()
endif()
@@ -41,9 +45,12 @@ if(NOT Groongamsgpackc_FOUND)
find_package(msgpackc ${find_package_args})
set(Groongamsgpackc_FOUND ${msgpackc_FOUND})
if(Groongamsgpackc_FOUND)
+ message(STATUS "find_package(msgpackc find_package_args): ${Groongamsgpackc_FOUND}")
if(TARGET msgpackc)
+ message(STATUS "msgpackc")
add_library(Groonga::msgpackc ALIAS msgpackc)
else()
endif()
set(Groongamsgpackc_FOUND ${Groongamsgpack_pkg_msgpack-c_FOUND})
if(Groongamsgpackc_FOUND)
+ message(STATUS "find_package(PkgConfig) msgpack-c: ${Groongamsgpack_pkg_msgpack-c_FOUND}")
add_library(Groonga::msgpackc ALIAS
PkgConfig::Groongamsgpack_pkg_msgpack-c)
else()
@@ -88,6 +99,7 @@ if(NOT Groongamsgpackc_FOUND)
endif()
set(Groongamsgpackc_FOUND ${Groongamsgpack_pkg_msgpack_FOUND})
if(Groongamsgpackc_FOUND)
+ message(STATUS "find_package(PkgConfig): msgpackc: ${Groongamsgpack_pkg_msgpack-c_FOUND}")
add_library(Groonga::msgpackc ALIAS
PkgConfig::Groongamsgpack_pkg_msgpack)
endif()
マシンの再起動が入り Docker 環境がリセットされてしまったので再度環境を構築すると、なぜか error 無しで通るようになった。
INTERFACE_INCLUDE_DIRECTORIES
を同様に確認してみる。
$ rm -rf ../groonga.build && cmake -S . -B ../groonga.build --preset=release-maximum -DCMAKE_INSTALL_PREFIX=/usr/local
...
-- Target: rt doesn't exist
-- Target: Arrow::arrow_shared, include_dir: /usr/include
-- Target: PkgConfig::Groongazstd_pkg_libzstd, include_dir: /usr/include
-- Target: Groonga::RapidJSON, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/rapidjson-ep-install/include>
-- Target: Groonga::msgpackc, include_dir: /usr/include
-- Target: PkgConfig::Groongalz4_pkg_liblz4, include_dir: /usr/include
-- Target: blosc2_static, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/blosc-src/blosc>;$<INSTALL_INTERFACE:include>;$<TARGET_PROPERTY:PkgConfig::Groongalz4_pkg_liblz4,INTERFACE_INCLUDE_DIRECTORIES>;$<TARGET_PROPERTY:PkgConfig::Groongazstd_pkg_libzstd,INTERFACE_INCLUDE_DIRECTORIES>;$<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/blosc-src/include>
-- Target: xsimd, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/xsimd-src/include>;$<INSTALL_INTERFACE:include>;$<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/xsimd-src/include>
-- Target: h3, include_dir: $<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/h3-src/src/h3lib/include>;$<BUILD_INTERFACE:/host/alpine/build/groonga.build/_deps/h3-build/src/h3lib/include>
-- Target: mruby, include_dir: /host/alpine/build/groonga-14.0.2/vendor/mruby/../mruby-source/include
-- Target: onigmo, include_dir: /host/alpine/build/groonga-14.0.2/vendor/onigmo/../onigmo-source
-- Configuring done (15.2s)
-- Generating done (0.3s)
-- Build files have been written to: /host/alpine/build/groonga.build
相対パスではなく絶対パスで参照しに行っていることがわかる。
-- Target: Groonga::msgpackc, include_dir: /usr/include
find_package(msgpack-c ${find_package_args})
で見つからないようにした場合、
pkg-configで見つけに行く、その場合は相対パスになり同様のエラーになる。
--- a/cmake/FindGroongamsgpackc.cmake
+++ b/cmake/FindGroongamsgpackc.cmake
@@ -28,11 +29,14 @@ if(Groongamsgpackc_FIND_QUIETLY)
endif()
find_package(msgpack-c ${find_package_args})
-set(Groongamsgpackc_FOUND ${msgpack-c_FOUND})
+set(Groongamsgpackc_FOUND 0)
現時点で必要だった package 一覧
$ apk add cmake
$ apk add samurai
$ apk add apache-arrow-dev
fork 元 or 手元でビルドできるか確認中 でき次第他にも反映をして PR にしていく。
CI で確認してみたが 相対パスになっている。 まっさらな環境で手元で再確認して、どの分岐に入るかを再確認する。
https://github.com/otegami/pgroonga-docker/actions/runs/9643415321/job/26593367985
https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_DEBUG_MODE.html を使うとどのパスを検索してどんな結果になったかがわかるよ。
diff --git a/alpine/build.sh b/alpine/build.sh
index 38381ef..da8f593 100755
--- a/alpine/build.sh
+++ b/alpine/build.sh
@@ -44,7 +44,8 @@ cmake \
-S . \
-B ../groonga.build \
--preset=release-maximum \
- -DCMAKE_INSTALL_PREFIX=/usr/local
+ --debug-find \
-DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build ../groonga.build
cmake --install ../groonga.build
cd -
$ cmake \
-S . \
-B ../groonga.build \
--preset=release-maximum \
--debug-find \
-DCMAKE_INSTALL_PREFIX=/usr/local
ありがとうございます!
早速 debug-find
をつけて実行してみた。
探索している Path に usr/lib/cmake/msgpack-c/msgpack-c-config.cmake
は入っていなさそう。
msgpack-config
を探しに行っちゃってもいそう。合わせて後ほどゆっくり見る。
使っているGroongaが古そう。
https://github.com/pgroonga/docker/issues/40#issuecomment-2186011665 はgit diff
の出力っぽいので、このときはGroongaのmainを使っていそう。
ありがとうございます! Groonga のバージョンを勘違いして進めていましたmm 下記の変更で検索する Path が期待通りになるので行けそうです。 ちょっとバージョン変更して試してみます。
https://github.com/pgroonga/docker/blob/main/alpine/build.sh
Note: We don't need to build MeCab separately with CMake based build system.