Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@skidder
Copy link
Contributor

@skidder skidder commented Oct 9, 2024

Updates the deps/build-deps-osx.sh script to build native dependencies on Mac OS X ARM64. This was built & tested on an Apple M2 Max running Sonoma 14.7.

Fixes:

Testing

Compile the example app

Includes some linker warnings, but nothing tragic.

→ go build -o demo .
# github.com/discord/lilliput
avcodec.cpp:417:17: warning: 11 enumeration values not handled in switch: 'AVCOL_SPC_RGB', 'AVCOL_SPC_BT709', 'AVCOL_SPC_UNSPECIFIED'... [-Wswitch]
avcodec.cpp:417:17: note: add missing switch cases
# github.com/discord/lilliput/examples
ld: warning: ignoring duplicate libraries: '-ljpeg', '-lopencv_core', '-lopencv_imgcodecs', '-lopencv_imgproc', '-lpng', '-lwebp', '-lz'
ld: warning: search path '/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/share/OpenCV/3rdparty/lib' not found
ld: warning: search path '/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/share/OpenCV/3rdparty/lib' not found
ld: warning: search path '/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/share/OpenCV/3rdparty/lib' not found
ld: warning: search path '/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/share/OpenCV/3rdparty/lib' not found
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[2](jcapimin.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[3](jcapistd.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[4](jccoefct.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[5](jccolor.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[6](jcdctmgr.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[7](jchuff.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[9](jcinit.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[10](jcmainct.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[11](jcmarker.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[12](jcmaster.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[13](jcomapi.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[14](jcparam.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[15](jcphuff.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[16](jcprepct.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[17](jcsample.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[19](jdapimin.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[20](jdapistd.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[21](jdatadst.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[22](jdatasrc.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[23](jdcoefct.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[24](jdcolor.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[25](jddctmgr.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[26](jdhuff.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[27](jdicc.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[28](jdinput.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[29](jdmainct.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[30](jdmarker.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[31](jdmaster.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[32](jdmerge.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[33](jdphuff.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[34](jdpostct.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[35](jdsample.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[37](jerror.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[38](jfdctflt.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[39](jfdctfst.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[40](jfdctint.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[41](jidctflt.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[42](jidctfst.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[43](jidctint.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[44](jidctred.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[45](jquant1.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[46](jquant2.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[47](jutils.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[48](jmemmgr.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[49](jmemnobs.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[50](jaricom.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[51](jcarith.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[52](jdarith.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[53](jcgray-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[54](jcphuff-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[55](jcsample-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[56](jdmerge-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[57](jdsample-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[58](jfdctfst-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[59](jidctred-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[60](jquanti-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[61](jccolor-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[62](jidctint-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[63](jidctfst-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[64](jchuff-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[65](jdcolor-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[66](jfdctint-neon.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)
ld: warning: object file (/Users/scottkidder/go/src/github.com/discord/lilliput/deps/osx/lib/libjpeg.a[67](jsimd.c.o)) was built for newer 'macOS' version (14.7) than being linked (14.0)

Running the example app and verifying output

 2024-10-09 16:34:30 ⌚ M2M-SKidder
[~/go/src/github.com/discord/lilliput/examples]
→ ./demo -input ../testdata/tears_of_steel_icc.webp -output tears_of_steel_icc.webp -height 128 -width 128
file type: WEBP
1920px x 800px
content length: 19232
transformed in 95.945333ms
image written to tears_of_steel_icc.webp
 2024-10-09 16:34:49 ⌚ M2M-SKidder
[~/go/src/github.com/discord/lilliput/examples]
→ exiftool tears_of_steel_icc.webp
ExifTool Version Number         : 12.76
File Name                       : tears_of_steel_icc.webp
Directory                       : .
File Size                       : 5.6 kB
File Modification Date/Time     : 2024:10:09 16:34:49-07:00
File Access Date/Time           : 2024:10:09 16:34:51-07:00
File Inode Change Date/Time     : 2024:10:09 16:34:49-07:00
File Permissions                : -rw-r--r--
File Type                       : Extended WEBP
File Type Extension             : webp
MIME Type                       : image/webp
WebP Flags                      : ICC Profile
Image Width                     : 128
Image Height                    : 128
Profile CMM Type                :
Profile Version                 : 5.0.0
Profile Class                   : ColorSpace Conversion Profile
Color Space Data                : nc
Profile Connection Space        :
Profile Date Time               : 2017:12:07 09:11:58
Profile File Signature          : acsp
Primary Platform                : Unknown ()
CMM Flags                       : Embedded, Independent
Device Manufacturer             :
Device Model                    :
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.96725 1 0.81383
Profile Creator                 :
Profile ID                      : 3f1329abec78fab82d262aa27d65750b
Profile Description             : 400nm to 700nm in 10nm steps spectral reflectance using D50 and standard 10deg observer with Wpt MAT based PCC
D To B3                         : (Binary data 16 bytes, use -b option to extract)
B To D3                         : (Binary data 16 bytes, use -b option to extract)
Custom To Standard Pcc          : (Binary data 84 bytes, use -b option to extract)
Standard To Custom Pcc          : (Binary data 84 bytes, use -b option to extract)
Spectral Viewing Conditions     : (Binary data 1356 bytes, use -b option to extract)
Media White Point               : 0.96725 1 0.81383
Profile Copyright               : Copyright 2015 International Color Consortium
VP8 Version                     : 0 (bicubic reconstruction, normal loop)
Horizontal Scale                : 0
Vertical Scale                  : 0
Image Size                      : 128x128
Megapixels                      : 0.016

@skidder skidder changed the title Update OS X deps build script for Apple Silicon. feat: Update OS X deps build script for Apple Silicon. Oct 9, 2024
@skidder skidder merged commit 95a20d8 into master Oct 10, 2024
@skidder skidder deleted the skidder/apple-silicon-support branch October 10, 2024 00:50
@Waldeedle
Copy link
Contributor

I know this wasn't a pressing issue for Discord, so really appreciate the effort on this from you folks!!

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

Successfully merging this pull request may close these issues.

4 participants