On 25 July 2016 at 12:18, lh mouse <[email protected]> wrote: > I have compiled ffmpeg with LDFLAGS='-static-libgcc -static-libstdc++' and > Stud_PE says ffmpeg.exe doesn't import anything from libitm, nor does it > import > anything from libstdc++, libgcc, libiconv, etc. > > It doesn't, by default, that's why I said that, to reproduce, you include static rubberband which does use libstdc++ with exceptions and that's what breaks FFmpeg linking.
Also, you have to run ffmpeg.exe in the build dir, through cmd.exe or powershell, preferably without /mingw64/bin being in PATH. These builds are for standalone distribution, not for msys2 users. > I also asked it on #mingw-w64 on OFTC and people said it seemed mere > undefined references instead of linking 64-bit and 32-bit code together. > > [18:03:22] <lh_mouse> ktietz, are you familiar with this error? > > C:/builds/ab/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.1.0\libstdc++.a(cow-stdexcept.o):(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x2c): > relocation truncated to fit: R_X86_64_PC32 against undefined symbol > `_ITM_RU1' > [18:13:57] <adrien> mooooooo > [18:15:34] <jon_y> lh_mouse: add -litm? > I did try this, didn't work. > [18:16:07] <jon_y> or maybe its a implicit declaration > [18:16:16] <lh_mouse> jon_y, this is a question that was sent to msys2 ML > yesterday. > [18:16:44] <jon_y> yeah, doublecheck the source > [18:16:46] <lh_mouse> I am curious about the 'relocation truncated' thing. > [18:17:01] <jon_y> thats noise > [18:17:10] <lh_mouse> :< > [18:17:14] <jon_y> more impotantly - undefined symbol `_ITM_RU1' > [18:18:23] <adrien> possibly a mix of libraries which are of different > bitnesses > [18:20:50] <lh_mouse> adrien, that was also my opinion. > [18:21:05] <lh_mouse> It _was_, at least yesterday. > [18:21:42] <jon_y> it probably prints something like that whenever there > is an undefined symbol > [18:23:18] <adrien> well, what's your command-line? > [18:23:55] <jturney> yeah, it something like a symbol which is 0 because > it's undefined would need to be truncated to fit in a 32-bit relocation > [18:24:36] <jturney> the fact that it's undefined is much more important :) > [18:26:19] <ktietz> lh_mouse this message looks like an undefined symbol > [18:26:52] <lh_mouse> so it sounds caused by undefined symbols in itm. > [18:27:01] <ktietz> pretty similar issues you can get, if you try to use > short code-model on x64 in some cases. but this seems not to be your issue > here > [18:27:21] <lh_mouse> it was not my issue... > [18:28:04] <ktietz> the issue here is the pseudo-relocation code. we need > to create symbols for aliases, which might lead to such messages > [18:29:13] <ktietz> there is a symbol, but sadly it isn't here for real > ... :/ > > It may have something to do with MSYS2's libitm but I am not sure. > Either libitm (which is where the undefined symbols are present) or because of weak references in libstdc++.a which maybe only get used properly if linking with g++ instead of gcc like FFmpeg and mpv use. Either way, it breaks builds and the patch fixes it. ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
