Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build issues on OSX: ImfDwaCompressorSimd.h:483:no such instruction: `vmovaps (%rsi), %ymm0' #208

Closed
mikeroberts3000 opened this issue Oct 1, 2016 · 4 comments
Labels
Build A problem with building or installing the library.

Comments

@mikeroberts3000
Copy link

Hello there,

I'm trying to get the OpenEXR Python bindings to work in my Python environment on OSX. I've tried an approach using Macports and pip, but that didn't work (see #207) so I'm trying to build OpenEXR from source.

As far as I can tell, IlmBase builds correctly. But when I try to build OpenEXR, I get many similar no such instruction errors:


...

ImfDwaCompressorSimd.h:483:no such instruction: `vmovaps (%rsi), %ymm0'
ImfDwaCompressorSimd.h:484:no such instruction: `vmovaps 0x20(%rsi), %ymm1'
ImfDwaCompressorSimd.h:485:no such instruction: `vmovaps 0x40(%rsi), %ymm2'
ImfDwaCompressorSimd.h:486:no such instruction: `vmovaps 0x60(%rsi), %ymm3'
ImfDwaCompressorSimd.h:487:no such instruction: `vcvtps2ph $0, %ymm0,%xmm0'
ImfDwaCompressorSimd.h:488:no such instruction: `vcvtps2ph $0, %ymm1,%xmm1'
ImfDwaCompressorSimd.h:489:no such instruction: `vcvtps2ph $0, %ymm2,%xmm2'
ImfDwaCompressorSimd.h:490:no such instruction: `vcvtps2ph $0, %ymm3,%xmm3'
ImfDwaCompressorSimd.h:491:no such instruction: `vmovdqa %xmm0, 0x00(%rdi)'
ImfDwaCompressorSimd.h:492:no such instruction: `vmovdqa %xmm1, 0x10(%rdi)'
ImfDwaCompressorSimd.h:493:no such instruction: `vmovdqa %xmm2, 0x20(%rdi)'
ImfDwaCompressorSimd.h:494:no such instruction: `vmovdqa %xmm3, 0x30(%rdi)'
ImfDwaCompressorSimd.h:495:no such instruction: `vmovaps 0x80(%rsi), %ymm0'
ImfDwaCompressorSimd.h:496:no such instruction: `vmovaps 0xa0(%rsi), %ymm1'
ImfDwaCompressorSimd.h:497:no such instruction: `vmovaps 0xc0(%rsi), %ymm2'
ImfDwaCompressorSimd.h:498:no such instruction: `vmovaps 0xe0(%rsi), %ymm3'
ImfDwaCompressorSimd.h:499:no such instruction: `vcvtps2ph $0, %ymm0,%xmm0'
ImfDwaCompressorSimd.h:500:no such instruction: `vcvtps2ph $0, %ymm1,%xmm1'
ImfDwaCompressorSimd.h:501:no such instruction: `vcvtps2ph $0, %ymm2,%xmm2'
ImfDwaCompressorSimd.h:502:no such instruction: `vcvtps2ph $0, %ymm3,%xmm3'
ImfDwaCompressorSimd.h:503:no such instruction: `vmovdqa %xmm0, 0x40(%rdi)'
ImfDwaCompressorSimd.h:504:no such instruction: `vmovdqa %xmm1, 0x50(%rdi)'
ImfDwaCompressorSimd.h:505:no such instruction: `vmovdqa %xmm2, 0x60(%rdi)'
ImfDwaCompressorSimd.h:506:no such instruction: `vmovdqa %xmm3, 0x70(%rdi)'
ImfDwaCompressorSimd.h:507:no such instruction: `vzeroupper'

...

make[2]: *** [ImfDwaCompressor.lo] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Here is my g++ version information.

Mikes-MacBook-Pro:OpenEXR mike$ g++ -v
g++: warning: couldn't understand kern.osversion '15.6.0
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin14/4.8.3/lto-wrapper
Target: x86_64-apple-darwin14
Configured with: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc48/gcc48/work/gcc-4.8.3/configure --prefix=/opt/local --build=x86_64-apple-darwin14 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc48 --includedir=/opt/local/include/gcc48 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.8 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.8 --with-gxx-include-dir=/opt/local/include/gcc48/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --disable-multilib --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --with-pkgversion='MacPorts gcc48 4.8.3_1'
Thread model: posix
gcc version 4.8.3 (MacPorts gcc48 4.8.3_1) 

What is the recommended way to build OpenEXR on OSX?

@meshula
Copy link
Contributor

meshula commented Oct 2, 2016

This script works -

https://github.com/vfxpro99/usd-build-club/blob/master/prerequisites-macOS/OpenEXR.sh

Perhaps you could try that or something similar as a starting point.

@mikeroberts3000
Copy link
Author

Ah, @meshula, thanks for the pro tip. Using cmake, instead of the make files that ship with OpenEXR, worked out of the box on the first try. I didn't even need to set any custom environment variables, like they do in the script you posted. I only needed to set ILMBASE_PACKAGE_PREFIX=/usr/local when building OpenEXR, because /usr/local is where cmake installed IlmBase by default.

I guess the solution is to use cmake when trying to build OpenEXR on OSX, rather than the standard make files. I'll leave this issue open so that the OSX documentation might get updated to reflect this potential gotcha.

@meshula
Copy link
Contributor

meshula commented Oct 3, 2016

Ah cool. That script I linked would probably be more generally useful if it allowed the prefix to be passed in, instead of hard coded as it is.

@cary-ilm cary-ilm added the Build A problem with building or installing the library. label Jun 13, 2019
@cary-ilm cary-ilm added this to the Needs Attention milestone Jun 29, 2019
@cary-ilm
Copy link
Member

cary-ilm commented Jul 4, 2019

Looking into the backlog of open OpenEXR issues. This seems to have been resolved.
Closing the issue for now, feel free to re-open or file a new issue if you need further help.

@cary-ilm cary-ilm closed this as completed Jul 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build A problem with building or installing the library.
Projects
None yet
Development

No branches or pull requests

4 participants