#2016: undefined reference to `opj_version' -------------------------------------+------------------------------------- Reporter: KSHawkEye | Owner: Type: defect | Status: new Priority: important | Component: Version: git- | undetermined master | Keywords: openjpeg Blocked By: | Blocking: Reproduced by developer: 0 | Analyzed by developer: 0 -------------------------------------+------------------------------------- I'm trying to compile the latest FFmpeg git with openjpeg 2.0.0 but keep getting an undefined reference to opj_version. I have already asked for help with this issue here: [http://code.google.com/p/openjpeg/issues/detail?id=200] Here: [http://sourceforge.net/mailarchive/message.php?msg_id=30209438] And one of my users on my forum posted about it here: [http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=5&t=674&hilit=opj_version] I think openjpeg is failing to compile in static and is searching for some .dll file when FFmpeg tries to link to it. Some code that ''does'' compile with opj_version is: {{{ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <openjpeg.h> int main(void) { printf("OPJ2 version is %s\n",opj_version()); return 0; } }}} Though I have no idea why that succeeds, and FFmpeg's test code: {{{ extern int opj_version(); int main(void){ opj_version(); } }}} fails. This command: $ i686-w64-mingw32-nm ./libopenjp2.a | grep opj_version Returns: 00000228 T _opj_version@0 So it looks like it is in the lib, but just keeps failing. Openjpeg 2.0.0 compiled without error. It also looks like FFmpeg is trying to test the lib with: {{{ BEGIN /tmp/ffconf.ns4yWT3Y.c 1 extern int opj_version(); 2 int main(void){ opj_version(); } END /tmp/ffconf.ns4yWT3Y.c i686-w64-mingw32-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U__STRICT_ANSI__ -std=c99 -fomit-frame-pointer -c -o /tmp/ffconf.ohUKczd4.o /tmp/ffconf.ns4yWT3Y.c i686-w64-mingw32-gcc -Wl,--as-needed -o /tmp/ffconf.hJciF3wT.exe /tmp/ffconf.ohUKczd4.o -lopenjpeg -lm -lz /tmp/ffconf.ohUKczd4.o:ffconf.ns4yWT3Y.c:(.text+0xc): undefined reference to `opj_version' collect2: error: ld returned 1 exit status ERROR: libopenjpeg not found }}} I'm happy to provide any further needed information to help get this fixed. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2016> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker