Some render options missing in 0.61.08 on Ubuntu Hardy

0.61.08 on Ubuntu Hardy

Built from source code
ETL 0.04.11
synfig 0.61.08
synfigstudio 0.61.08

The render options I can see are:

Auto
bmp
dv
ffmpeg
gif
imagemagick
null
null-tile
png
yuv420p

I am assuming that jpeg and some other options are missing as they were present in version .07

The builds worked without errors but there may have been components that were missed.

Can someone tell me what I need to install /make work to fix this?

The build instructions page on the site should list everything you need. Don’t forget to install the -dev/-devel packages of the libraries.

Try this:

sudo apt-get install libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libmagick++9-dev

It should solve the problem.

Notice that this is just a copy of the optional development libraries needed to build synfig that are listed in the build instructions in the wiki.

synfig.org/Build_Instructions#synfig

also don’t miss the runtime binaries encodedv (from libdv), ffmpeg, convert (from imagemagick) listed at the same wiki page.

-G

Thanks for the replies, I went back and checked and found yes I was missing a couple of files.

(up until now I have only used sources to install very simple/small programs)

I think I have all the render options now:
Auto
bmp
dv
ffmpeg
gif
imagemagick
jpeg
magick++
mng
null
null-tile
openexr
png
ppm
yuv420p

During the builds as far as I can see I received only one error:

  • during the make install for synfig:

trgt_av.cpp:38:22: error: avformat.h: No such file or directory
trgt_av.cpp:87: error: expected constructor, destructor, or type conversion before ‘*’ token

I found a reference to this in relation to synfig .07 in post on Synfig related help - topic Synfig, ffmpeg, and Gentoo Linux on 30 April 2008

I am wondering if there is now a fix for this ?

And what issues are raised by this error - does it stop the program from doing anything ?

ps - the purpose of the upgrade was to export yuv420p files to Cinelerra.

Well Cinelerra can now see the yuv420p files I export, they show up as grey blocks in Cinelerra (there still seems to be something wrong with the file header data).

The files do export fine from Cinelerra into other formats such as quicktime for linux mp4.mov

this is not an usual make install error message. It looks to me like a make error message. Can you paste all the output when building synfig? Please use pastebin.ca or other debug collaboration service.

Did you follow strictly the commands to build synfig?

libtoolize --ltdl --copy --force autoreconf --install --force ./configure make sudo make install

Please read the Build instructions wiki page from top to bottom without loose any word. Every thing said there is important.

-G

That sounds like you haven’t installed the libavformat-dev package, or ffmpeg made some incompatible change yet again.

What version of the libav* packages do you have installed?

Can you paste all the /usr/lib/pkgconfig/libav*.pc files here?

Thanks for the suggestions, I am trying various things.

According to apt-get install I have the latest libavformat-dev form the medibuntu repository

below is part of the description

There are 3 libav*.pc files in /usr/lib/pkgconfig/

libavcodec.pc
libavformat.pc
libavutil.pc

From various things I could track down it appears to be an ffmpeg issue.

When I use the make -i command for synfig core it makes ok, and most of synfig studio works fine, except for the YUV420p render.

libavformat-dev package information

Package: libavformat-dev
Source: ffmpeg
Version: 3:0.cvs20070307-5ubuntu7.1+medibuntu1
Architecture: i386
Maintainer: Medibuntu Packaging Team admin@lists.medibuntu.org
Installed-Size: 868
Depends: libavcodec-dev (= 3:0.cvs20070307-5ubuntu7.1+medibuntu1), libavformat1d
(= 3:0.cvs20070307-5ubuntu7.1+medibuntu1)
Conflicts: libavcodec-dev (<< 0.cvs20060306-1)
Replaces: libavcodec-dev (<< 0.cvs20060306-1)
Priority: optional
Section: free/libdevel
Filename: pool/free/f/ffmpeg/libavformat-dev_0.cvs20070307-5ubuntu7.1+medibuntu1
_i386.deb
Size: 334898
SHA256: c67a4771f92722c6828ca289789641e23eb8a54ff37a8d97da7fc584e969be1e
SHA1: 515cd70898732f74cbef85710f2efef9f2ab3f90
MD5sum: 68ca644bdf293ed381a0612b596709d7
Description: development files for libavformat - Medibuntu package
This is the demuxer library from the ffmpeg project. It supports most
existing file formats (AVI, MPEG, OGG, Matroska, ASF…).
.
This package contains the header files and static libraries needed to
compile applications or shared objects that use libavformat.

Did you check the contents of the pkgconfig? Check to see that the include paths point the location where the header files can be found?

G.

Sorry but I am not sure how to do that, or what I would be looking for.

Try this on the command line:

for f in /usr/lib/pkgconfig/*libav* ; do echo ------------- $f ------------ ; cat $f ; done

Hmm, I just noticed that the version you are using is older than the one in Debian lenny, please join IRC so we can debug this more easily.

A locate / find command might also be useful. i.e.:

locate avformat.h

(if the locate database is up-to-date) or:

find /usr/include -name avformat.h

(assuming all include files are in /usr/include).
And see what, if any, turns up.

G.

it shows up as

/usr/include/ffmpeg/avformat.h
/usr/local/include/libavformat/avformat.h

but I don’t know if that helps

I will look for people on the IRC chat.

Uhhh, why do you have two copies of the headers installed?

Actually I do not know, something I installed perhaps.

I checked the log of the configure and it shows for libavcodec and libavformat

configure:21597: checking for libavcodec libavformat
configure:21601: result: yes
configure:21605: checking LIBAVCODEC_CFLAGS
configure:21608: result: -I/usr/local/include
configure:21611: checking LIBAVCODEC_LIBS
configure:21614: result: -L/usr/local/lib -lavcodec -lavformat

It seems that it is not being found at the Make stage

Looks like you have the Ubuntu libavformat-dev package installed and also manually compiled and installed it in /usr/local. Unfortunately the one in /usr/local doesn’t seem to follow the same install as the package. Which version did you manually compile and install? I get the feeling that ffmpeg upstream made another incompatible change.

Can you show us what the contents of “/usr/lib/pkgconfig/libavformat.pc” is?
And also what the output of “pkg-config --cflags libavformat” is?

They should mention either: /usr/include/ffmpeg
or: /usr/local/include/libavformat

G.

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: libavformat
Description: FFmpeg container format library
Version: 51.10.0
Requires: ogg >= 1.1 theora vorbis vorbisenc libraw1394 libavcodec = 51.38.0
Conflicts:
Libs: -L${libdir} -lavformat
Cflags: -I${includedir} -I${includedir}/ffmpeg

-I/usr/local/include

Well, they are not there so it looks like a problem, but I don’t know how to fix this

It appears that your normal libavformat install (in /usr/include/ffmpeg and /usr/lib) is overruled by a second install (in /usr/local/include/libavformat and /usr/local/lib?). This would suggest that you have another pkg-config file for libavformat. Probably somewhere in /usr/local. Could you perform the following command?

locate libavformat.pc

Can you remember if you have installed these files in /usr/local yourself? You could also try the following command:

dpkg -S /usr/local/include/libavformat/avformat.h

to see if this file was installed as part of a “normal” package install. I think we’re getting close!

G.

I am not sure what install did this

/usr/lib/pkgconfig/libavformat.pc

dpkg: /usr/local/include/libavformat/avformat.h not found.