Dies ist der Cache von Google von https://bbs.archlinux32.org/viewtopic.php?id=122. Es handelt sich dabei um ein Abbild der Seite, wie diese am 12. Okt. 2019 04:15:02 GMT angezeigt wurde. Die aktuelle Seite sieht mittlerweile eventuell anders aus. Weitere Informationen.
Vollständige VersionNur-Text-VersionQuelle anzeigen
Tipp: Um deinen Suchbegriff schnell auf dieser Seite zu finden, drücke Strg+F bzw. ⌘-F (Mac) und verwende die Suchleiste.
community/embree / Creating/Maintaining Packages / Arch Linux 32 Forums

You are not logged in.

#1 2017-10-08 06:56:42

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 813
Website

community/embree

deep42thought in 'blacklist':

has never been an i686 package for arch, but might built for i686, actually

I agree.

SSE and SSE2 at least were around for some 32-bit CPUs.

So far I get:

cd /root/embree/build/common/sys && /usr/bin/c++  -DEMBREE_TARGET_SSE2 -DTASKING_TBB -I/root/embree/include -I/root/embree/build  -Wall -Wformat -Wformat-security -fPIE -fPIC -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-tree-vectorize  -DNDEBUG -O3   -o CMakeFiles/sys.dir/sysinfo.cpp.o -c /root/embree/common/sys/sysinfo.cpp

In file included from /root/embree/common/sys/sysinfo.cpp:17:0:
/root/embree/common/sys/sysinfo.h:76:2: error: #error Unknown ISA
#error Unknown ISA
  ^~~~~
In file included from /root/embree/common/sys/sysinfo.cpp:18:0:
/root/embree/common/sys/intrinsics.h: In function ‘__m128 embree::_mm_undefined_ps()’:
/root/embree/common/sys/intrinsics.h:381:41: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
   __forceinline __m128 _mm_undefined_ps() { return _mm_setzero_ps(); }
                                         ^
make[2]: *** [common/sys/CMakeFiles/sys.dir/build.make:63: common/sys/CMakeFiles/sys.dir/sysinfo.cpp.o] Error 1

(this bugreport I also spotted on the Italian Archlinux forum: http://www.archlinux.it/forum/viewtopic … 27&t=20690).

Those warnings happen if the compiler macros '__SSE__' and/or '__SSE2__' are not set.

The cmake files claim they set compiler flags correctly, but I doubt it, because if I set '-msse' or '-msse2' manually,
the file above builds (and I don't see any architecture optimization flags).

What I think the problem is (and I have to investigate), that on 64-bit CPUs '__SSE__' and '__SSE2__' are always set
because those CPUs have always support for it. This means for 32-bit it's just a matter to fix the flags in cmake.

There is another interesting blog entry of a guy using embree on an ARM cpu, see
https://mightynotes.wordpress.com/2017/ … ee-to-arm/. This
also gives some insight that this library builds generic code and some very specific optimized
code (optionally), which is then choosen at runtime if the CPUID command or the cpu type tell it so.

Last edited by andreas_baumann (2017-10-08 07:09:06)

Offline

#2 2017-10-13 06:15:50

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 813
Website

Re: community/embree

Manually added:

SET_TARGET_PROPERTIES(XXXX PROPERTIES COMPILE_FLAGS "${FLAGS_LOWEST}")

to a bunch of 'CMakeLists.txt' files where the build failed without an '-sse' or '-sse2' flag.

Offline

#3 2017-10-13 06:36:59

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 813
Website

Re: community/embree

Offline

Board footer

Powered by FluxBB