I love what BforArtists is doing - cleaning up the obtuse mess of a UI that Blender is/has. My only issue I have with BforArtists is that it isn't available in any repositories I can find. I would like to particularly request they be available for Ubuntu, Guix, Homebrew and Chocolatey.
I don't know what is involved in getting this to work but it would be helpful to have an option to install BforArtists via repository and not only via executable or manual compiling.
hi davidpgil,
Thanks for your suggestion. I would have nothing against this idea :)
It requires first and foremost somebody with the skills to build a static version on Linux. The one that you compile from the repository at your own Linux system, let's say Ubuntu, isn't portable to other Ubuntu systems. Some libraries must be build static, so that you can port the installation. Add to this that a arch build will not work at a Debian based Linux for example. Maintaining Linux binaries is a nightmare. I'm a Windows user. And haven't managed it at even Ubuntu. So when you have the skills, you are very welcome to create the required build(s) :)
The second step would be to get on the list of the different distributions. Also something that i have no idea about. And we would need somebody who takes care of all this. I have unfortunately just two hands, so also here, feel free to take the role :)
Kind regards
Reiner
Unfortunately, I do not yet have the skill to do such a thing. I'll add it to my listing of things to learn and get to it eventually.
I want to get it working with the Guix package manager which is compatible with many distros, and might be less of a nightmare.
No problem :)
On linux there are few (it's obvious that in linux world there can't be just one solution to problem) inter-distro packaging solutions:
In my opinion appimages looks easiest to make from all of them. There are many samples to learn from https://github.com/AppImage/AppImages/tree/master/recipes
I'm not a packager, I just wanted to leave 2 cents. Maybe I'll try to learn that same as my predecessor.
Thanks for the hints :)
The main problem still remains. We first need to manage to build with static dependencies, which is some kind of black magic, unfortunately. And i am lost with Linux anyways. I use Windows :)
need to manage to build with static dependencies
Why?
Providing an AppImage would have, among others, these advantages:
appimaged--appimage-extract parameterHere is an overview of projects that are already distributing upstream-provided, official AppImages.
If you have questions, AppImage developers are on #AppImage on irc.freenode.net.
Thanks for the hint :)
Do you have the time and the skills to create such an image? Every help is welcome ;)
Can you give me exact instructions how to build on Ubuntu 14.04? Then I should be able to send a pull request that would build the AppImage on Travis CI.
Yes, either use PPA:
sudo add-apt-repository ppa:jonathonf/python-3.6
Or build manually:
mkdir /tmp/py; cd /tmp/py
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar -xvf Python-3.6.3.tgz
cd Python-3.6.3
sudo ./configure --enable-optimizations
sudo make
sudo make install
The abvove method is the workaround to install Python 3.6 because Ubuntu 14 does not support Pyhton 3.6, which is required for Bforartists.
The method to compile Bforartists is the same than for Blender. Which can be found here: https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu/CMake
Could someone plese give me the _exact_ commands, since the instructions talk a lot about build options and optional components. Please tell me how you would like the Bforartists that should go into the AppImage to be built.
Thank you very much.
These are the exact commands. And should give you an idea what's so complicated about the whole issue here. Since this is just the basic instruction. To make an AppImage things will even be more complicated ...
I would really love to help here, but there's a reason why i keep my fingers away from Linux ^^
"The method to compile Bforartists is the same than for Blender. Which can be found here: https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu/CMake"
Well I tried to build it inside ubuntu 18.04/16.04 docker images using "easy" (automatic dependency install) approach but when it comes to blender bulding at startup it always returns this:
(pasted on pastebin because code section messed up new lines)
https://pastebin.com/9sLS6VjB
Maybe it just matter to manually install correct packages.
We'd also need it for 14.04 rather than 18.04 if we want the AppImage to run on more than just the very newest target systems.
Well I'm trying to build it on ubuntu 14.04 docker image. It fails like before using automatic cmake approach "Automatic CMake Setup" but manual way "Manual CMake Setup" seems to work, my CPU is hot now.
This is what i did:
Compiled succefully. I copied from container into host (kubuntu 18.04) but throws error at startup
/bforartists: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory and shutdowns immediately. At least good start to work now on static linking/appimages.
This is what is needed by bforartist binary
https://pastebin.com/AZ9aT6Rq
Actually... the project is already building using Ubuntu trusty on Travis CI?
https://github.com/Bforartists/Bforartists/blob/master/.travis.yml
Can we get around without using the ubuntu-toolchain-r-test ppa and gcc-6 but using the gcc that comes with Ubuntu 14.04 by default?
I think this is a really good idea to make this project more universal across Linux. Just throwing in a reminder that 14.04 will reach end of life in about 9 months and I can't imagine too many people are even still on it. I'm not sure if that changes the work load at all, but just thought it might be worth mentioning in case it does :)
Well, it's not about the Ubuntu line of distributions but also about all other distributions from 2014, 2015,... I think these are still worth being supported for a while.
Started experimentation, first build running... takes a while. https://travis-ci.org/probonopd/Bforartists
Linux. I am so lost with it ^^
I googled for
/opt/lib/blosc/lib/libblosc.so: undefined reference to `__cpu_model'
(almost at end of log file)
https://stackoverflow.com/questions/38727800/ld-linker-error-cpu-model-hidden-symbol
https://github.com/tensorflow/tensorflow/issues/9593
https://github.com/nothings/stb/issues/280
Looks like a compiler problem, maybe try to compile it using same gcc as I did gcc4 (from trusty repos)
Let's see how the next build goes. Trial and error forever...
https://api.travis-ci.org/v3/job/401259836/log.txt
Looks like it succeed in building deps, and it almost built bforartist (75%). Pretty good.
The job exceeded the maximum time limit for jobs, and has been terminated.
So it didn't even error out, but Travis CI killed it because _it took too long_. Which makes me wonder... have the Travis CI builds ever succeeded?
Do we really need to build our own libavcodec?
@ktotheoz how can I make it recognize the python from the PPA?
Getting this error:
https://travis-ci.org/probonopd/Bforartists/builds/401278025#L9613
Despite this:
https://github.com/probonopd/Bforartists/blob/0cf1692b8f756b0fbaf112fda9f635620bc86228/.travis.yml#L35
CMake Error at /usr/local/cmake-3.9.2/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PythonLibsUnix (missing: PYTHON_LIBRARY PYTHON_LIBPATH
PYTHON_INCLUDE_DIR PYTHON_INCLUDE_CONFIG_DIR)
Looks like few env var's needs to be set. Probably python3.6-dev need to be installed (from ppa).
https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu/CMake#Static_Linking
Note: by default, Python is not static. To make it so, You'll have to edit PYTHON_LYBRARY to something like /usr/lib/libpython3.4m.a;/usr/lib/libexpat.a (exact paths depend on your OS).
I'm not expert with travis (far from it), but I'll try later to help.
I found one ppa with dev version of packages for most (or all) bforartist deps, so it maybe can seriously cut down build times
https://launchpad.net/~thomas-schiex/+archive/ubuntu/blender?field.series_filter=trusty
and also more recent ffmpeg from here https://launchpad.net/~jonathonf/+archive/ubuntu/ffmpeg-3
One bad thing is that their cmake is conflicting with trusty repos so it can't be installed from there.
I manually installed dev packages versions of bforartist/blender deps from this ppa
I launched install_deps.sh --with-all --no-build --no-confirm. Now I'm trying to build it inside docker ubuntu 14.04 container. I had to manually set up few cmake param's to force build with osl, opensubdiv and etc. to match --with-all options. Probably libs were not detected before.
edit: Build was successful, without errors. I'll try with travis.
Nope, I'm not expert but it looks like openexr bug
https://api.travis-ci.org/v3/job/401448396/log.txt
https://github.com/tkaczz/Bforartists/blob/patch-1/.travis.yml
Okay, I'm trying to build Bforartists flatpak package based on this work https://github.com/flathub/org.blender.Blender. If it works for them, very probably it will work for bforartists (same dependencies). I changed branding, names etc. Repo is here https://github.com/tkaczz/org.bforartists.Bforartists, currently working in bforartist-1.0 branch.
Still not everyone is using flatpak's so AppImages/static builds are still needed.
@tkaczz did you succeed in building on Travis CI? I think once we get it to build, it's not that difficult to turn it into an AppImage (I can probably make that happen); but currently my build errors out.
I tried to use dev packages from that repo https://launchpad.net/%7Ethomas-schiex/+archive/ubuntu/blender, but there is probably problem with openexr at bforartists build time. Maybe better way would be:
Unfortunately I don't have the time to do more trial-end-error on how to build Bforartists on Travis CI but I am happy to come back and help doing the AppImage once someone has succeeded compiling it.
Closing this one for now as ways too general. It's no defined single task that we could fulfill.
Different story was the very interesting discussion about compiling Bforartists at other platforms. But i think this thread has run its purpose. You can always reopen the discussion as a own issue. Or continue it at the Bforartists forum.
Thanks for trying folks :)
Most helpful comment
Unfortunately, I do not yet have the skill to do such a thing. I'll add it to my listing of things to learn and get to it eventually.
I want to get it working with the Guix package manager which is compatible with many distros, and might be less of a nightmare.