Gene Heskett wrote:
On Wednesday 23 July 2008, dexter wrote:
On Wed July 23 2008 04:06:58 Gene Heskett wrote:
That seems to be faad2 now, but I didn't have the -devel installed.
But that was from faac, and I didn't have that -devel installed either.
Humm, I have added the /opt/gmerlin/lib directory to a gmerlin.conf file
in /etc/ld.so.conf.d, and I'm running ldconfig after yum installs each of
these -devel packages, but the above faac* errors aren't going away. This
is using the faac stuff from livna.
I ended up patching neaacdec.h from the faad2-devel to get rid of theses
errors in another project but it should work here also, include this in
neaacdec.h:
/* MACROS FOR BACKWARDS COMPATIBILITY */
/* structs */
#define faacDecHandle NeAACDecHandle
#define faacDecConfiguration NeAACDecConfiguration
#define faacDecConfigurationPtr NeAACDecConfigurationPtr
#define faacDecFrameInfo NeAACDecFrameInfo
/* functions */
#define faacDecGetErrorMessage NeAACDecGetErrorMessage
#define faacDecSetConfiguration NeAACDecSetConfiguration
#define faacDecGetCurrentConfiguration NeAACDecGetCurrentConfiguration
#define faacDecInit NeAACDecInit
#define faacDecInit2 NeAACDecInit2
#define faacDecInitDRM NeAACDecInitDRM
#define faacDecPostSeekReset NeAACDecPostSeekReset
#define faacDecOpen NeAACDecOpen
#define faacDecClose NeAACDecClose
#define faacDecDecode NeAACDecDecode
#define AudioSpecificConfig NeAACDecAudioSpecificConfig
For some reason Freshrpms (which I use as a base for my stuff) & also I
assume livna patch these defines out.
...dex
There appears to be precisely the inverse of that already there, labeled:
#if 1
/* MACROS FOR FORWARD COMPATIBILITY */
/* structs */
#define NeAACDecHandle faacDecHandle
#define NeAACDecConfiguration faacDecConfiguration
#define NeAACDecConfigurationPtr faacDecConfigurationPtr
#define NeAACDecFrameInfo faacDecFrameInfo
/* functions */
#define NeAACDecGetErrorMessage faacDecGetErrorMessage
#define NeAACDecSetConfiguration faacDecSetConfiguration
#define NeAACDecGetCurrentConfiguration faacDecGetCurrentConfiguration
#define NeAACDecInit faacDecInit
#define NeAACDecInit2 faacDecInit2
#define NeAACDecInitDRM faacDecInitDRM
#define NeAACDecPostSeekReset faacDecPostSeekReset
#define NeAACDecOpen faacDecOpen
#define NeAACDecClose faacDecClose
#define NeAACDecDecode faacDecDecode
#define NeAACDecAudioSpecificConfig AudioSpecificConfig
#endif
As I understand code, that looks like I should ifdef it out, but I'll try for
effects first before I replace the 1 with a 0, thanks Dex.
And while its slightly different, the end result is the same:
gcc -D_REENTRANT -D_FILE_OFFSET_BITS=64 -I/usr/local/include -Wall -Wmissing-declarations -Wdeclaration-after-statement -Wl,--rpath -Wl,/opt/gmerlin/lib -o .libs/bgavdump
bgavdump.o ../lib/.libs/libgmerlin_avdec.so -L/usr/local/lib /usr/local/lib/libgavl.so
/usr/lib/libavcodec.so.51: undefined reference to `faacDecDecode'
/usr/lib/libavcodec.so.51: undefined reference to `faacDecInit2'
/usr/lib/libavcodec.so.51: undefined reference to `faacDecClose'
/usr/lib/libavcodec.so.51: undefined reference to `faacDecOpen'
/usr/lib/libavcodec.so.51: undefined reference to `faacDecSetConfiguration'
/usr/lib/libavcodec.so.51: undefined reference to `faacDecInit'
/usr/lib/libavcodec.so.51: undefined reference to
`faacDecGetCurrentConfiguration'
/usr/lib/libavcodec.so.51: undefined reference to `faacDecGetErrorMessage'
collect2: ld returned 1 exit status
make[1]: *** [bgavdump] Error 1
make[1]: Leaving directory
`/opt/gmerlin-all-in-one-20080715/gmerlin_avdecoder/gmerlin-avdecoder-0.1.8/tests'
make: *** [all-recursive] Error 1
Compilation in gmerlin_avdecoder failed
I saw the word failed go by once in the middle of all that, so I'm running the
buildall.sh to a logfile so grep can find it. But that all takes time, so I'll
go ahead and submit this for further comments.
Well, that's all in the libfaad.so.0.0.0 file. An excerpt from "nm -D":
[root@prophead ~]# nm -D /usr/lib64/libfaad.so.0.0.0 | grep faac
0000003beb006dd0 T faacDecClose
0000003beb006dc0 T faacDecDecode
0000003beb006500 T faacDecGetCurrentConfiguration
0000003beb0064d0 T faacDecGetErrorMessage
0000003beb0070c0 T faacDecInit
0000003beb006ea0 T faacDecInit2
0000003beb0073f0 T faacDecOpen
0000003beb006520 T faacDecPostSeekReset
0000003beb007040 T faacDecSetConfiguration
[root@prophead ~]# rpm -qa | grep faad2
faad2-2.0-21.20050131.lvn8
[root@prophead ~]# rpm -ql faad2
/usr/bin/faad
/usr/lib64/libfaad.so.0
/usr/lib64/libfaad.so.0.0.0
/usr/share/doc/faad2-2.0
/usr/share/doc/faad2-2.0/AUTHORS
/usr/share/doc/faad2-2.0/COPYING
/usr/share/doc/faad2-2.0/ChangeLog
/usr/share/doc/faad2-2.0/NEWS
/usr/share/doc/faad2-2.0/README
/usr/share/doc/faad2-2.0/TODO
[root@prophead ~]# ls -l /usr/lib64/libfaad.so*
lrwxrwxrwx 1 root root 16 2008-02-25 16:59
/usr/lib64/libfaad.so.0 -> libfaad.so.0.0.0
-rwxr-xr-x 1 root root 289256 2007-10-18 00:00
/usr/lib64/libfaad.so.0.0.0
I don't have the -devel RPM installed. My guess is that it's trying
to link against the 32-bit library which you don't have installed.
You might try:
LDFLAGS="-L/usr/lib64 -lfaad2" make
to have it search the 64-bit stuff first. Just a wild idea.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer rps2@xxxxxxxx -
- Hosting Consulting, Inc. -
- -
- If your broker is so damned smart...why is he still working? -
----------------------------------------------------------------------
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list