[Vorbis] compile error
Jim Worrall
coniophora at gmail.com
Sun Apr 21 14:27:49 PDT 2013
On 2013 Apr 21, at 10:09 AM, Jim Worrall <coniophora at gmail.com> wrote:
>
> On 2013 Apr 21, at 10:03 AM, Jim Worrall <coniophora at gmail.com> wrote:
>
>>
>> On 2013 Apr 21, at 5:16 AM, Joshua Root <josh+xiph at root.id.au> wrote:
>>
>>> On 2013-4-21 12:02 , Jim Worrall wrote:
>>>>
>>>> I tried without a --build= statement and with --build=x86_64-apple-darwin12.3.0. With no build statement, some key lines in the libvorbis config.log say:
>>>>
>>>> configure:2328: checking build system type
>>>> configure:2342: result: i386
>>>>
>>>> If I use --build=x86_64-apple-darwin12.3.0, I get
>>>>
>>>> configure:2328: checking build system type
>>>> configure:2342: result: x86_64-apple-darwin12.3.0
>>>
>>> Older config.guess versions will report i386 on some x86_64 Macs. It's
>>> often not a problem since the build_cpu variable set by autoconf is
>>> often unused. If there's a problem it tends to be in the form of a
>>> compilation failure (due to e.g. the wrong kind of inline asm being used).
>>>
>>>> Both times ffmpeg would error out claiming libvorbis was not found, although libvorbis gets built in both cases. The ffmpeg config.log seems to suggest it is still something wrong with the architecture. In both cases it says:
>>>>
>>>> Undefined symbols for architecture x86_64:
>>>> "_vorbis_info_init", referenced from:
>>>> _main in ffconf.sFaFW4NZ.o
>>>> ld: symbol(s) not found for architecture x86_64
>>>> collect2: ld returned 1 exit status
>>>> ERROR: libvorbis not found
>>>
>>> Can't be sure without seeing the actual command being run, but it looks
>>> like it's not linking with libvorbis. The "for architecture x86_64"
>>> phrasing doesn't mean it's necessarily anything to do with mismatched
>>> architectures, the linker just reports errors on a per-architecture
>>> basis because you could be building for multiple architectures at once.
>>>
>>> - Josh
>>
>> Well, ffmpeg builds just fine if I remove --enable-libvorbis from the ffmpeg command line. In case you can see something obvious, I'd be grateful if you could check the command line (here without --enable-libvorbis):
>>
>> ./configure --prefix=${TARGET} --enable-nonfree --enable-gpl --enable-hardcoded-tables --enable-libvo-aacenc --enable-version3 --enable-libmp3lame --enable-libx264 --enable-libgsm --enable-avfilter --enable-filters --enable-libtheora --enable-libspeex --disable-indevs --disable-outdevs --disable-ffserver --disable-network && make -j 4 && make install
>>
>> earlier in the script is "export CC=clang"
>>
>> Jim
>>
>
> Oops, I omitted these flags that come before the configure command. I don't understand them, but I guess one of them has to do with linking, which you mentioned.
>
> export LDFLAGS="-L${TARGET}/lib $CFLAGS"
> export CFLAGS="-I${TARGET}/include $LDFLAGS"
OK, case closed. Unfortunately I'm not sure what fixed it. I deleted Xcode and the command-line tools, then installed only the command-line tools without Xcode (Command Line Tools (OS X Mountain Lion) for Xcode - April 2013 https://developer.apple.com/downloads/index.action#). I also installed some tools that seem to be needed by some packages but don't come with the Command Line Tools (autoconf, automake and libtool and related tools, https://gist.github.com/jellybeansoup/4192307). Then I was able to compile ffmpeg with libvorbis in it.
Thanks for your help!
Jim
More information about the Vorbis
mailing list