Comments (11)
which version of Libav are you using?
Please use release 9 and do test the audio branch.
On Tue, Jun 25, 2013 at 6:38 PM, Dick Thomas [email protected]:
when i try and build i get the following
xpd259@mars:~/workspace/apps/Blackmagic DeckLink SDK
9.7.1/Linux/Samples/bmdtools$ make
g++ -o bmdcapture bmdcapture.cpp ../../include/DeckLinkAPIDispatch.cpp
-Wno-multichar -I ../../include -fno-rtti -D__STDC_CONSTANT_MACROS -g -lm
-ldl -lpthread pkg-config --libs libavformat libswscale
bmdcapture.cpp:194:61: error: use of enum ‘AVCodecID’ without previous
declaration
bmdcapture.cpp: In function ‘AVStream* add_audio_stream(AVFormatContext_,
int)’:
bmdcapture.cpp:207:21: error: invalid conversion from ‘int’ to ‘CodecID’
[-fpermissive]
bmdcapture.cpp: At global scope:
bmdcapture.cpp:234:61: error: use of enum ‘AVCodecID’ without previous
declaration
bmdcapture.cpp: In function ‘AVStream_ add_video_stream(AVFormatContext_,
int)’:
bmdcapture.cpp:247:21: error: invalid conversion from ‘int’ to ‘CodecID’
[-fpermissive]
bmdcapture.cpp:264:21: error: ‘AV_CODEC_ID_V210’ was not declared in this
scope
bmdcapture.cpp: In function ‘int main(int, char__)’:
bmdcapture.cpp:846:51: error: ‘AV_CODEC_ID_RAWVIDEO’ was not declared in
this scope
bmdcapture.cpp:846:74: error: ‘AV_CODEC_ID_V210’ was not declared in this
scope
bmdcapture.cpp:847:59: error: ‘AV_CODEC_ID_PCM_S16LE’ was not declared in
this scope
bmdcapture.cpp:847:83: error: ‘AV_CODEC_ID_PCM_S32LE’ was not declared in
this scope
make: *_* [bmdcapture] Error 1is this because i'm using debian Jessie/Testing?
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/17
.
from bmdtools.
Honestly I've not a clue how to use/install dev libs like that but... its in experimental so I will reopen the bug when the package is in testing so I can test it without breaking my "work" machine
I also found a pre-compiled version of BMDTools so I will use them until I can "roll" my own and package it for debian
but thanks you for your quick reply
from bmdtools.
I've now made a virtual machine and installed what looks like libavformat9.6-2
and changed to the audio branch and I'm now getting a new error
root@debian:/home/xpd259/Blackmagic DeckLink SDK 9.7.1/Linux/Samples/bmdtools# aptitude -t experimental install libavformat-dev
The following NEW packages will be installed:
libavcodec-dev{a} libavformat-dev
0 packages upgraded, 2 newly installed, 0 to remove and 159 not upgraded.
Need to get 0 B/3,332 kB of archives. After unpacking 12.5 MB will be used.
Do you want to continue? [Y/n/?]
Selecting previously unselected package libavcodec-dev.
(Reading database ... 28621 files and directories currently installed.)
Unpacking libavcodec-dev (from .../libavcodec-dev_6%3a9.6-2_amd64.deb) ...
Selecting previously unselected package libavformat-dev.
Unpacking libavformat-dev (from .../libavformat-dev_6%3a9.6-2_amd64.deb) ...
Setting up libavcodec-dev (6:9.6-2) ...
Setting up libavformat-dev (6:9.6-2) ...
xpd259@debian:/home/xpd259/Blackmagic DeckLink SDK 9.7.1/Linux/Samples/bmdtools# make
g++ -o bmdcapture bmdcapture.cpp ../../include/DeckLinkAPIDispatch.cpp -Wno-multichar -I ../../include -fno-rtti -D__STDC_CONSTANT_MACROS -g -lm -ldl -lpthread pkg-config --libs libavformat libswscale
/usr/bin/ld: /tmp/ccQ6wXni.o: undefined reference to symbol 'avcodec_open2@@LIBAVCODEC_54'
/usr/lib/x86_64-linux-gnu/libavcodec.so.54: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [bmdcapture] Error 1
xpd259@debian:/home/xpd259/Blackmagic DeckLink SDK 9.7.1/Linux/Samples/bmdtools#
from bmdtools.
What about error with usage of the libavformat9.6-2. First of all do check if avcodec_open2
symbol exists in the libavcodec.so
library which installed in the system by the next command nm -D /usr/lib/x86_64-linux-gnu/libavcodec.so.54 | grep avcodec_open2
. If it does then try to change pkg-config --libs libavformat libswscale
to pkg-config --libs libavutil libavcodec libavformat libswscale
in the Makefile. If it does not then you have to use another version of the libav
.
from bmdtools.
okay I've got libavformat 9 built in a neighbouring dir
with ./configure --enable-nonfree & make
I don't want to do a sudo make install on the libs as that killed my Debian system
but I've not a clue how to get make in bmdtools dir to link to my local plain9
from bmdtools.
edit the makefile and/or define the pkg config environment variables.
On Mon, Jul 15, 2013 at 9:42 AM, Dick Thomas [email protected]:
okay I've got libavformat 9 built in a neighbouring dir
with ./configure --enable-nonfree & make
I don't want to do a sudo make install on the libs as that killed my
Debian system
but I've not a clue how to get make in bmdtools dir to link to my local
plain9—
Reply to this email directly or view it on GitHubhttps://github.com//issues/17#issuecomment-20955480
.
from bmdtools.
Try the latest commit please.
from bmdtools.
Some time ago I had same problem (now fixed in the last commit). I was getting the next error
$ make
g++ -o bmdcapture bmdcapture.cpp ../../include/DeckLinkAPIDispatch.cpp pkg-config --cflags libavformat libswscale
-D__STDC_CONSTANT_MACROS -Wno-multichar -I ../../include -fno-rtti -g pkg-config --libs libavformat libswscale
-lm -ldl -lpthread
/usr/bin/ld: /tmp/ccDWj8KM.o: undefined reference to symbol 'avcodec_open2@@LIBAVCODEC_55'
/usr/bin/ld: note: 'avcodec_open2@@LIBAVCODEC_55' is defined in DSO /usr/local/lib/libavcodec.so.55 so try adding it to the linker command line
/usr/local/lib/libavcodec.so.55: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [bmdcapture] Error 1
But with the last version I'm getting another error
$ make
g++ -o bmdcapture bmdcapture.cpp ../../include/DeckLinkAPIDispatch.cpp pkg-config --cflags libavcodec libavformat libswscale
-D__STDC_CONSTANT_MACROS -Wno-multichar -I ../../include -fno-rtti -g pkg-config --libs libavcodec libavformat libswscale
-lm -ldl -lpthread
/usr/bin/ld: /tmp/ccRSYcCe.o: undefined reference to symbol 'av_malloc@@LIBAVUTIL_52'
/usr/bin/ld: note: 'av_malloc@@LIBAVUTIL_52' is defined in DSO /usr/local/lib/libavutil.so.52 so try adding it to the linker command line
/usr/local/lib/libavutil.so.52: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [bmdcapture] Error 1
And this problem can can be fixed by adding libavutil
to the PKG_DEPS
list in the Makefile
for me. Similar as I have told here
from bmdtools.
Speaking about that problem I can propose the next solution.
First of all build libav
with some prefix and install it, on example
./configure --enable-nonfree --prefix=/home/user/bmdtools && make && make install
after that libav
will be installed to the /home/user/bmdtools/{bin, lib, include, share}
locations.
The next step is modify bmdtools
Makefile. After
bindir ?= $(prefix)/bin
add the next lines
libdir ?= $(prefix)/lib
ifeq ($(origin PKG_CONFIG_LIBDIR), undefined)
export PKG_CONFIG_LIBDIR=$(libdir)/pkgconfig
endif
and make bmdtools
with prefix you've defined for the libav
, on example
make prefix=/home/user/bmdtools
but if you don't want install bmdtools
to the location which starts with prefix
, you can add path used as libav
prefix in the bmdtools
Makefile or execute as command before run make
export PKG_CONFIG_LIBDIR=/home/user/bmdtools/lib/pkgconfig
UPD: Seems that case was already discussed there #14 and proposed to use export PKG_CONFIG_PATH=/home/user/bmdtools/lib/pkgconfig
instead of export PKG_CONFIG_LIBDIR=/home/user/bmdtools/lib/pkgconfig
from bmdtools.
Thanks untergrundbahn, I solve problem changing Makefile file and building libav with prefix.
Also, there is no prefix option in make, so in Makefile should be full path to libdir.
BTW. I'm on CentOS
from bmdtools.
You're right, it's my mistake, because make prefix=/home/user/bmdtools
should be used instead of make --prefix=/home/user/bmdtools
for make bmdtools
. Also in such way you can specify bindir
and libdir
in command line.
from bmdtools.
Related Issues (20)
- bmdplay looses the time of buffering
- memlimit is ignored. HOT 2
- How to install libfdk-acc-dev ?
- bmdplay.cpp setting connections
- Makefile:58: recipe for target 'bmdcapture' failed HOT 3
- Segmentation Fault: 11 for bmdcapture
- Document how to build on windows HOT 2
- bmdplay interlace video format problem HOT 1
- AVCodecParameters HOT 1
- Multiple Concurrent Captures on Decklink Duo 2 fail on some interfaces HOT 2
- bmdplay 1080p25 problem HOT 2
- Multiple Captures on Single Interface HOT 6
- Can't get HDMI input to work. Colour bars only. HOT 2
- "This application requires the DeckLink drivers installed" error when running bmdcapture HOT 1
- bmdplay: Would it be possible to use streams without audio? HOT 9
- Question about multiple pipe with bmdplay HOT 1
- Make bmdplay pass input option
- Do not crash if the file does not exist
- Pause / Resume for Bmdplay HOT 3
- Is the input faster than realtime?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bmdtools.