Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Thanks in advance.
On Wed, Jun 29, 2022 at 3:15 AM Luya Tshimbalanga luya@fedoraproject.org wrote:
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
I think you mean msse2, the build should be using the distro default C flags for builds so it shouldn't be an issue, if you fix the build to use the proper distro flags the problem should go away. Details in the docs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Thanks in advance.
-- Luya Tshimbalanga Fedora Design Team Fedora Design Suite maintainer
devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
I think you mean msse2, the build should be using the distro default C flags for builds so it shouldn't be an issue, if you fix the build to use the proper distro flags the problem should go away. Details in the docs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Completely not the right way to fix it, you're note actually supposed to be overwriting the SSE levels set by the base project else it won't run on older x86 devices either, but the below worked for me on a scratch build. The aarch64 arch sets NEON by default so if you were using the proper defaults you'd actually have gott hat anyway.
diff --git a/embree.spec b/embree.spec index b2e6d8e..a9e8c91 100644 --- a/embree.spec +++ b/embree.spec @@ -92,6 +92,9 @@ export CXXFLAGS="%{optflags} -Wl,--as-needed" -DEMBREE_MAX_ISA=SSE4.2 \ %else -DEMBREE_MAX_ISA=NONE \ +%endif +%ifarch aarch64 + -DEMBREE_MAX_ISA=NEON \ %endif -DEMBREE_TUTORIALS=OFF %cmake_build
On 2022-06-29 01:56, Peter Robinson wrote:
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
I think you mean msse2, the build should be using the distro default C flags for builds so it shouldn't be an issue, if you fix the build to use the proper distro flags the problem should go away. Details in the docs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
Spec file:https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result:https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Completely not the right way to fix it, you're note actually supposed to be overwriting the SSE levels set by the base project else it won't run on older x86 devices either, but the below worked for me on a scratch build. The aarch64 arch sets NEON by default so if you were using the proper defaults you'd actually have gott hat anyway.
diff --git a/embree.spec b/embree.spec index b2e6d8e..a9e8c91 100644 --- a/embree.spec +++ b/embree.spec @@ -92,6 +92,9 @@ export CXXFLAGS="%{optflags} -Wl,--as-needed" -DEMBREE_MAX_ISA=SSE4.2 \ %else -DEMBREE_MAX_ISA=NONE \ +%endif +%ifarch aarch64
%endif -DEMBREE_TUTORIALS=OFF %cmake_build-DEMBREE_MAX_ISA=NEON \
I figured out that line hence the use of -DEMBREE_MAX_ISA=DEFAULT` as a more elegant approach. Unfortunately, the build failed for aarch64 in this version compared to its predecessor 3.13.2.
-- Luya Tshimbalanga Fedora Design Team Fedora Design Suite maintainer
On 2022-06-29 01:24, Peter Robinson wrote:
On Wed, Jun 29, 2022 at 3:15 AM Luya Tshimbalanga luya@fedoraproject.org wrote:
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
I think you mean msse2, the build should be using the distro default C flags for builds so it shouldn't be an issue, if you fix the build to use the proper distro flags the problem should go away. Details in the docs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
Which is strange as the used flag is `%{optflags} -Wl,--as-needed`as listed on the attached spec file.
Extract:
export CXXFLAGS="%{optflags} -Wl,--as-needed"
The issue currently affects the new version of embree.
--
Luya Tshimbalanga Fedora Design Team Fedora Design Suite maintainer
On Thu, Jun 30, 2022 at 2:39 AM Luya Tshimbalanga luya@fedoraproject.org wrote:
On 2022-06-29 01:24, Peter Robinson wrote:
On Wed, Jun 29, 2022 at 3:15 AM Luya Tshimbalanga luya@fedoraproject.org wrote:
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
I think you mean msse2, the build should be using the distro default C flags for builds so it shouldn't be an issue, if you fix the build to use the proper distro flags the problem should go away. Details in the docs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
Which is strange as the used flag is `%{optflags} -Wl,--as-needed`as listed on the attached spec file.
Extract:
export CXXFLAGS="%{optflags} -Wl,--as-needed"
The issue currently affects the new version of embree.
Have you filed a bug upstream?
On 2022-06-30 12:44 a.m., Peter Robinson pbrobinson@gmail.com wrote:
On Thu, Jun 30, 2022 at 2:39 AM Luya Tshimbalanga luya@fedoraproject.org wrote:
On 2022-06-29 01:24, Peter Robinson wrote:
On Wed, Jun 29, 2022 at 3:15 AM Luya Tshimbalanga luya@fedoraproject.org wrote:
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
I think you mean msse2, the build should be using the distro default C flags for builds so it shouldn't be an issue, if you fix the build to use the proper distro flags the problem should go away. Details in the docs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
Which is strange as the used flag is `%{optflags} -Wl,--as-needed`as listed on the attached spec file.
Extract:
export CXXFLAGS="%{optflags} -Wl,--as-needed"
The issue currently affects the new version of embree.
Have you filed a bug upstream?
Similar bug is already filed: https://github.com/embree/embree/issues/383
V Tue, Jun 28, 2022 at 07:08:31PM -0700, Luya Tshimbalanga napsal(a):
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Are you sure your scratch build corresponds to the linked spec file?
The spec file reads:
%ifarch x86_64 -DEMBREE_MAX_ISA=SSE4.2 \ %else -DEMBREE_MAX_ISA=NONE \ %endif
but the build.log shows:
+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr -DEMBREE_COMPACT_POLYS=ON -DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF -DEMBREE_ISPC_SUPPORT=ON -DEMBREE_MAX_ISA=DEFAULT -DEMBREE_TUTORIALS=OFF
There is -DEMBREE_MAX_ISA=DEFAULT instead of -DEMBREE_MAX_ISA=NONE.
Morover, I'm not sure whether upstream supports a generic AArch64. README.md reads:
Embree requires at least an x86 CPU with support for SSE2 or an Apple M1 CPU.
-- Petr
On Wed, Jun 29, 2022 at 10:06 AM Petr Pisar ppisar@redhat.com wrote:
V Tue, Jun 28, 2022 at 07:08:31PM -0700, Luya Tshimbalanga napsal(a):
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Are you sure your scratch build corresponds to the linked spec file?
The spec file reads:
%ifarch x86_64 -DEMBREE_MAX_ISA=SSE4.2 \ %else -DEMBREE_MAX_ISA=NONE \ %endif
but the build.log shows:
+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr -DEMBREE_COMPACT_POLYS=ON -DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF -DEMBREE_ISPC_SUPPORT=ON -DEMBREE_MAX_ISA=DEFAULT -DEMBREE_TUTORIALS=OFF
There is -DEMBREE_MAX_ISA=DEFAULT instead of -DEMBREE_MAX_ISA=NONE.
Morover, I'm not sure whether upstream supports a generic AArch64. README.md reads:
Embree requires at least an x86 CPU with support for SSE2 or an Apple M1 CPU.
The CMake file just specifies NEON so I suspect it's just generic but has only been tested on M1 Mac
On 2022-06-29 02:05, Petr Pisar wrote:
V Tue, Jun 28, 2022 at 07:08:31PM -0700, Luya Tshimbalanga napsal(a):
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Are you sure your scratch build corresponds to the linked spec file?
The spec file reads:
%ifarch x86_64 -DEMBREE_MAX_ISA=SSE4.2 \ %else -DEMBREE_MAX_ISA=NONE \ %endif
but the build.log shows:
+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr -DEMBREE_COMPACT_POLYS=ON -DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF -DEMBREE_ISPC_SUPPORT=ON -DEMBREE_MAX_ISA=DEFAULT -DEMBREE_TUTORIALS=OFF
There is -DEMBREE_MAX_ISA=DEFAULT instead of -DEMBREE_MAX_ISA=NONE.
My bad, I should attach the updated spec file yet to get pushed in the repository. Here is below.
Morover, I'm not sure whether upstream supports a generic AArch64. README.md reads:
Embree requires at least an x86 CPU with support for SSE2 or an Apple M1 CPU.
-- Petr
On 2022-06-29 02:05, Petr Pisar wrote:
V Tue, Jun 28, 2022 at 07:08:31PM -0700, Luya Tshimbalanga napsal(a):
Hello team,
What is the way to disable `-mss2 for aarch64 build in embree?
Spec file: https://src.fedoraproject.org/rpms/embree/blob/rawhide/f/embree.spec
Scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=88867571
Are you sure your scratch build corresponds to the linked spec file?
The spec file reads:
%ifarch x86_64 -DEMBREE_MAX_ISA=SSE4.2 \ %else -DEMBREE_MAX_ISA=NONE \ %endif
but the build.log shows:
+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr -DEMBREE_COMPACT_POLYS=ON -DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF -DEMBREE_ISPC_SUPPORT=ON -DEMBREE_MAX_ISA=DEFAULT -DEMBREE_TUTORIALS=OFF
There is -DEMBREE_MAX_ISA=DEFAULT instead of -DEMBREE_MAX_ISA=NONE.
Morover, I'm not sure whether upstream supports a generic AArch64. README.md reads:
Embree requires at least an x86 CPU with support for SSE2 or an Apple M1 CPU.
-- Petr
Upstream supported it as I have to scratch build with embree 3.13.3. v3.13.4 has a regression due to upstream code change. See https://github.com/embree/embree/issues/383
devel@lists.stg.fedoraproject.org