[FFmpeg-trac] #2016(undetermined:new): undefined reference to `opj_version'
FFmpeg
trac at avcodec.org
Wed Dec 12 05:24:38 CET 2012
#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 at 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
More information about the FFmpeg-trac
mailing list