On Wednesday 23 July 2008, Rick Stevens wrote: >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. Too wild I think, this is a 32 bit machine, amd xp2800 TBE. But: yumex says faad2 is installed, but locate can't find it! Mm, its libraries are not labeled faad2, just libfaad. And nm -D returns this: [root@coyote gmerlin-all-in-one-20080715]# nm -D /usr/lib/libfaad.so.0.0.0 | grep faac 4948c170 T faacDecClose 4948c140 T faacDecDecode 4948b740 T faacDecGetCurrentConfiguration 4948b700 T faacDecGetErrorMessage 4948c460 T faacDecInit 4948c240 T faacDecInit2 4948c820 T faacDecOpen 4948b760 T faacDecPostSeekReset 4948c3d0 T faacDecSetConfiguration So it is all there. Me goes off scratching head in confusion. Thanks Rick. Any more ideas? -- Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Support Bingo, keep Grandma off the streets. -- fedora-list mailing list fedora-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list