Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] libavformat\file:Fix duplicate JNI symbols
@ 2024-03-23 19:05 admin
  2024-03-24  2:16 ` Zhao Zhili
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: admin @ 2024-03-23 19:05 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: 联盟少侠

From: 联盟少侠 <admin@shaoxia.xyz>

The errors indicate that there are multiple definitions of several JNI (Java Native Interface) symbols in the FFmpeg library. Specifically, the linker ld.lld has found duplicate definitions for the following symbols:

- ff_jni_get_env
- ff_jni_jstring_to_utf_chars
- ff_jni_utf_chars_to_jstring
- ff_jni_exception_get_summary
- ff_jni_exception_check
- ff_jni_init_jfields
- ff_jni_reset_jfields

These symbols are defined in both libavcodec.a and libavformat.a archives, leading to conflicts during the linking process. The duplicates are found in the same source file ffjni.c, but they are being compiled into two different static libraries.

To resolve these errors, ensure that each symbol is defined only once across all linked libraries, or if these symbols are required in both libraries, they should be marked as weak symbols to allow the linker to handle them appropriately. Additionally, check for any build script misconfigurations that may be causing the same file to be included in multiple libraries.
---
 libavformat/file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/file.c b/libavformat/file.c
index dd5819c..fa13ae9 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -43,7 +43,7 @@
 #if CONFIG_ANDROID_CONTENT_PROTOCOL
 #include <jni.h>
 #include "libavcodec/jni.h"
-#include "libavcodec/ffjni.c"
+#include "libavcodec/ffjni.h"
 #endif
 
 
-- 
2.41.0.windows.3

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-03-24 14:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-23 19:05 [FFmpeg-devel] [PATCH] libavformat\file:Fix duplicate JNI symbols admin
2024-03-24  2:16 ` Zhao Zhili
2024-03-24  4:09   ` Zhao Zhili
2024-03-24  5:17 ` [FFmpeg-devel] [PATCH] avcodec, avformat/ffjni: fix " Leo Izen
2024-03-24 13:19   ` Matthieu Bouron
2024-03-24 13:23 ` [FFmpeg-devel] [PATCH] libavformat\file:Fix " Andreas Rheinhardt
2024-03-24 14:59   ` Zhao Zhili

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git