[packman] [PM] ffmpeg 0.6.25512svn-2.pm.3.1 (openSUSE 11.3/x86_64)

Cristian Morales Vega cmorve69 at yahoo.es
Tue Nov 16 15:15:58 CET 2010


2010/11/16 Cristian Morales Vega <cmorve69 at yahoo.es>:
> 2010/11/16 Toni <toni at links2linux.de>:
>> Am Dienstag, 16. November 2010 schrieb Manfred Tremmel:
>>> Am Dienstag, 16. November 2010 schrieb Carl Eugen Hoyos:
>>> > Manfred Tremmel <manfred at ...> writes:
>>> > > > Any reason why libopenjpeg is not enabled? It is impossible to
>>> > > > decode jpg2k without it.
>>> > >
>>> > > Compile errors when I've tried last time.
>>> >
>>> > I believe I remember now what the problem is:
>>> > OpenJPEG upstream has two locations for its header file, depending on
>>> >  which make you use, make or cmake. (I reported this upstream some
>>> >  time ago, I would welcome if somebody else does it too, what I did
>>> >  wrong was to request changing the cmake location, it would also be
>>> >  fine if they just made the two install into the same directory, no
>>> >  matter which.)
>>> >
>>> > Unfortunately, Packman and FFmpeg do not agree on which location to
>>> >  use. My suggestion would be to add a symlink from
>>> >  /usr/include/openjpeg.h to /usr/include/openjpeg/openjpeg.h to
>>> >  libopenjpeg-devel-1.3-0.pm.5.1, but
>>> >  --extra-cflags=-I/usr/include/openjpeg should also work (please
>>> >  report if not).
>>> >
>>> > Or do you have another problem? It compiles fine for me.
>>>
>>> Here's the openjpeg part of config.log on my openSUSE 11.2 x86_64
>>>
>>> check_func opj_version -lopenjpeg
>>> check_ld -lopenjpeg
>>> check_cc
>>> BEGIN /tmp/ffconf.V6h4hsXr.c
>>>     1 extern int opj_version();
>>>     2 int main(void){ opj_version(); }
>>> END /tmp/ffconf.V6h4hsXr.c
>>> gcc -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -
>>> funwind-tables -fasynchronous-unwind-tables -fPIC -I/usr/include/gsm -
>>> I/usr/include/openjpeg -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -
>>> D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -fmessage-length=0 -O2 -
>>> Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -
>>> fasynchronous-unwind-tables -fPIC -I/usr/include/gsm -
>>> I/usr/include/openjpeg -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
>>> -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fPIC -
>>> I/usr/include/gsm -I/usr/include/openjpeg -std=c99 -fomit-frame-pointer
>>> -fPIC -pthread -I/usr/include/dirac -c -o /tmp/ffconf.bLZOwjuu.o
>>> /tmp/ffconf.V6h4hsXr.c
>>> gcc -o /tmp/ffconf.1Dz9k32M /tmp/ffconf.bLZOwjuu.o -lopencore-amrwb -
>>> lopencore-amrnb -lmp3lame -lgsm -ldirac_encoder -ldirac_decoder -lm -
>>> lstdc++ -ldirac_encoder -ldirac_decoder -lm -lstdc++ -lm -pthread -lbz2
>>> -lz -lopenjpeg
>>> /usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../lib64/libopenjpeg.so:
>>> undefined reference to `floor'
>>> /usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../lib64/libopenjpeg.so:
>>> undefined reference to `ceil'
>>> /usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../lib64/libopenjpeg.so:
>>> undefined reference to `lrintf'
>>> /usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../lib64/libopenjpeg.so:
>>> undefined reference to `pow'
>>> collect2: ld returned 1 exit status
>>> ERROR: libopenjpeg not found
>>>
>>> Looks to me like a missing "#include <math.h>"
>> it is a linker error ==> it misses a library not a header (compile time error)
>>
>> try to add
>> export SUSE_ASNEEDED=0
>>
>> in the build section as a quick workaround.
>
> And the problem is in the openjpeg package. The library should link to libm.

And there is another problem. KDE:Distro:Factory has an openjpeg
package that, I suppose, will be moved to Factory at some point. The
problem is that this package uses the CMake build system and the
Packman package uses the Makefile... and each build system generates
libraries with different sonames. So for 11.4 the openSUSE and Packman
libraries will be "binary incompatible".




More information about the Packman mailing list