🔴 Apple Silicon Mac build failed
-
First, clone the project to your local machine using
git clone https://github.com/cloudinary/ssimulacra2 -
I have installed the following dependencies using Homebrew:
cmake, ninja, libpng, jpeg-turbo, little-cms2 -
Then, run the
./build_ssimulacrascript, but I encountered three errors -
I have also tried using
./build_ssimulacra2_from_libjxl_repo, but it failed as well. -
I'm not a developer, and my English skills are not very good
-
I've been trying for a long time, but I couldn't figure it out
mkdir: build: File exists
-- CMAKE_SYSTEM_PROCESSOR is arm64
-- Could NOT find GIF: Found unsuitable version "4", but required is at least "5.1" (found /opt/homebrew/lib/libgif.dylib)
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/loiseau/Downloads/ssimulacra2/build
[1/5] Building CXX object lib/CMakeFiles/jxl_extras-static.dir/extras/dec/jpg.cc.o
FAILED: lib/CMakeFiles/jxl_extras-static.dir/extras/dec/jpg.cc.o
/Library/Developer/CommandLineTools/usr/bin/c++ -DJPEGXL_ENABLE_APNG=1 -DJPEGXL_ENABLE_EXR=1 -DJPEGXL_ENABLE_JPEG=1 -DJXL_EXPORT="" -DJXL_THREADS_STATIC_DEFINE -I/Users/loiseau/Downloads/ssimulacra2/src -I/Library/Frameworks/Mono.framework/Headers -I/Users/loiseau/Downloads/ssimulacra2/src/lib/include -I/Users/loiseau/Downloads/ssimulacra2/build/lib/include -isystem /opt/homebrew/Cellar/highway/1.0.6/include -isystem /opt/homebrew/include -isystem /opt/homebrew/Cellar/openexr/3.1.10/include -isystem /opt/homebrew/Cellar/openexr/3.1.10/include/OpenEXR -isystem /opt/homebrew/Cellar/imath/3.1.9/include -isystem /opt/homebrew/Cellar/imath/3.1.9/include/Imath -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk -mmacosx-version-min=11.7 -fPIC -fmerge-all-constants -fno-builtin-fwrite -fno-builtin-fread -Wall -Wextra -Wc++11-compat -Warray-bounds -Wformat-security -Wimplicit-fallthrough -Wno-register -Wno-unused-function -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wvla -Wdeprecated-increment-bool -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wliteral-conversion -Wno-c++98-compat -Wno-unused-command-line-argument -Wprivate-header -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis -Wundefined-func-template -Wunreachable-code -Wunused-comparison -fsized-deallocation -fno-exceptions -fmath-errno -fnew-alignment=8 -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize -disable-free -disable-llvm-verifier -DHWY_SHARED_DEFINE -pthread -MD -MT lib/CMakeFiles/jxl_extras-static.dir/extras/dec/jpg.cc.o -MF lib/CMakeFiles/jxl_extras-static.dir/extras/dec/jpg.cc.o.d -o lib/CMakeFiles/jxl_extras-static.dir/extras/dec/jpg.cc.o -c /Users/loiseau/Downloads/ssimulacra2/src/lib/extras/dec/jpg.cc
/Users/loiseau/Downloads/ssimulacra2/src/lib/extras/dec/jpg.cc:196:5: error: no matching function for call to 'jpeg_mem_src'
jpeg_mem_src(&cinfo, reinterpret_cast<const unsigned char*>(bytes.data()),
^~~~~~~~~~~~
/Library/Frameworks/Mono.framework/Headers/jpeglib.h:959:14: note: candidate function not viable: 2nd argument ('const unsigned char *') would lose const qualifier
EXTERN(void) jpeg_mem_src JPP((j_decompress_ptr cinfo,
^
1 error generated.
[2/5] Building CXX object lib/CMakeFiles/jxl_extras-static.dir/extras/dec/apng.cc.o
FAILED: lib/CMakeFiles/jxl_extras-static.dir/extras/dec/apng.cc.o
/Library/Developer/CommandLineTools/usr/bin/c++ -DJPEGXL_ENABLE_APNG=1 -DJPEGXL_ENABLE_EXR=1 -DJPEGXL_ENABLE_JPEG=1 -DJXL_EXPORT="" -DJXL_THREADS_STATIC_DEFINE -I/Users/loiseau/Downloads/ssimulacra2/src -I/Library/Frameworks/Mono.framework/Headers -I/Users/loiseau/Downloads/ssimulacra2/src/lib/include -I/Users/loiseau/Downloads/ssimulacra2/build/lib/include -isystem /opt/homebrew/Cellar/highway/1.0.6/include -isystem /opt/homebrew/include -isystem /opt/homebrew/Cellar/openexr/3.1.10/include -isystem /opt/homebrew/Cellar/openexr/3.1.10/include/OpenEXR -isystem /opt/homebrew/Cellar/imath/3.1.9/include -isystem /opt/homebrew/Cellar/imath/3.1.9/include/Imath -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk -mmacosx-version-min=11.7 -fPIC -fmerge-all-constants -fno-builtin-fwrite -fno-builtin-fread -Wall -Wextra -Wc++11-compat -Warray-bounds -Wformat-security -Wimplicit-fallthrough -Wno-register -Wno-unused-function -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wvla -Wdeprecated-increment-bool -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wliteral-conversion -Wno-c++98-compat -Wno-unused-command-line-argument -Wprivate-header -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis -Wundefined-func-template -Wunreachable-code -Wunused-comparison -fsized-deallocation -fno-exceptions -fmath-errno -fnew-alignment=8 -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize -disable-free -disable-llvm-verifier -DHWY_SHARED_DEFINE -pthread -MD -MT lib/CMakeFiles/jxl_extras-static.dir/extras/dec/apng.cc.o -MF lib/CMakeFiles/jxl_extras-static.dir/extras/dec/apng.cc.o.d -o lib/CMakeFiles/jxl_extras-static.dir/extras/dec/apng.cc.o -c /Users/loiseau/Downloads/ssimulacra2/src/lib/extras/dec/apng.cc
/Users/loiseau/Downloads/ssimulacra2/src/lib/extras/dec/apng.cc:353:3: error: no matching function for call to 'png_set_keep_unknown_chunks'
png_set_keep_unknown_chunks(png_ptr, 1, kIgnoredPngChunks,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Frameworks/Mono.framework/Headers/png.h:2498:18: note: candidate function not viable: no known conversion from 'const png_byte [5]' to 'png_bytep' (aka 'unsigned char *') for 3rd argument
PNG_EXPORT(void, png_set_keep_unknown_chunks) PNGARG((png_structp
^
/Library/Frameworks/Mono.framework/Headers/pngconf.h:1361:58: note: expanded from macro 'PNG_EXPORT'
# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
^
/Users/loiseau/Downloads/ssimulacra2/src/lib/extras/dec/apng.cc:628:21: error: no matching function for call to 'png_get_iCCP'
auto ok = png_get_iCCP(png_ptr, info_ptr, &name, &compression_type,
^~~~~~~~~~~~
/Library/Frameworks/Mono.framework/Headers/png.h:2398:24: note: candidate function not viable: no known conversion from 'png_bytep *' (aka 'unsigned char **') to 'png_charpp' (aka 'char **') for 5th argument
PNG_EXPORT(png_uint_32,png_get_iCCP) PNGARG((png_const_structp png_ptr,
^
/Library/Frameworks/Mono.framework/Headers/pngconf.h:1361:58: note: expanded from macro 'PNG_EXPORT'
# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
^
2 errors generated.
[3/5] Building CXX object lib/CMakeFiles/jxl_extras-static.dir/extras/enc/apng.cc.o
FAILED: lib/CMakeFiles/jxl_extras-static.dir/extras/enc/apng.cc.o
/Library/Developer/CommandLineTools/usr/bin/c++ -DJPEGXL_ENABLE_APNG=1 -DJPEGXL_ENABLE_EXR=1 -DJPEGXL_ENABLE_JPEG=1 -DJXL_EXPORT="" -DJXL_THREADS_STATIC_DEFINE -I/Users/loiseau/Downloads/ssimulacra2/src -I/Library/Frameworks/Mono.framework/Headers -I/Users/loiseau/Downloads/ssimulacra2/src/lib/include -I/Users/loiseau/Downloads/ssimulacra2/build/lib/include -isystem /opt/homebrew/Cellar/highway/1.0.6/include -isystem /opt/homebrew/include -isystem /opt/homebrew/Cellar/openexr/3.1.10/include -isystem /opt/homebrew/Cellar/openexr/3.1.10/include/OpenEXR -isystem /opt/homebrew/Cellar/imath/3.1.9/include -isystem /opt/homebrew/Cellar/imath/3.1.9/include/Imath -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk -mmacosx-version-min=11.7 -fPIC -fmerge-all-constants -fno-builtin-fwrite -fno-builtin-fread -Wall -Wextra -Wc++11-compat -Warray-bounds -Wformat-security -Wimplicit-fallthrough -Wno-register -Wno-unused-function -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wvla -Wdeprecated-increment-bool -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wliteral-conversion -Wno-c++98-compat -Wno-unused-command-line-argument -Wprivate-header -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis -Wundefined-func-template -Wunreachable-code -Wunused-comparison -fsized-deallocation -fno-exceptions -fmath-errno -fnew-alignment=8 -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize -disable-free -disable-llvm-verifier -DHWY_SHARED_DEFINE -pthread -MD -MT lib/CMakeFiles/jxl_extras-static.dir/extras/enc/apng.cc.o -MF lib/CMakeFiles/jxl_extras-static.dir/extras/enc/apng.cc.o.d -o lib/CMakeFiles/jxl_extras-static.dir/extras/enc/apng.cc.o -c /Users/loiseau/Downloads/ssimulacra2/src/lib/extras/enc/apng.cc
/Users/loiseau/Downloads/ssimulacra2/src/lib/extras/enc/apng.cc:177:3: error: no matching function for call to 'png_set_keep_unknown_chunks'
png_set_keep_unknown_chunks(png_ptr, 3,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Frameworks/Mono.framework/Headers/png.h:2498:18: note: candidate function not viable: 3rd argument ('const png_byte *' (aka 'const unsigned char *')) would lose const qualifier
PNG_EXPORT(void, png_set_keep_unknown_chunks) PNGARG((png_structp
^
/Library/Frameworks/Mono.framework/Headers/pngconf.h:1361:58: note: expanded from macro 'PNG_EXPORT'
# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
^
/Users/loiseau/Downloads/ssimulacra2/src/lib/extras/enc/apng.cc:277:9: error: use of undeclared identifier 'png_set_benign_errors'
png_set_benign_errors(png_ptr, 1);
^
/Users/loiseau/Downloads/ssimulacra2/src/lib/extras/enc/apng.cc:278:9: error: no matching function for call to 'png_set_iCCP'
png_set_iCCP(png_ptr, info_ptr, "1", 0, ppf.icc.data(), ppf.icc.size());
^~~~~~~~~~~~
/Library/Frameworks/Mono.framework/Headers/png.h:2405:17: note: candidate function not viable: no known conversion from 'const std::vector<unsigned char>::value_type *' (aka 'const unsigned char *') to 'png_charp' (aka 'char *') for 5th argument
PNG_EXPORT(void,png_set_iCCP) PNGARG((png_structp png_ptr,
^
/Library/Frameworks/Mono.framework/Headers/pngconf.h:1361:58: note: expanded from macro 'PNG_EXPORT'
# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
^
3 errors generated.
Hi there,
The errors seem to be related to dependencies and library calls. Specifically, it appears that the program is encountering issues with functions like jpeg_mem_src, png_set_keep_unknown_chunks, and png_set_iCCP. It doesn't seem to be related to Cloudinary.
Best regards,
Tamara
Hi there, The errors seem to be related to dependencies and library calls. Specifically, it appears that the program is encountering issues with functions like
jpeg_mem_src,png_set_keep_unknown_chunks, andpng_set_iCCP. It doesn't seem to be related to Cloudinary. Best regards, Tamara
-
Thank you for the reminder.
-
Could you please advise me on how to fix these issues?
-
I suspect it might be due to the different installation paths of dependencies through Homebrew.
Hello there, I'm afraid I can't access your code directly, which makes it a bit tricky for me to offer specific recommendations. Additionally, the issues you're encountering don't appear to be directly tied to Cloudinary. However, I'd suggest looking into other sources of information on the internet. You might be able to find helpful solutions and insights from online communities or forums related to the technologies you're working with. Wishing you all the best on your troubleshooting journey! Warm regards, Tamara
Hello there, I'm afraid I can't access your code directly, which makes it a bit tricky for me to offer specific recommendations. Additionally, the issues you're encountering don't appear to be directly tied to Cloudinary. However, I'd suggest looking into other sources of information on the internet. You might be able to find helpful solutions and insights from online communities or forums related to the technologies you're working with. Wishing you all the best on your troubleshooting journey! Warm regards, Tamara
-
Thank you for your response.
-
I have searched the internet for a long time, but I haven't found a corresponding solution.
-
It seems that this problem cannot be resolved.
-
However, I have already found an alternative solution, which is a version built on Rust.
-
It would be great if a Homebrew version similar to dssim could be provided
-
I only need one command to complete the installations
brew install dssim. -
If ssimulacra2 could also be installed like this, it would be
brew install ssimulacra2. -
This would make it convenient for macOS users to install and utilize ssimulacra2.