Hello everyone,
I’m working on a build for Trusty, both 32 and 64 bit. Now I’m stuck with the 64bit build. At first, makepanda can’t find libtiff - even if tiff.h is there. But more important is an issue with FFMPEG:
buildbot@buildbot-VirtualBox:~/panda3d-1.8.1$ python makepanda/makepanda.py --everything --no-gles --no-gles2 --threads 3
WARNING: Could not locate pkg-config package eigen3, excluding from build
Generating library cache...
WARNING: Could not locate thirdparty package artoolkit, excluding from build
WARNING: Could not locate thirdparty package fftw, excluding from build
WARNING: Could not locate thirdparty package tiff, excluding from build
WARNING: Could not locate thirdparty package vrpn, excluding from build
Generating dependencies...
[T1] Building Interrogate database built/pandac/input/libp3text.in
[T2] Building C++ object built/tmp/p3movies_composite1.o
[T3] Building C++ object built/tmp/p3movies_composite2.o
In file included from panda/src/movies/p3movies_composite2.cxx:3:0:
panda/src/movies/ffmpegVirtualFile.cxx: In member function ‘bool FfmpegVirtualFile::open_vfs(const Filename&)’:
panda/src/movies/ffmpegVirtualFile.cxx:123:68: error: ‘av_open_input_file’ was not declared in this scope
av_open_input_file(&_format_context, url.c_str(), NULL, 0, NULL);
^
panda/src/movies/ffmpegVirtualFile.cxx: In member function ‘bool FfmpegVirtualFile::open_subfile(const SubfileInfo&)’:
panda/src/movies/ffmpegVirtualFile.cxx:179:68: error: ‘av_open_input_file’ was not declared in this scope
av_open_input_file(&_format_context, url.c_str(), NULL, 0, NULL);
^
panda/src/movies/ffmpegVirtualFile.cxx: In member function ‘void FfmpegVirtualFile::close()’:
panda/src/movies/ffmpegVirtualFile.cxx:197:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1397) [-Wdeprecated-declarations]
av_close_input_file(_format_context);
^
panda/src/movies/ffmpegVirtualFile.cxx:197:40: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1397) [-Wdeprecated-declarations]
av_close_input_file(_format_context);
^
panda/src/movies/ffmpegVirtualFile.cxx: In static member function ‘static void FfmpegVirtualFile::register_protocol()’:
panda/src/movies/ffmpegVirtualFile.cxx:231:10: error: ‘URLProtocol’ does not name a type
static URLProtocol protocol;
^
panda/src/movies/ffmpegVirtualFile.cxx:232:3: error: ‘protocol’ was not declared in this scope
protocol.name = "pandavfs";
^
panda/src/movies/ffmpegVirtualFile.cxx:249:52: error: ‘av_register_protocol2’ was not declared in this scope
av_register_protocol2(&protocol, sizeof(protocol));
^
panda/src/movies/ffmpegVirtualFile.cxx: In static member function ‘static int FfmpegVirtualFile::pandavfs_open(URLContext*, const char*, int)’:
panda/src/movies/ffmpegVirtualFile.cxx:271:4: error: invalid use of incomplete type ‘struct URLContext’
h->priv_data = self;
^
In file included from panda/src/movies/ffmpegAudioCursor.h:26:0,
from panda/src/movies/ffmpegAudio.cxx:19,
from panda/src/movies/p3movies_composite2.cxx:1:
panda/src/movies/ffmpegVirtualFile.h:31:8: error: forward declaration of ‘struct URLContext’
struct URLContext;
^
In file included from panda/src/movies/p3movies_composite2.cxx:3:0:
panda/src/movies/ffmpegVirtualFile.cxx: In static member function ‘static int FfmpegVirtualFile::pandavfs_read(URLContext*, unsigned char*, int)’:
panda/src/movies/ffmpegVirtualFile.cxx:282:52: error: invalid use of incomplete type ‘struct URLContext’
FfmpegVirtualFile *self = (FfmpegVirtualFile *)(h->priv_data);
^
In file included from panda/src/movies/ffmpegAudioCursor.h:26:0,
from panda/src/movies/ffmpegAudio.cxx:19,
from panda/src/movies/p3movies_composite2.cxx:1:
panda/src/movies/ffmpegVirtualFile.h:31:8: error: forward declaration of ‘struct URLContext’
struct URLContext;
^
In file included from panda/src/movies/p3movies_composite2.cxx:3:0:
panda/src/movies/ffmpegVirtualFile.cxx: In static member function ‘static int64_t FfmpegVirtualFile::pandavfs_seek(URLContext*, int64_t, int)’:
panda/src/movies/ffmpegVirtualFile.cxx:324:52: error: invalid use of incomplete type ‘struct URLContext’
FfmpegVirtualFile *self = (FfmpegVirtualFile *)(h->priv_data);
^
In file included from panda/src/movies/ffmpegAudioCursor.h:26:0,
from panda/src/movies/ffmpegAudio.cxx:19,
from panda/src/movies/p3movies_composite2.cxx:1:
panda/src/movies/ffmpegVirtualFile.h:31:8: error: forward declaration of ‘struct URLContext’
struct URLContext;
^
In file included from panda/src/movies/p3movies_composite2.cxx:3:0:
panda/src/movies/ffmpegVirtualFile.cxx: In static member function ‘static int FfmpegVirtualFile::pandavfs_close(URLContext*)’:
panda/src/movies/ffmpegVirtualFile.cxx:365:4: error: invalid use of incomplete type ‘struct URLContext’
h->priv_data = 0;
^
In file included from panda/src/movies/ffmpegAudioCursor.h:26:0,
from panda/src/movies/ffmpegAudio.cxx:19,
from panda/src/movies/p3movies_composite2.cxx:1:
panda/src/movies/ffmpegVirtualFile.h:31:8: error: forward declaration of ‘struct URLContext’
struct URLContext;
^
In file included from panda/src/movies/p3movies_composite2.cxx:4:0:
panda/src/movies/ffmpegAudioCursor.cxx: In constructor ‘FfmpegAudioCursor::FfmpegAudioCursor(FfmpegAudio*)’:
panda/src/movies/ffmpegAudioCursor.cxx:55:38: error: ‘av_find_stream_info’ was not declared in this scope
if (av_find_stream_info(_format_ctx)<0) {
^
panda/src/movies/ffmpegAudioCursor.cxx:81:42: error: ‘avcodec_open’ was not declared in this scope
if(avcodec_open(_audio_ctx, pAudioCodec)<0) {
^
panda/src/movies/ffmpegAudioCursor.cxx: In member function ‘bool FfmpegAudioCursor::reload_buffer()’:
panda/src/movies/ffmpegAudioCursor.cxx:218:17: warning: ‘int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3608) [-Wdeprecated-declarations]
int len = avcodec_decode_audio3(_audio_ctx, _buffer, &bufsize, &pkt);
^
panda/src/movies/ffmpegAudioCursor.cxx:218:74: warning: ‘int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3608) [-Wdeprecated-declarations]
int len = avcodec_decode_audio3(_audio_ctx, _buffer, &bufsize, &pkt);
^
panda/src/movies/ffmpegAudioCursor.cxx: In member function ‘virtual void FfmpegAudioCursor::seek(double)’:
panda/src/movies/ffmpegAudioCursor.cxx:266:42: error: ‘avcodec_open’ was not declared in this scope
if(avcodec_open(_audio_ctx, pAudioCodec)<0) {
^
In file included from panda/src/movies/p3movies_composite2.cxx:5:0:
panda/src/movies/ffmpegVideoCursor.cxx: In member function ‘bool FfmpegVideoCursor::open_stream()’:
panda/src/movies/ffmpegVideoCursor.cxx:512:38: error: ‘av_find_stream_info’ was not declared in this scope
if (av_find_stream_info(_format_ctx) < 0) {
^
panda/src/movies/ffmpegVideoCursor.cxx:544:43: error: ‘avcodec_open’ was not declared in this scope
if (avcodec_open(_video_ctx, pVideoCodec) < 0) {
^
The following command returned a non-zero value: g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/p3movies_composite2.o -Ibuilt/tmp -Ibuilt/include -I/usr/include/python2.7 -DMAKEPANDA= -Ipanda/src/movies -pthread -msse2 -O2 -DBUILDING_PANDA panda/src/movies/p3movies_composite2.cxx
Storing dependency cache.
Elapsed Time: 5 sec
Build process aborting.
Build terminated.
I hope someone has a solution for this. Have a nice day!