Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failed: undefined symbol: reflex::HW #205

Closed
gahr opened this issue May 13, 2024 · 4 comments
Closed

Build failed: undefined symbol: reflex::HW #205

gahr opened this issue May 13, 2024 · 4 comments

Comments

@gahr
Copy link

gahr commented May 13, 2024

I am working to upgrade the FreeBSD port to 4.3.0, and the build fails:

-- The CXX compiler identification is Clang 16.0.6
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAVE_AVX512BW
-- Performing Test HAVE_AVX512BW - Failed
-- Performing Test HAVE_AVX2
-- Performing Test HAVE_AVX2 - Failed
-- Performing Test HAVE_SSE2
-- Performing Test HAVE_SSE2 - Success
-- Performing Test HAVE_NEON
-- Performing Test HAVE_NEON - Failed
-- Configuring done (3.3s)
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_C_COMPILER
    CMAKE_C_FLAGS
    CMAKE_C_FLAGS_DEBUG
    CMAKE_C_FLAGS_RELEASE
    CMAKE_MODULE_LINKER_FLAGS
    CMAKE_VERBOSE_MAKEFILE
    FETCHCONTENT_FULLY_DISCONNECTED
    THREADS_HAVE_PTHREAD_ARG

===>  Building for re-flex-4.3.0
[  2% 4/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/debug.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/debug.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/debug.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/debug.cpp
[  5% 5/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/error.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/error.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/error.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/error.cpp
[  7% 6/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/input.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/input.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/input.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/input.cpp
[ 10% 7/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/posix.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/posix.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/posix.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/posix.cpp
[ 13% 8/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/simd_avx2.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/simd_avx2.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/simd_avx2.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/simd_avx2.cpp
[ 15% 9/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/simd_avx512bw.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/simd_avx512bw.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/simd_avx512bw.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/simd_avx512bw.cpp
[ 18% 10/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/convert.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/convert.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/convert.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/convert.cpp
[ 21% 11/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/unicode.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/unicode.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/unicode.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/unicode.cpp
[ 23% 12/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/matcher.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/matcher.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/matcher.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/matcher.cpp
[ 26% 13/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/utf8.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/utf8.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/utf8.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/utf8.cpp
[ 28% 14/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/unicode/block_scripts.cpp.o -MF CMakeFiles/ReflexLib.dir/unicode/block_scripts.cpp.o.d -o CMakeFiles/ReflexLib.dir/unicode/block_scripts.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/block_scripts.cpp
[ 31% 15/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/matcher_avx2.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/matcher_avx2.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/matcher_avx2.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/matcher_avx2.cpp
[ 34% 16/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/matcher_avx512bw.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/matcher_avx512bw.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/matcher_avx512bw.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/matcher_avx512bw.cpp
[ 36% 17/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/unicode/language_scripts.cpp.o -MF CMakeFiles/ReflexLib.dir/unicode/language_scripts.cpp.o.d -o CMakeFiles/ReflexLib.dir/unicode/language_scripts.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/language_scripts.cpp
[ 39% 18/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/unicode/letter_scripts.cpp.o -MF CMakeFiles/ReflexLib.dir/unicode/letter_scripts.cpp.o.d -o CMakeFiles/ReflexLib.dir/unicode/letter_scripts.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/letter_scripts.cpp
[ 42% 19/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/debug.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/debug.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/debug.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/debug.cpp
[ 44% 20/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/unicode/composer.cpp.o -MF CMakeFiles/ReflexLib.dir/unicode/composer.cpp.o.d -o CMakeFiles/ReflexLib.dir/unicode/composer.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/composer.cpp
[ 47% 21/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/error.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/error.c[ 44% 20/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/unicode/composer.cpp.o -MF CMakeFiles/ReflexLib.dir/unicode/composer.cpp.o.d -o CMakeFiles/ReflexLib.dir/unicode/composer.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/composer.cpp
[ 47% 21/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/error.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/error.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/error.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/error.cpp
[ 50% 22/38] /usr/bin/c++ -DHAVE_SSE2 -DReflexLib_EXPORTS -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -fPIC -msse2 -MD -MT CMakeFiles/ReflexLib.dir/lib/pattern.cpp.o -MF CMakeFiles/ReflexLib.dir/lib/pattern.cpp.o.d -o CMakeFiles/ReflexLib.dir/lib/pattern.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/pattern.cpp
[ 52% 23/38] : && /usr/bin/c++ -fPIC -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG  -fstack-protector-strong -shared -Wl,-soname,libreflex.so -o libreflex.so CMakeFiles/ReflexLib.dir/lib/convert.cpp.o CMakeFiles/ReflexLib.dir/lib/debug.cpp.o CMakeFiles/ReflexLib.dir/lib/error.cpp.o CMakeFiles/ReflexLib.dir/lib/input.cpp.o CMakeFiles/ReflexLib.dir/lib/matcher.cpp.o CMakeFiles/ReflexLib.dir/lib/pattern.cpp.o CMakeFiles/ReflexLib.dir/lib/posix.cpp.o CMakeFiles/ReflexLib.dir/lib/simd_avx2.cpp.o CMakeFiles/ReflexLib.dir/lib/simd_avx512bw.cpp.o CMakeFile[ 57% 25/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/convert.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/convert.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/convert.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/convert.cpp
[ 60% 26/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/simd_avx2.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/simd_avx2.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/simd_avx2.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/simd_avx2.cpp
[ 63% 27/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/posix.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/posix.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/posix.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/posix.cpp
[ 65% 28/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/simd_avx512bw.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/simd_avx512bw.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/simd_avx512bw.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/simd_avx512bw.cpp
[ 68% 29/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/utf8.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/utf8.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/utf8.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/utf8.cpp
[ 71% 30/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/unicode.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/unicode.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/unicode.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/unicode.cpp
[ 73% 31/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/matcher.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/matcher.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/matcher.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/matcher.cpp
[ 76% 32/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx2.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx2.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx2.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/matcher_avx2.cpp
[ 78% 33/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx512bw.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx512bw.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx512bw.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/matcher_avx512bw.cpp
[ 81% 34/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/unicode/block_scripts.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/unicode/block_scripts.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/unicode/block_scripts.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/block_scripts.cpp
[ 84% 35/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/unicode/letter_scripts.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/unicode/letter_scripts.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/unicode/letter_scripts.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/letter_scripts.cpp
[ 86% 36/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/unicode/language_scripts.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/unicode/language_scripts.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/unicode/language_scripts.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/language_scripts.cpp
[ 89% 36/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/unicode/composer.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/unicode/composer.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/unicode/composer.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/unicode/composer.cpp
[ 92% 36/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/ReflexLibStatic.dir/lib/pattern.cpp.o -MF CMakeFiles/ReflexLibStatic.dir/lib/pattern.cpp.o.d -o CMakeFiles/ReflexLibStatic.dir/lib/pattern.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/lib/pattern.cpp
[ 94% 37/38] : && /usr/local/bin/cmake -E rm -f libreflex.a && /usr/bin/llvm-ar qc libreflex.a  CMakeFiles/ReflexLibStatic.dir/lib/convert.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/debug.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/error.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/input.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/matcher.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/pattern.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/posix.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/simd_avx2.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/simd_avx512bw.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/unicode.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/utf8.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx2.cpp.o CMakeFiles/ReflexLibStatic.dir/lib/matcher_avx512bw.cpp.o CMakeFiles/ReflexLibStatic.dir/unicode/block_scripts.cpp.o CMakeFiles/ReflexLibStatic.dir/unicode/language_scripts.cpp.o CMakeFiles/ReflexLibStatic.dir/unicode/letter_scripts.cpp.o CMakeFiles/ReflexLibStatic.dir/unicode/composer.cpp.o && /usr/bin/llvm-ranlib libreflex.a && :
[ 97% 37/38] /usr/bin/c++ -DHAVE_SSE2 -I/usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -std=gnu++11 -msse2 -MD -MT CMakeFiles/Reflex.dir/src/reflex.cpp.o -MF CMakeFiles/Reflex.dir/src/reflex.cpp.o.d -o CMakeFiles/Reflex.dir/src/reflex.cpp.o -c /usr/home/gahr/freebsd/ports/textproc/re-flex/work/RE-flex-4.3.0/src/reflex.cpp
[100% 38/38] : && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fstack-protector-strong CMakeFiles/Reflex.dir/src/reflex.cpp.o -o reflex  libreflex.a && :
FAILED: reflex 
: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fstack-protector-strong CMakeFiles/Reflex.dir/src/reflex.cpp.o -o reflex  libreflex.a && :
ld: error: undefined symbol: reflex::HW
>>> referenced by pattern.cpp
>>>               pattern.cpp.o:(reflex::Pattern::init(char const*, unsigned char const*)) in archive libreflex.a
>>> referenced by pattern.cpp
>>>               pattern.cpp.o:(reflex::Pattern::init(char const*, unsigned char const*)) in archive libreflex.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)

@genivia-inc
Copy link
Member

genivia-inc commented May 13, 2024

Please make sure to do a clean build: execute ./clean.sh first and then ./configure ; make (or alternatively ./build.sh which uses a different set of makefiles)

I've seen this problem when there are still some old object files lingering about.

@genivia-inc
Copy link
Member

The HW and CPU detection related variables and functions were moved from input.cpp to simd.cpp where this belongs.

@genivia-inc
Copy link
Member

Ah, I see you're using cmake. The CMakeLists.txt should be updated to include simd.cpp:

set(lib_sources
  lib/convert.cpp
  lib/debug.cpp
  lib/error.cpp
  lib/input.cpp
  lib/matcher.cpp
  lib/pattern.cpp
  lib/posix.cpp
  lib/simd.cpp   <-- add

@gahr
Copy link
Author

gahr commented May 13, 2024

Thanks for the quick turnaround. I could have noticed it :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants