Opened 3 years ago

Closed 3 years ago

#62091 closed defect (fixed)

libjpeg-turbo 2.0.6 +universal: fails to build on arm64

Reported by: MaddTheSane (C.W. Betts) Owned by: larryv (Lawrence Velázquez)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: arm64 Cc: jmroot (Joshua Root)
Port: libjpeg-turbo

Description

When attempting to upgrade tiff, I ran into a build failure with libjpeg-turbo. Looking at the build log, it's trying to compile jsimd_neon.S for x86_64 and thus, obviously, fails.

Attachments (1)

main.log (3.4 MB) - added by MaddTheSane (C.W. Betts) 3 years ago.
Build log

Change History (9)

Changed 3 years ago by MaddTheSane (C.W. Betts)

Attachment: main.log added

Build log

comment:1 Changed 3 years ago by MaddTheSane (C.W. Betts)

comment:2 Changed 3 years ago by kencu (Ken)

I think the issue here is a MacPorts issue. It's trying to compile the x86_64 assembly with clang, and AFAICT, libjpeg-turbo must use NASM to do that:

:info:build Scanning dependencies of target simd
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64'
:info:build /Library/Developer/CommandLineTools/usr/bin/make  -f simd/CMakeFiles/simd.dir/build.make simd/CMakeFiles/simd.dir/build
:info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64'
:info:build [  1%] Building C object md5/CMakeFiles/md5cmp.dir/md5.c.o
:info:build [  1%] Building C object CMakeFiles/wrjpgcom.dir/wrjpgcom.c.o
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64/md5 && /usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -o CMakeFiles/md5cmp.dir/md5.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/md5/md5.c
:info:build /usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -o CMakeFiles/wrjpgcom.dir/wrjpgcom.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/wrjpgcom.c
:info:build [  1%] Building C object md5/CMakeFiles/md5cmp.dir/md5cmp.c.o
:info:build [  2%] Building C object simd/CMakeFiles/simd.dir/arm64/jsimd.c.o
:info:build [  2%] Building ASM object simd/CMakeFiles/simd.dir/arm64/jsimd_neon.S.o
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64/simd && /usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -fPIC -o CMakeFiles/simd.dir/arm64/jsimd.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/simd/arm64/jsimd.c
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64/simd && /Library/Developer/CommandLineTools/usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -fPIC -o CMakeFiles/simd.dir/arm64/jsimd_neon.S.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/simd/arm64/jsimd_neon.S
:info:build [  3%] Building C object CMakeFiles/rdjpgcom.dir/rdjpgcom.c.o
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64/md5 && /usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -o CMakeFiles/md5cmp.dir/md5cmp.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/md5/md5cmp.c
:info:build [  3%] Building C object md5/CMakeFiles/md5cmp.dir/md5hl.c.o
:info:build /usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -o CMakeFiles/rdjpgcom.dir/rdjpgcom.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/rdjpgcom.c
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64/md5 && /usr/bin/clang  -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/build-x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6 -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=11.1 -o CMakeFiles/md5cmp.dir/md5hl.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/libjpeg-turbo-2.0.6/md5/md5hl.c
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/.tmp/jsimd_neon-87dc01.s:257:20: error: unexpected token in argument list
:info:build     DCT_TABLE .req x0
:info:build                    ^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/work/.tmp/jsimd_neon-87dc01.s:258:21: error: unexpected token in argument list
:info:build     COEF_BLOCK .req x1
:info:build                     ^

comment:3 Changed 3 years ago by kencu (Ken)

Cc: jmroot added

comment:4 Changed 3 years ago by kencu (Ken)

Josh, please take a quick gander, when you're in the zone.

comment:5 Changed 3 years ago by kencu (Ken)

Or maybe, looking at it seven more times, you might be right. Have to try it on the Apple Silicon system for a while to see what is going on...

comment:6 Changed 3 years ago by jmroot (Joshua Root)

The upstream fixes related to this are released in version 2.1.0, BTW.

comment:7 Changed 3 years ago by kencu (Ken)

been sitting for a week waiting for Larry to look at it:

<https://github.com/macports/macports-ports/pull/11163>

couple of test failures I can't explain.

comment:8 Changed 3 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

In a93811fd5fdde482140b526ae676072f17d3218d/macports-ports (master):

libjpeg-turbo: update to 2.1.0

closes: #62091

Note: See TracTickets for help on using tickets.