ssimulacra2 icon indicating copy to clipboard operation
ssimulacra2 copied to clipboard

🔴 Apple Silicon Mac build failed

Open Thomas-Harrell opened this issue 2 years ago • 4 comments

  • 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_ssimulacra script, 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.

Thomas-Harrell avatar Aug 24 '23 03:08 Thomas-Harrell

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

tamaracloudinary avatar Aug 24 '23 10:08 tamaracloudinary

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

  • 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.

Thomas-Harrell avatar Aug 24 '23 11:08 Thomas-Harrell

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

tamaracloudinary avatar Aug 24 '23 12:08 tamaracloudinary

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.

Thomas-Harrell avatar Aug 24 '23 12:08 Thomas-Harrell