Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#5747 closed defect (fixed)

Dirac decoder compilation fails on x64 when yasm is available

Reported by: hexeract Owned by:
Priority: normal Component: website
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

When compiling ffmpeg on MacOSX x64 and using yasm,
the linking fails with the following error:

STRIP	libavcodec/x86/vp9itxfm.o
AR	libavcodec/libavcodec.a
LD	ffmpeg_g
LD	ffprobe_g
Undefined symbols for architecture x86_64:
  "_ff_horizontal_compose_dd97i_ssse3", referenced from:
      _horizontal_compose_dd97i_ssse3 in libavcodec.a(dirac_dwt_init.o)
Undefined symbols for architecture x86_64:
  "_ff_horizontal_compose_dd97i_ssse3", referenced from:
      _horizontal_compose_dd97i_ssse3 in libavcodec.a(dirac_dwt_init.o)
  "_ff_horizontal_compose_haar0i_sse2", referenced from:
      _horizontal_compose_haar0i_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_horizontal_compose_haar0i_sse2", referenced from:
      _horizontal_compose_haar0i_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_horizontal_compose_haar1i_sse2", referenced from:
      _horizontal_compose_haar1i_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_horizontal_compose_haar1i_sse2", referenced from:
      _horizontal_compose_haar1i_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose53iL0_sse2", referenced from:
      _vertical_compose53iL0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose53iL0_sse2", referenced from:
      _vertical_compose53iL0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_dd137iL0_sse2", referenced from:
      _vertical_compose_dd137iL0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_dd137iL0_sse2", referenced from:
      _vertical_compose_dd137iL0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_dd97iH0_sse2", referenced from:
      _vertical_compose_dd97iH0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_dd97iH0_sse2", referenced from:
      _vertical_compose_dd97iH0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_dirac53iH0_sse2", referenced from:
      _vertical_compose_dirac53iH0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_dirac53iH0_sse2", referenced from:
      _vertical_compose_dirac53iH0_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_haar_sse2", referenced from:
      _vertical_compose_haar_sse2 in libavcodec.a(dirac_dwt_init.o)
  "_ff_vertical_compose_haar_sse2", referenced from:
      _vertical_compose_haar_sse2 in libavcodec.a(dirac_dwt_init.o)
ld: symbol(s) not found for architecture x86_64
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffprobe_g] Error 1
make: *** Waiting for unfinished jobs....
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffmpeg_g] Error 1

How to reproduce:

mkdir /tmp/ffmpeg-build
cd $HOME/Downloads

curl -LO http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzpf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix=/tmp/ffmpeg-build/
make -j 8
make install

export PATH=/tmp/ffmpeg-build/bin:$PATH

curl -LO http://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjpf ffmpeg-snapshot.tar.bz2
cd ffmpeg 
./configure  --prefix=/tmp/ffmpeg-build \
             --enable-static \
             --disable-shared \
             --disable-doc 
make -j 4

Attachments (1)

makefile.output (46.3 KB) - added by hexeract 3 years ago.
Output of make command

Download all attachments as: .zip

Change History (3)

Changed 3 years ago by hexeract

Output of make command

comment:1 Changed 3 years ago by cehoyos

  • Component changed from ffmpeg to undetermined
  • Resolution set to worksforme
  • Status changed from new to closed

I can neither reproduce with new nor old yasm on osx.
Please test nm libavcodec/x86/dirac_dwt.o, it shows all symbols here that are missing for you.

comment:2 Changed 3 years ago by cehoyos

  • Component changed from undetermined to website
  • Resolution changed from worksforme to fixed

This was fixed today, thank you for the report!
http://ffmpeg.org/pipermail/ffmpeg-devel/2016-August/197362.html

Note: See TracTickets for help on using tickets.