On 10/13/2017 1:05 PM, Reino Wijnsma wrote: > On 13-10-2017 0:27, James Almer <jamr...@gmail.com> wrote: >> On 10/12/2017 6:42 PM, Reino Wijnsma wrote: >>> On 12-10-2017 20:11, Helmut K. C. Tessarek <tessa...@evermeet.cx> wrote: >>>> I'm not sure why you guys have to make all these changes to the build >>>> process lately. >>>> >>>> All of a sudden ffmpeg does not compile anymore. During configure I get: >>>> >>>> ERROR: libbluray not found using pkg-config >>>> >>>> which worked perfectly 2 days ago. So, whatever changes you made, they >>>> screwed up other things. >>> Same here. I was about to compile another FFmpeg executable, but got >>> configure complaining about libbluray as well (note: I always use >>> --pkg-config-flags=--static). >>> I've worked around that by changing the pc-file >>> >>> prefix=/cygdrive/[...] >>> exec_prefix=${prefix} >>> libdir=${exec_prefix}/lib >>> includedir=${prefix}/include >>> >>> Name: libbluray >>> Description: library supporting Blu-ray playback >>> Version: 1.0.1 >>> Libs: -L${libdir} -lbluray >>> Libs.private: -L/cygdrive/[...]/lib -lxml2 -L/cygdrive/[...]/lib >>> -lfreetype -lgdi32 >>> Cflags: -I${includedir} >>> >>> ...into: >>> >>> prefix=/cygdrive/[...] >>> exec_prefix=${prefix} >>> libdir=${exec_prefix}/lib >>> includedir=${prefix}/include >>> >>> Name: libbluray >>> Description: library supporting Blu-ray playback >>> Version: 1.0.1 >>> Requires: libxml-2.0, freetype2 >>> Libs: -L${libdir} -lbluray >>> Libs.private: -lgdi32 >>> Cflags: -I${includedir} >> Thanks a lot! You confirmed what i suspected. >> >> Guess we'll have to get libbluray to change their .pc file. >> >>> Next however was iLBC. I got "undefined reference to `pthread_once'" and >>> "ERROR: libilbc not found". I had to add --extra-libs=-lpthread to 'fix' >>> that. >>> >>> Now it's complaining about libmysofa: >>> >>> /cygdrive/[...]/lib/libmysofa.a(gunzip.c.obj):gunzip.c:(.text+0x5f): >>> undefined reference to `inflateInit_' >>> /cygdrive/[...]/lib/libmysofa.a(gunzip.c.obj):gunzip.c:(.text+0x76): >>> undefined reference to `inflate' >>> /cygdrive/[...]/lib/libmysofa.a(gunzip.c.obj):gunzip.c:(.text+0x8a): >>> undefined reference to `inflateEnd' >>> collect2: error: ld returned 1 exit status >>> ERROR: libmysofa not found >> Does libmysofa have a pkg-config file? Otherwise, guess i'll have to add >> -lz to its extralibs. > No, it does not. However,... > > enabled libmysofa && require libmysofa "mysofa.h" mysofa_load > -lmysofa -lz > > appending "-lz" here fixes the issue for me.
Yes, i fixed it this way earlier today. > > > Next in line is libopenmpt. A LONG list of error-messages, saved and > attached as '/config_libopenmpt.log/'. > Also notice the warning on line 19 and the GCC 7.2.0 > undefined-reference-messages on line 134 and 135 for instance. > My '/libopenmpt.pc/' looks like: > > prefix=/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32 > exec_prefix=${prefix} > includedir=${prefix}/include > libdir=${exec_prefix}/lib > > Name: libopenmpt > Description: Tracker module player based on OpenMPT > Version: 0.3.1+release.autotools > Requires.private: zlib libmpg123 ogg vorbis vorbisfile > Libs: -L${libdir} -lopenmpt > Libs.private: > Cflags: -I${includedir} > > -- Reino > > > config_libopenmpt.log > > > [...] > require_pkg_config libopenmpt libopenmpt >= 0.2.6557 libopenmpt/libopenmpt.h > openmpt_module_create > use_pkg_config libopenmpt libopenmpt >= 0.2.6557 libopenmpt/libopenmpt.h > openmpt_module_create > check_pkg_config libopenmpt libopenmpt >= 0.2.6557 libopenmpt/libopenmpt.h > openmpt_module_create > pkg-config --exists --print-errors libopenmpt >= 0.2.6557 > check_func_headers libopenmpt/libopenmpt.h openmpt_module_create > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -L/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib > -lopenmpt -lz -lmpg123 -lvorbisfile -lvorbis -lm -logg > check_ld cc > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -L/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib > -lopenmpt -lz -lmpg123 -lvorbisfile -lvorbis -lm -logg > check_cc > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -L/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib > BEGIN /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.c > 1 #include <libopenmpt/libopenmpt.h> > 2 #include <stdint.h> > 3 long check_openmpt_module_create(void) { return (long) > openmpt_module_create; } > 4 int main(void) { int ret = 0; > 5 ret |= ((intptr_t)check_openmpt_module_create) & 0xFFFF; > 6 return ret; } > END /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.c > /cygdrive/[...]/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc > -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1 -D__printf__=__gnu_printf__ > -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -march=pentium3 -O2 > -mfpmath=sse -msse -DCACA_STATIC -DLIBTWOLAME_STATIC -march=pentium3 -O2 > -mfpmath=sse -msse -std=c11 -fomit-frame-pointer -pthread > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -DLIBXML_STATIC > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/freetype2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/libxml2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/fribidi > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/freetype2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -DLIBXML_STATIC > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/libxml2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/freetype2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/bs2b > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -DLIBXML_STATIC > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/freetype2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/libxml2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/freetype2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/freetype2 > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/fribidi > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -L/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib -c -o > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.o > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.c > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.c: In function > 'check_openmpt_module_create': > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.c:3:1: warning: > 'openmpt_module_create' is deprecated [-Wdeprecated-declarations] > long check_openmpt_module_create(void) { return (long) > openmpt_module_create; } > ^~~~ > In file included from > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.c:1:0: > /cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include/libopenmpt/libopenmpt.h:645:55: > note: declared here > LIBOPENMPT_API LIBOPENMPT_DEPRECATED openmpt_module * openmpt_module_create( > openmpt_stream_callbacks stream_callbacks, void * stream, openmpt_log_func > logfunc, void * loguser, const openmpt_module_initial_ctl * ctls ); > ^~~~~~~~~~~~~~~~~~~~~ > /cygdrive/[...]/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc > -Wl,--large-address-aware -Wl,--nxcompat,--dynamicbase -Wl,--as-needed > -Wl,--pic-executable,-e,_mainCRTStartup > -I/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/include > -L/cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib -o > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.exe > /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.f7SNCo4C/test.o -lopenmpt -lz > -lmpg123 -lvorbisfile -lvorbis -lm -logg -lshlwapi -lpthread -lcrypt32 So in here it's including the libraries libopenmpt.pc said it needed (using pkg-config --static). Are "-lshlwapi -lpthread -lcrypt32" extralibs you added manually, or were they derived from dependencies like libmpg123, vorbis, etc by pkg-config? Also, all the errors below mention functions from the c++ standard library, so it looks like libopenmpt.pc should be including -lstdc++ in Libs.private but it doesn't? I see that libopempt depends on PortAudiocpp to build, so i'm guessing that's indeed the case. See if adding -lstdc++ fixes it. If it does then it means that, before the commit that introduced these issues, a previous library you requested (maybe libgme) added -lstdc++ to the global ldflags. It would for that matter help a lot if you post the exact configure line you're using. > /cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib/libopenmpt.a(libopenmpt_la-libopenmpt_c.o): > In function > `ZN7openmpt6helper11make_uniqueINS_14logfunc_loggerEJPFvPKcPvERS5_EEESt10unique_ptrIT_St14default_deleteISA_EEDpOT0_': > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_impl.hpp:200: > undefined reference to `__gxx_personality_sj0' > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_impl.hpp:201: > undefined reference to `operator new(unsigned int)' > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_impl.hpp:201: > undefined reference to `operator delete(void*, unsigned int)' > /cygdrive/[...]/cross_compilers/mingw-w64-i686/i686-w64-mingw32/lib/libopenmpt.a(libopenmpt_la-libopenmpt_c.o): > In function `set_current_speed': > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_c.cpp:1448: > undefined reference to `__gxx_personality_sj0' > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_c.cpp:1453: > undefined reference to `__cxa_begin_catch' > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_c.cpp:1453: > undefined reference to `__cxa_end_catch' > /cygdrive/[...]/win32/libopenmpt-0.3.1+release.autotools/libopenmpt/libopenmpt_c.cpp:1453: > undefined reference to `__cxa_end_catch' _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel