fluent-bit: build: can't compile `onigmo` on macOS: `Undefined symbols for architecture x86_64`
Bug Report
Describe the bug Can’t compile fluent-bit on macOS.
To Reproduce
-
$ cd build/
-
cmake ../
-
make
$ make
[ 1%] Built target backtrace
Consolidate compiler generated dependencies of target c-ares
[ 7%] Built target c-ares
Consolidate compiler generated dependencies of target jsmn
[ 7%] Built target jsmn
Consolidate compiler generated dependencies of target sqlite3
[ 7%] Built target sqlite3
Consolidate compiler generated dependencies of target xxd-c
[ 7%] Built target xxd-c
[ 8%] Performing build step for 'onigmo'
Making all in .
Making all in sample
libtool: link: gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -o encode encode.o ../.libs/libonigmo.a
ld: warning: ignoring file ../.libs/libonigmo.a, building for macOS-x86_64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture x86_64:
"_OnigDefaultSyntax", referenced from:
_exec in encode.o
_exec_deluxe in encode.o
"_OnigEncodingASCII", referenced from:
_main in encode.o
"_OnigEncodingBIG5", referenced from:
_main in encode.o
"_OnigEncodingEUC_CN", referenced from:
_main in encode.o
"_OnigEncodingEUC_KR", referenced from:
_main in encode.o
"_OnigEncodingEUC_TW", referenced from:
_main in encode.o
"_OnigEncodingGB18030", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_1", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_10", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_11", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_13", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_14", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_15", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_16", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_2", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_3", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_4", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_5", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_6", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_7", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_8", referenced from:
_main in encode.o
"_OnigEncodingISO_8859_9", referenced from:
_main in encode.o
"_OnigEncodingKOI8_R", referenced from:
_main in encode.o
"_OnigEncodingKOI8_U", referenced from:
_main in encode.o
"_OnigEncodingUTF_16BE", referenced from:
_main in encode.o
"_OnigEncodingUTF_16LE", referenced from:
_main in encode.o
"_OnigEncodingUTF_32BE", referenced from:
_main in encode.o
"_OnigEncodingUTF_32LE", referenced from:
_main in encode.o
"_OnigEncodingWindows_1250", referenced from:
_main in encode.o
"_OnigEncodingWindows_1251", referenced from:
_main in encode.o
"_OnigEncodingWindows_1252", referenced from:
_main in encode.o
"_OnigEncodingWindows_1253", referenced from:
_main in encode.o
"_OnigEncodingWindows_1254", referenced from:
_main in encode.o
"_OnigEncodingWindows_1257", referenced from:
_main in encode.o
"_onig_end", referenced from:
_exec in encode.o
_exec_deluxe in encode.o
"_onig_error_code_to_str", referenced from:
_exec in encode.o
_exec_deluxe in encode.o
_search in encode.o
"_onig_free", referenced from:
_exec in encode.o
_exec_deluxe in encode.o
"_onig_get_encoding", referenced from:
_search in encode.o
"_onig_new", referenced from:
_exec in encode.o
"_onig_new_deluxe", referenced from:
_exec_deluxe in encode.o
"_onig_region_free", referenced from:
_search in encode.o
"_onig_region_new", referenced from:
_search in encode.o
"_onig_search", referenced from:
_search in encode.o
"_onigenc_str_bytelen_null", referenced from:
_exec in encode.o
_exec_deluxe in encode.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [encode] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all] Error 2
make[2]: *** [onigmo-prefix/src/onigmo-stamp/onigmo-build] Error 2
make[1]: *** [CMakeFiles/onigmo.dir/all] Error 2
make: *** [all] Error 2
and $ make -j 16 throws different error: (this is different issue i guess)
$ make -j 16
make[1]: /Library/Developer/CommandLineTools/usr/bin/make: Permission denied
make[1]: /Library/Developer/CommandLineTools/usr/bin/make: Permission denied
make[1]: *** [CMakeFiles/onigmo.dir/all] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/backtrace.dir/all] Error 1
make[1]: /Library/Developer/CommandLineTools/usr/bin/make: Permission denied
make[1]: /Library/Developer/CommandLineTools/usr/bin/make: Permission denied
make[1]: /Library/Developer/CommandLineTools/usr/bin/make: Permission denied
make[1]: *** [tools/xxd-c/CMakeFiles/xxd-c.dir/all] Error 1
make[1]: *** [lib/c-ares-809d5e84/src/lib/CMakeFiles/c-ares.dir/all] Error 1
make[1]: *** [lib/sqlite-amalgamation-3330000/CMakeFiles/sqlite3.dir/all] Error 1
[ 0%] Built target jsmn
make: *** [all] Error 2
Expected behavior It should compile?
Screenshots
Your Environment
- Version used:
cmake version 3.22.3andGNU Make 3.81 - Configuration: default
- Environment name and version (e.g. Kubernetes? What version?):
macOS 12.1 - Server type and version:
- Operating System and version:
Darwin 21.2.0 Darwin Kernel Version 21.2.0: Sun Nov 28 20:28:54 PST 2021; root:xnu-8019.61.5~1/RELEASE_X86_64 x86_64andxcode-select version 2392 - Filters and plugins:
-
Additional context
-
What I’m missing here?
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 15 (15 by maintainers)
we moved to our maintained version of Onigmo in https://github.com/fluent/onigmo
we also added CMake support into onigmo, merged into Fluent Bit:
it should be ok now.