navcodec icon indicating copy to clipboard operation
navcodec copied to clipboard

Ubuntu 15.04 (Vivid) Install Issue

Open nickwebha opened this issue 9 years ago • 2 comments

I am trying to install on Ubuntu 15.04 (sudo npm install navocdec) but I keep getting the following:

> [email protected] install /home/nick/test/nodejs/node_modules/navcodec
> node-gyp rebuild

make: Entering directory '/home/nick/test/nodejs/node_modules/navcodec/build'
  CXX(target) Release/obj.target/navcodec/src/navcodec.o
  CXX(target) Release/obj.target/navcodec/src/navcodeccontext.o
  CXX(target) Release/obj.target/navcodec/src/navframe.o
../src/navframe.cpp: In destructor ‘virtual NAVFrame::~NAVFrame()’:
../src/navframe.cpp:35:3: warning: ‘void avcodec_free_frame(AVFrame**)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3220) [-Wdeprecated-declarations]
   avcodec_free_frame(&pContext);
   ^
../src/navframe.cpp:35:31: warning: ‘void avcodec_free_frame(AVFrame**)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3220) [-Wdeprecated-declarations]
   avcodec_free_frame(&pContext);
                               ^
  CXX(target) Release/obj.target/navcodec/src/navformat.o
../src/navformat.cpp: In function ‘int decodeFrame(AVFormatContext*, unsigned int, StreamFrame*, Baton*)’:
../src/navformat.cpp:110:33: warning: ‘AVFrame::owner’ is deprecated (declared at /usr/include/libavutil/frame.h:361) [-Wdeprecated-declarations]
         streamFrames[i].pFrame->owner = pStream->codec;
                                 ^
../src/navformat.cpp:110:33: warning: ‘AVFrame::owner’ is deprecated (declared at /usr/include/libavutil/frame.h:361) [-Wdeprecated-declarations]
../src/navformat.cpp: In static member function ‘static v8::Handle<v8::Value> NAVFormat::Decode(const v8::Arguments&)’:
../src/navformat.cpp:350:30: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3195) [-Wdeprecated-declarations]
     streamFrames[i].pFrame = avcodec_alloc_frame();
                              ^
../src/navformat.cpp:350:50: warning: ‘AVFrame* avcodec_alloc_frame()’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3195) [-Wdeprecated-declarations]
     streamFrames[i].pFrame = avcodec_alloc_frame();
                                                  ^
  CXX(target) Release/obj.target/navcodec/src/navstream.o
../src/navstream.cpp: In static member function ‘static v8::Handle<v8::Value> NAVStream::New(AVStream*)’:
../src/navstream.cpp:69:15: error: ‘AVStream’ has no member named ‘r_frame_rate’
   if(pStream->r_frame_rate.num){
               ^
In file included from ../src/navstream.cpp:24:0:
../src/navstream.cpp:72:59: error: ‘AVStream’ has no member named ‘r_frame_rate’
     SET_KEY_VALUE(frameRate, "num", Integer::New(pStream->r_frame_rate.num));
                                                           ^
../src/navutils.h:37:35: note: in definition of macro ‘SET_KEY_VALUE’
 (obj->Set(String::NewSymbol(key), val))
                                   ^
../src/navstream.cpp:73:59: error: ‘AVStream’ has no member named ‘r_frame_rate’
     SET_KEY_VALUE(frameRate, "den", Integer::New(pStream->r_frame_rate.den));
                                                           ^
../src/navutils.h:37:35: note: in definition of macro ‘SET_KEY_VALUE’
 (obj->Set(String::NewSymbol(key), val))
                                   ^
navcodec.target.mk:106: recipe for target 'Release/obj.target/navcodec/src/navstream.o' failed
make: *** [Release/obj.target/navcodec/src/navstream.o] Error 1
make: Leaving directory '/home/nick/test/nodejs/node_modules/navcodec/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.19.0-15-generic
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/nick/test/nodejs/node_modules/navcodec
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok 
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the navcodec package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls navcodec
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.19.0-15-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "navcodec"
npm ERR! cwd /home/nick/test/nodejs
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/nick/test/nodejs/npm-debug.log
npm ERR! not ok code 0

Not sure what my next steps are besides developing in a VM running an older version of Ubuntu.

nickwebha avatar Jul 25 '15 14:07 nickwebha

I can provide you with the dockerfile commands that I use to build navcodec on Ubuntu 14.04, hope it helps:

RUN apt-get update

# Install build tools
RUN apt-get install -y build-essential clang curl pkg-config git software-properties-common

RUN mkdir /build
RUN pwd
# Yasm
RUN curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz | tar xz -C /build
RUN cd /build/yasm-1.2.0 && ./configure && make && make install

# Install libavcodec dependencies
RUN apt-get install -y libtheora-dev libvorbis-dev libmp3lame-dev libvpx-dev

# Multiverse for some required packages.
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse"  >> /etc/apt/sources.list
RUN echo "deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse" >> /etc/apt/sources.list
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse"  >> /etc/apt/sources.list
RUN echo "deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse"  >> /etc/apt/sources.list
RUN apt-get update

RUN apt-get install -y libfaac-dev

# libx364
RUN curl ftp://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20140807-2245-stable.tar.bz2 | tar jx -C /build
RUN cd /build/x264-snapshot-20140807-2245-stable && ./configure --enable-shared && make && make install

# libxvid
RUN curl http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz | tar xz -C /build
RUN cd /build/xvidcore/build/generic && ./configure && make && make install

# Fetch and build libav
RUN curl http://libav.org/releases/libav-9.14.tar.gz | tar xz -C /build

RUN cd /build/libav-9.14 && ./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=/usr/bin/clang --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264

RUN cd /build/libav-9.14 && make && make install

RUN echo "/usr/local/lib" >> /etc/ld.so.conf
RUN ldconfig

manast avatar Jul 25 '15 19:07 manast

Thank you. I will see if I can use this to make a short Bash script for my notes.

nickwebha avatar Jul 27 '15 18:07 nickwebha