Opened 8 years ago

Closed 7 years ago

#668 closed defect (fixed)

Movie encode failure in Linux build

Reported by: Tristan Croll Owned by: Greg Couch
Priority: major Milestone: 0.8
Component: Scenes/Animation Version:
Keywords: Cc: goddard@…
Blocked By: 473 Blocking:
Notify when closed: Platform: Linux64 (X11)
Project: ChimeraX

Description

Simple case of missing library:

/home/tic20/apps/chimerax/bin/ffmpeg: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

Easy enough for me to install from the repo - complicated slightly by the fact that on my system (Fedora 24):

find /usr/lib64 -name "libbz2*"

/usr/lib64/libbz2.so.1.0.6
/usr/lib64/libbz2.so.1
/usr/lib64/libbz2.so

Perhaps it would be better to add this library to the build?

Change History (13)

comment:1 by Tom Goddard, 8 years ago

Cc: goddard@… added
Milestone: Alpha2
Owner: changed from Tom Goddard to Greg Couch

It appears we compile our own ffmpeg on Mac and Linux, and use a static build compiled by others on Windows. We may want to switch to using static builds compiled by others for Mac and Linux. Here is a site that has Linux static builds linked from the main ffmpeg download page (so probably reputable)

https://johnvansickle.com/ffmpeg/

It includes libx264 and libtheora and libvpx, but not libogg which we use in our own builds. Maybe we could drop ogg.

There are Mac static builds linked from the ffmpeg download page too.

https://evermeet.cx/ffmpeg/

Although that page says the enable x264, vpx and theora, it is not clear if those libraries are included, probably are.

In general I think there is no reason to build our own ffmpeg and try to maintain all the libraries it depends on.

in reply to:  2 ; comment:2 by Greg Couch, 8 years ago

We should consider not distributing ffmpeg at all -- especially on Linux 
where is it available as a system package.

in reply to:  3 ; comment:3 by goddard@…, 8 years ago

We need to distribute ffmpeg with ChimeraX otherwise movie recording will not work.  We don’t force Linux users to install other packages to use basic ChimeraX features, and we should not start since that will seriously degrade the usability of the program.  I think we should have been using third-party builds for ffmpeg all along if available, since it is a burden for us to compile it because of the needed dependencies.


comment:4 by Tom Goddard, 8 years ago

ChimeraX ffmpeg works on Ubuntu 16.04.

I guess bzip2 libraries are not in the standard Fedora 24 distribution (could not determine this with 10 minutes searching online).

Ticket #473 is to make a linux installer that includes needed libraries for Linux distributions we support. We have not decided what distributions we will support.

For ffmpeg, the sensible choice is to include a statically linked build made by a third party.

Our ChimeraX download page says only that it has been tested on Ubuntu 16.10 and Fedora 25, but I'm pretty sure movie making was not part of that test.

in reply to:  5 ; comment:5 by Greg Couch, 8 years ago

FYI, the plan for the Linux installer is to provide a flatpak.org 
container.  The latter should take care of the shared library issues.  
Of course that remains to be seen.

     -- Greg

comment:6 by Greg Couch, 8 years ago

Blocked By: 473
Milestone: Alpha2Beta Release

Looking at this closer, it is a Fedora 24 bug. If it has libbz2.so.1.0.6, it should have all of the shorter forms: libbz2.so.1.0, libbz2.so.1, and libbz2.so.

comment:7 by pett, 8 years ago

Milestone: Beta Release0.5

Milestone renamed

comment:8 by Conrad Huang, 8 years ago

Milestone: 0.50.6

comment:9 by Greg Couch, 8 years ago

Milestone: 0.60.7

comment:10 by Conrad Huang, 7 years ago

Milestone: 0.70.8
Platform: allLinux64 (X11)

This is a RedHat/Fedora issue and will be solved by creating an rpm installer.

comment:11 by Greg Couch, 7 years ago

There is now a rpm for CentOS / Red Hat 7. Need to test it on Fedora. Currently Fedora is at version 28 and version 29 is due later this month.

Keeping this ticket open until Fedora testing has been done.

comment:12 by Greg Couch, 7 years ago

Status: assignedaccepted

comment:13 by Greg Couch, 7 years ago

Resolution: fixed
Status: acceptedclosed

CentOS rpm works.

Note: See TracTickets for help on using tickets.