Opened 5 years ago

Closed 5 years ago

#58929 closed defect (fixed)

ffmpeg won't build complains that it cannot find libtheora

Reported by: hellyj Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia), kencu (Ken), cjones051073 (Chris Jones)
Port: ffmpeg

Description (last modified by mf2k (Frank Schima))

-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid 
ERROR: libtheora not found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_ffmpeg/ffmpeg/work/ffmpeg-4.2" && ./configure --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid 
Exit code: 1
Error: Failed to configure ffmpeg: configure failure: command execution failed
DEBUG: Error code: NONE

Attachments (2)

ffmpeg.log (69.9 KB) - added by hellyj 5 years ago.
config.log (665.1 KB) - added by coditect (Nicholas Rawlings) 5 years ago.
I ran into the same problem a few minutes ago. This is my config.log

Download all attachments as: .zip

Change History (11)

Changed 5 years ago by hellyj

Attachment: ffmpeg.log added

comment:1 Changed 5 years ago by mf2k (Frank Schima)

In the future, please use WikiFormatting and add the port maintainer(s) to Cc (port info --maintainers ffmpeg), if any.

comment:2 Changed 5 years ago by mf2k (Frank Schima)

Cc: jeremyhu added
Description: modified (diff)
Keywords: ffmpeg removed
Owner: set to dbevans
Status: newassigned

comment:3 Changed 5 years ago by jmroot (Joshua Root)

As the message says, please attach ffbuild/config.log as well.

Changed 5 years ago by coditect (Nicholas Rawlings)

Attachment: config.log added

I ran into the same problem a few minutes ago. This is my config.log

comment:4 Changed 5 years ago by kamilpe

I have exact same problem

Version 0, edited 5 years ago by kamilpe (next)

comment:5 Changed 5 years ago by dbevans (David B. Evans)

Status: assignedaccepted

This is definitely a repeatable problem.

The pertinent lines from ffmpeg/config.log are these:

require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
check_lib libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
check_func_headers theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
test_ld cc -ltheoraenc -ltheoradec -logg
test_cc
BEGIN /opt/local/var/macports/build/_Volumes_MiniHD_opt_github.com_macports_macports-ports_multimedia_ffmpeg/ffmpeg/work/.tmp/ffconf.A8LNs42Y/test.c
    1   #include <theora/theoraenc.h>
    2   #include <stdint.h>
    3   long check_th_info_init(void) { return (long) th_info_init; }
    4   int main(void) { int ret = 0;
    5    ret |= ((intptr_t)check_th_info_init) & 0xFFFF;
    6   return ret; }
END /opt/local/var/macports/build/_Volumes_MiniHD_opt_github.com_macports_macports-ports_multimedia_ffmpeg/ffmpeg/work/.tmp/ffconf.A8LNs42Y/test.c
/usr/bin/clang -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I$(SRC_PATH)/compat/dispatch_semaphore -DPIC -pipe -Os -DHAVE_LRINTF -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -arch x86_64 -std=c11 -Werror=partial-availability -fomit-frame-pointer -fPIC -pthread -I/opt/local/include/p11-kit-1 -I/opt/local/include/ossp -I/opt/local/include/fribidi -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/libxml2 -I/opt/local/include/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/fribidi -I/opt/local/include/openjpeg-2.3 -I/opt/local/include/opus -I/opt/local/include/opus -D_REENTRANT -I/opt/local/include/librsvg-2.0 -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/libpng16 -I/opt/local/include/cairo -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1 -I/opt/local/include/ossp -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -c -o /opt/local/var/macports/build/_Volumes_MiniHD_opt_github.com_macports_macports-ports_multimedia_ffmpeg/ffmpeg/work/.tmp/ffconf.A8LNs42Y/test.o /opt/local/var/macports/build/_Volumes_MiniHD_opt_github.com_macports_macports-ports_multimedia_ffmpeg/ffmpeg/work/.tmp/ffconf.A8LNs42Y/test.c
In file included from /opt/local/var/macports/build/_Volumes_MiniHD_opt_github.com_macports_macports-ports_multimedia_ffmpeg/ffmpeg/work/.tmp/ffconf.A8LNs42Y/test.c:1:
In file included from /opt/local/include/theora/theoraenc.h:24:
In file included from /opt/local/include/ogg/ogg.h:24:
/opt/local/include/ogg/os_types.h:77:12: error: unknown type name 'uint16_t'
   typedef uint16_t ogg_uint16_t;
           ^
/opt/local/include/ogg/os_types.h:79:12: error: unknown type name 'uint32_t'
   typedef uint32_t ogg_uint32_t;
           ^
/opt/local/include/ogg/os_types.h:81:12: error: unknown type name 'uint64_t'
   typedef uint64_t ogg_uint64_t;
           ^
3 errors generated.
ERROR: libtheora not found

I'm guessing this is related to recent changes to the libogg port, not ffmpeg itself. Continuing to track down the exact cause. Thanks for the ticket.

comment:6 Changed 5 years ago by dbevans (David B. Evans)

Cc: kencu cjones051073 added

libogg was updated to version 1.3.4 yesterday followed by patches intended to make it build properly on older systems. I have confirmed that reverting libogg to version 1.3.3 allows ffmpeg to build properly. However, the newer version with or without patches is problematic. Copying authors of the recent commits for their input.

comment:7 Changed 5 years ago by kencu (Ken)

Aha. Thanks, Dave. Interesting.

See relevant discussion <https://trac.macports.org/ticket/58924>

comment:8 Changed 5 years ago by kencu (Ken)

the libogg devs change the include in ogg/os_types.h for some reason in v1.3.4.

It looks like this is having more widespread repercussions than expected!

They will probably have to revert the change, in time. In the meantime, reverting the change (more or less) in <ogg/os_types.h> to this:

+#  include <stdint.h>
#  include <sys/types.h>

fixes the build of libtheora.

There is something kind of strange going on here that we have not yet fully understood with the way <stdint.h> gets included...

Last edited 5 years ago by kencu (Ken) (previous) (diff)

comment:9 Changed 5 years ago by ken-cunningham-webuse

Resolution: fixed
Status: acceptedclosed

In f1acabfd8c3133b5bb10d3f4299937b8a9485842/macports-ports (master):

libogg: revert upstream patch

the change in header broke the build on older systems
and broke builds on newer systems as well

closes: #58933
closes: #58929
see: #58924

Note: See TracTickets for help on using tickets.