Opened 6 years ago

Closed 6 years ago

#1829 closed defect (fixed)

cdio detection broken (by d9dfe9a5aef7e10821cbfdcf40f75f212a7a1da2 ?)

Reported by: nieder Owned by:
Priority: important Component: build system
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug: On OS X 10.7, using

../configure --prefix=/usr/local/ffmpeg-clang --samples=/src/ffmpeg/fate-suite --enable-shared --disable-static --enable-gpl --enable-version3 --enable-pthreads --enable-x11grab --enable-bzlib --enable-frei0r --enable-libass --enable-libbluray --enable-libcaca --enable-libcelt --enable-libcdio --enable-libfreetype --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-zlib --extra-cflags='-I/sw/include -I/usr/X11R6/include' --extra-ldflags='-L/sw/lib -L/usr/X11R6/lib' --cc=clang

This set of flags was working great until my last build on Oct 15.

Error:

../configure: eval: line 417: syntax error near unexpected token `-lcdio_cdda'
../configure: eval: line 417: `case -lcdio_paranoia -lcdio_cdda -lcdio in -l*) ;; *) echo -lcdio_paranoia -lcdio_cdda -lcdio ;; esac'
../configure: eval: line 409: syntax error near unexpected token `-lcdio_cdda'
../configure: eval: line 409: `case -lcdio_paranoia -lcdio_cdda -lcdio in -l*) echo -lcdio_paranoia -lcdio_cdda -lcdio ;; esac'
ERROR: libcdio not found

config.log has the following:

check_lib2 cdio/cdda.h cdio/paranoia.h cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio
check_func_headers cdio/cdda.h cdio/paranoia.h cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio
check_ld cc -lcdio_paranoia -lcdio_cdda -lcdio
check_cc
BEGIN /var/folders/82/fhqzp4416s9bzc53l4x_4djh0000gn/T//ffconf.7qXk5cQH.c
    1	#include <cdio/cdda.h>
    2	#include <cdio/paranoia.h>
    3	long check_cdio_cddap_open(void) { return (long) cdio_cddap_open; }
    4	int main(void) { return 0; }
END /var/folders/82/fhqzp4416s9bzc53l4x_4djh0000gn/T//ffconf.7qXk5cQH.c
clang -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -I/sw/include -I/usr/X11R6/include -std=c99 -fomit-frame-pointer -fPIC -I/sw/include -I/sw/include/fribidi -I/sw/include/freetype2 -c -o /var/folders/82/fhqzp4416s9bzc53l4x_4djh0000gn/T//ffconf.p2OosrZm.o /var/folders/82/fhqzp4416s9bzc53l4x_4djh0000gn/T//ffconf.7qXk5cQH.c
clang -L/sw/lib -L/usr/X11R6/lib -Wl,-dynamic,-search_paths_first -o /var/folders/82/fhqzp4416s9bzc53l4x_4djh0000gn/T//ffconf.RgdT1dPM /var/folders/82/fhqzp4416s9bzc53l4x_4djh0000gn/T//ffconf.p2OosrZm.o -lbluray -L/sw/lib -lass -lm -framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore -lbz2 -lz
Undefined symbols for architecture x86_64:
  "_cdio_cddap_open", referenced from:
      _check_cdio_cddap_open in ffconf.p2OosrZm.o
     (maybe you meant: _check_cdio_cddap_open)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ERROR: libcdio not found

nm says that symbol is present in /sw/lib/libcdio_cdda.0.0.3.dylib. However -lcdio_cdda (or any other of the the cdio lib flags) is not being added to the linker command --> undefined symbol error.

Git bisect points to 66a1ccd7467ab1913cd8877114c6d4c2588bb12f as the culprit. But towards the end of the bisect run, it starts giving errors that configure options are not recognized (Unknown option "--enable-libass"), which seems more like the bisect command got confused and left the tree in an unstable mode vs it being the actual culprit (though it might explain the syntax errors in the original failure).

Change History (2)

comment:1 Changed 6 years ago by cehoyos

  • Keywords regression added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open

Reproducible with:
$ ./configure --enable-libcdio --enable-gpl

comment:2 Changed 6 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed by Alexis Ballier.

Note: See TracTickets for help on using tickets.