How to run appleseed on macOS?


#21

Please read the above post.

debugging the appleseed.cli I get this:

(gdb) run
Starting program: /Applications/appleseed/bin/appleseed.cli
[New Thread 0x1403 of process 45596]
warning: unhandled dyld version (15)
[Inferior 1 (process 45596) exited normally]
(gdb)


#22

Actually, on macOS you need to have a recent Python 2.7 installed and a PYTHONHOME environment variable pointing to it. This is a requirement of appleseed.studio in release 1.8.0-beta. This requirement will be removed in the next version (we will bundle Python 2.x on all platforms including macOS).


#23

I just downloaded appleseed 1.80 beta and attempted to install it on my Mac Pro running High Sierra 10.13.1, using ./appleseed.studio as instructed on the web page as well as ./appleseed-studio and ./appleseed.cli --system and got illegal instruction: 4 as well - do you have any suggestions on something else I can try? In the bin folder there is an ‘appleseed-studio’ file, but no ‘appleseed.studio’ file?


#24

Sorry to hear that @Geoff_Brandenburg.

We plan to release a new macOS build of appleseed without the SSE 4.2 requirement. Unfortunately this is a staggering amount of work and we haven’t had the time to do it yet. We will keep you guys posted here about our progress.

On macOS, appleseed.studio is renamed to appleseed-studio to avoid confusing the Finder and to allow double-clicking on the file.


#25

I am currently getting this error as well. Is there a version that currently works with High Sierra Mac Pro Late 2013, 3 GHz 8-Core Intel Xeon E5, 32 GB 1866 MHz DDR3, AMD FirePro D700 6144 MB. Like an older version?


#26

Hi @Scorysto, I’m afraid not… Building anything on macOS is a pain, and we haven’t come around to rebuild everything without SSE4.2 yet…


#27

I performed some attempts using lldb.

First of all I am using Mac OS Sierra 10.12.6 on a 2013 Macbook Pro. All other apps works perfectly so I don’t think it’s the age.

This is the interesting part output of $ brew info python. My Homebrew Python installation contains 2 versions, this is Python 3.

Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin

If you need Homebrew's Python 2.7 run
  brew install [email protected]

Pip, setuptools, and wheel have been installed. To update them run
  pip3 install --upgrade pip setuptools wheel

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages

Calling $ brew info [email protected] I got the informations about the Python 2 installation with Homebrew that is the one currently active.

Pip and setuptools have been installed. To update them
  pip install --upgrade pip setuptools

You can install Python packages with
  pip install <package>

They will install into the site-package directory
  /usr/local/lib/python2.7/site-packages

Some calls to understand install location of Python 2 and actual version number.

$ which python
/usr/local/bin/python

$ ls -lG $(which python)
lrwxr-xr-x  1 me  admin  38 26 Giu 13:01 /usr/local/bin/python -> ../Cellar/[email protected]/2.7.15_1/bin/python

$ python --version
Python 2.7.15

First attempt to call appleseed with a PYTHONPATH I thought that was the correct one.

$ ls -G "/usr/local/Cellar/[email protected]/2.7.15_1/"
Frameworks           INSTALL_RECEIPT.json Python Launcher.app  bin                  libexec
IDLE.app             LICENSE              README               lib                  share

$ export PYTHONHOME="/usr/local/Cellar/[email protected]/2.7.15_1"
$ lldb -f appleseed.cli -- --system
(lldb) target create "appleseed.cli"
ImportError: No module named site
Assertion failed: (e == 0), function ~recursive_mutex, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/libcxx/libcxx-307.5/src/mutex.cpp, line 86.
Stack dump:
0.	HandleCommand(command = "target create "appleseed.cli"")
Abort trap: 6

$ pip install site
ImportError: No module named site

Second attempt to run appleseed. I think this is the correct path (and I don’t know if it is reachable from other symlinks around in the system).

$ export PYTHONHOME="/usr/local/Cellar/[email protected]/2.7.15_1/Frameworks/Python.framework/Versions/Current"

$ ./appleseed.cli --system
Illegal instruction: 4

$ lldb -f appleseed.cli -- --system
(lldb) target create "appleseed.cli"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/Cellar/[email protected]/2.7.15_1/Frameworks/Python.framework/Versions/Current/lib/python2.7/copy.py", line 52, in <module>
    import weakref
  File "/usr/local/Cellar/[email protected]/2.7.15_1/Frameworks/Python.framework/Versions/Current/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Current executable set to 'appleseed.cli' (x86_64).
(lldb) settings set -- target.run-args  "--system"
(lldb) run
Process 7566 launched: '/Applications/appleseed-1.8.1/bin/appleseed.cli' (x86_64)
Process 7566 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
    frame #0: 0x0000000101bac671 libOpenImageIO.1.7.dylib`_GLOBAL__sub_I_formatspec.cpp + 45
libOpenImageIO.1.7.dylib`_GLOBAL__sub_I_formatspec.cpp:
->  0x101bac671 <+45>: vpbroadcastq %xmm0, %xmm0
    0x101bac676 <+50>: vmovdqu %xmm0, 0x54b94a(%rip)     ; OpenImageIO::v1_7::pugi::impl::dummy_node_set + 24
    0x101bac67e <+58>: movq   0x536b43(%rip), %rdi      ; (void *)0x0000000101c25190: OpenImageIO::v1_7::pugi::xpath_node_set::~xpath_node_set()
    0x101bac685 <+65>: leaq   -0xf368c(%rip), %rdx
Target 0: (appleseed.cli) stopped.
(lldb) 

#28

@ender.saka Thanks for the investigation!

First of all I am using Mac OS Sierra 10.12.6 on a 2013 Macbook Pro. All other apps works perfectly so I don’t think it’s the age.

Unfortunately, the problem is actually the age of your laptop: your CPU doesn’t support SSE4.2 instructions:

$ ./appleseed.cli --system
Illegal instruction: 4 

Unfortunately the current macOS build of appleseed relies on SSE4.2 instructions to be available. Technically appleseed doesn’t use SSE4.2 instructions but third party libraries it depends on do, and rebuilding them without SSE4.2 support is a major task.


#29

Thanks for the reply. I guess the library is the libOpenImageIO right?


#30

Actually a quite a few libraries are problematic.

The root of the problem is that I’m using Homebrew to install several dependencies, as described in our macOS build guide:

Homebrew builds some of the dependencies from source but unfortunately doesn’t offer any control over the compilation settings.

You’ll find all the details in a question I asked on the Homebrew forum about nine months ago:

As they answered:

Homebrew formulae are not build for redistribution. If you wish to do so you should build them from source yourself.

Manually building all third party dependencies from source is unfortunately a lot of work, work that is hard to justify given that the increased irrelevance of the Mac platform.

Help in this area is welcome though!


#31

“the increase irrelevance of the Mac platform”? Mac platform is probably “irrelevant” because it often happens that Open Source softwares are not available for that platform or hard to setup, build, ecc… Common users typical behaviour is to try a software and if it is not available or too hard to install they simply leave and point to another option. I well know this problem. After all I understand that it could be hard to maintain complex open source softwares in the free time.


#32

Don’t get me wrong, I have nothing against the Mac platform, but it’s a fact that Apple is steering it toward end users and not so much high end creators.

The fact that Apple decided to drop OpenGL for the Mac is a striking example. In fact, as a consequence Autodesk decided to abandon the Mac platform altogether for a number of its applications, and I believe that many other application vendors will do the same in the future.

Of couse the fact that one must own a Mac to build software for the platform isn’t helping either.


#33

I don’t think they want to point to end users. After all I am asking my self what they plan to do with WebGL support, for example. I (with a friend’s agency) and other producers are planning to release pro products using WebGL in the future. What will happen if they actually abandon OpenGL? I don’t think they will actually do so. Though to give such announcement was not a good idea. About AutoDesk I would not worry to much. They actually never supported Apple platform in a reliable way.

Though, thanks for your help. I will see if I can compile appleseed and let you know.


#34

Some more context from a post I had posted on the BlenderArtist Forum about Autodesk’s decision to abandon Mac support for some DCC applications.
https://blenderartists.org/t/macos-is-deprecating-opengl/1113803/221


#35

Very interesting thread, thank you.