Page 1 of 3 123 LastLast
Results 1 to 10 of 21

Thread: Cinelerra 4.5, last hurdle

  1. #1

    Default Cinelerra 4.5, last hurdle

    I have compiled and run Cinelerra 4.5 on OpenSuse 13.1 but it could not handle dnxHD and the yuv streams. After patching for those two items I am getting a series of errors that indicate a missing library or header definition. I have FFMpeg and swscale development packages installed but can't get this worked out. I'd really appreciate a helping hand as I am stumped.

    Code:
    make
    g++ -g -o ../bin/cinelerra `cat x86_64/objs`
    x86_64/ffmpeg.o: In function `FFMPEG::convert_cmodel(VFrame*, VFrame*)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/ffmpeg.C:173: undefined reference to `sws_getContext'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/ffmpeg.C:183: undefined reference to `sws_scale'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/ffmpeg.C:186: undefined reference to `sws_freeContext'
    x86_64/ffmpeg.o: In function `FFMPEG::convert_cmodel(AVPicture*, PixelFormat, int, int, VFrame*)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/ffmpeg.C:265: undefined reference to `sws_getContext'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/ffmpeg.C:275: undefined reference to `sws_scale'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/ffmpeg.C:278: undefined reference to `sws_freeContext'
    x86_64/filepng.o: In function `FilePNG::check_sig(Asset*)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/filepng.C:58: undefined reference to `png_check_sig'
    x86_64/yuvstream.o: In function `YUVStream::YUVStream()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:14: undefined reference to `y4m_init_stream_info'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:15: undefined reference to `y4m_init_frame_info'
    x86_64/yuvstream.o: In function `YUVStream::~YUVStream()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:23: undefined reference to `y4m_fini_stream_info'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:24: undefined reference to `y4m_fini_frame_info'
    x86_64/yuvstream.o: In function `YUVStream::read_frame(unsigned char**)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:92: undefined reference to `y4m_read_frame'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:96: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::read_frame_raw(unsigned char*, long)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:106: undefined reference to `y4m_read_frame_header'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:115: undefined reference to `y4m_read'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:118: undefined reference to `y4m_strerr'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:112: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::write_frame(unsigned char**)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:126: undefined reference to `y4m_write_frame'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:128: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::write_frame_raw(unsigned char*, long)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:135: undefined reference to `y4m_write_frame_header'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:144: undefined reference to `y4m_write'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:147: undefined reference to `y4m_strerr'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:141: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::get_width()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:244: undefined reference to `y4m_si_get_width'
    x86_64/yuvstream.o: In function `YUVStream::get_height()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:251: undefined reference to `y4m_si_get_height'
    x86_64/yuvstream.o: In function `YUVStream::read_header()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:217: undefined reference to `y4m_read_stream_header'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:220: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::open_read(char*)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:41: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::write_header()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:226: undefined reference to `y4m_write_stream_header'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:229: undefined reference to `y4m_strerr'
    x86_64/yuvstream.o: In function `YUVStream::get_interlace()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:236: undefined reference to `y4m_si_get_interlace'
    x86_64/yuvstream.o: In function `YUVStream::get_frame_rate()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:258: undefined reference to `y4m_si_get_framerate'
    x86_64/yuvstream.o: In function `YUVStream::set_frame_rate(double)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:263: undefined reference to `mpeg_conform_framerate'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:264: undefined reference to `y4m_si_set_framerate'
    x86_64/yuvstream.o: In function `YUVStream::get_aspect_ratio()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:270: undefined reference to `y4m_si_get_sampleaspect'
    x86_64/yuvstream.o: In function `YUVStream::get_height()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:251: undefined reference to `y4m_si_get_height'
    x86_64/yuvstream.o: In function `YUVStream::get_width()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:244: undefined reference to `y4m_si_get_width'
    x86_64/yuvstream.o: In function `YUVStream::get_aspect_ratio()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:274: undefined reference to `mpeg_guess_mpeg_aspect_code'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:275: undefined reference to `mpeg_framerate'
    x86_64/yuvstream.o: In function `YUVStream::get_height()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:251: undefined reference to `y4m_si_get_height'
    x86_64/yuvstream.o: In function `YUVStream::get_width()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:244: undefined reference to `y4m_si_get_width'
    x86_64/yuvstream.o: In function `YUVStream::set_aspect_ratio(double)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:284: undefined reference to `y4m_guess_sar'
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:285: undefined reference to `y4m_si_set_sampleaspect'
    x86_64/yuvstream.o: In function `YUVStream::set_interlace(int)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:240: undefined reference to `y4m_si_set_interlace'
    x86_64/yuvstream.o: In function `YUVStream::get_width()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:244: undefined reference to `y4m_si_get_width'
    x86_64/yuvstream.o: In function `YUVStream::set_width(int)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:247: undefined reference to `y4m_si_set_width'
    x86_64/yuvstream.o: In function `YUVStream::get_height()':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:251: undefined reference to `y4m_si_get_height'
    x86_64/yuvstream.o: In function `YUVStream::set_height(int)':
    /home/craigb/Downloads/cinelerra-4.5/cinelerra/yuvstream.C:254: undefined reference to `y4m_si_set_height'
    collect2: error: ld returned 1 exit status
    make: *** [../bin/cinelerra] Error 1

  2. #2

    Default AW: Cinelerra 4.5, last hurdle

    Quote Originally Posted by benbowc View Post
    I have FFMpeg and swscale development packages installed
    What do you mean with that?
    There is no swscale development package on Packman.

    All you should need is libffmpeg-devel, and better remove libswscale-devel as it might interfere (it has a completely different version than the libswscale from Packman). And libavutil-devel as well if you have that installed.
    Last edited by wolfi323; 03-Sep-2014 at 03:03.

  3. #3

    Default Re: Cinelerra 4.5, last hurdle

    Thanks but no joy yet.

    I did a search and there are multiple libraries and header files on the system so it is highly likely its trying to use the wrong version. Question is which library should it be linking to?
    Would it be the lightworks libraries causing the trouble as they would be first in the search path? Excuse me if I'm being dumb.....

    Code:
       /usr/lib64/vlc/plugins/video_filter/libswscale_plugin.so
     /usr/lib64/libswscale.so.0
     /usr/lib64/libswscale.so.0.14.1
     /usr/lib64/libswscale.so.1.1.101
     /usr/lib64/libswscale.so.2
     /usr/lib64/libADM5swscale.so.2
     /usr/lib64/libswscale.so
     /usr/lib64/pkgconfig/libswscale.pc
     /usr/lib64/libswscale.so.1
     /usr/lib64/libswscale.so.2.5.102
     /usr/lib64/libADM6swscale.so.2
     /usr/lib64/ADM_plugins6/videoFilters/libADM_vf_swscaleResize_qt4.so
     /usr/include/libswscale
     /usr/include/libswscale/swscale.h
     /usr/lib/lightworks/libswscale.so.2
     /usr/lib/lightworks/libswscale.so
     /usr/local/lib/pkgconfig/libswscale.pc
     /usr/local/lib/libswscale.a
     /usr/local/include/libswscale
     /usr/local/include/libswscale/swscale.h
     /opt/Citrix/ICAClient/lib/libswscale.so

  4. #4

    Default Re: Cinelerra 4.5, last hurdle

    Quote Originally Posted by benbowc View Post
    Would it be the lightworks libraries causing the trouble as they would be first in the search path? Excuse me if I'm being dumb.....
    Well, /usr/lib/lightworks/ should not be in the search path at all, unless you (or some installation script or similar) added it manually.
    But /usr/local/ normally comes before /usr/.

    Probably try to rename /usr/local/ and /usr/lib/lightworks/ (or at least the files) for compiling cinelerra.

    So it's quite likely that you are actually compiling/linking against the version in /usr/local/lib/. Or even worse, you compile with the headers in /usr/include/ or /usr/local/include and link against the library in /usr/lib/lightworks/.

    I guess it's obvious that this can cause problems, if those versions are not exactly the same.

    What version do you have in /usr/local/ btw, and why?

    Another note:
    I'm not sure if cinelerra 4.5 can actually be built on openSUSE 13.1 with Packman's ffmpeg (which I expect is what you have in /usr/lib64).
    The main reason why there's no 4.5 on Packman yet is that they haven't been able to build it, according to this mailinglist thread:
    http://lists.links2linux.de/pipermai...ne/013050.html

    I haven't tried to build it myself yet, but maybe I'll do so later today...
    Last edited by wolfi323; 03-Sep-2014 at 22:36.

  5. #5

    Default Re: Cinelerra 4.5, last hurdle

    Thanks again, I'll come back with more questions soon..... I find these things incredibly frustrating to solve yet I'm sure the solution is simple... once I find it!

    I have built Cinelerra 4.5 already. The issue I have is with these two additional file handlers that are not built in by default. The issue with termcap is solved by going to terminfo. If I can solve these two issues I will post up instructions on how to build 4.5.

  6. #6

    Default Re: Cinelerra 4.5, last hurdle

    Quote Originally Posted by benbowc View Post
    If I can solve these two issues I will post up instructions on how to build 4.5.
    Would be nice. How are you building it at the moment?

    I can't get it to use the system's ffmpeg at all, and the included one (extremely outdated of course) aborts with a compiler error.

    Sorry to say, but that build system is just **** IMHO...
    configure seems to be self-assembled, takes no arguments and doesn't seem to check at all for installed libraries but unconditionally uses its own included (outdated) stuff.
    And build instructions are non-existent as well. The included README file only states:
    Run ./cinelerra from this directory. That's it.
    Yeah, right. ./cinelerra actually is the directory containing the source code, how would you run that?

    Maybe I downloaded the wrong source archive?
    It was the cinelerra-4.5-src.tar.xz from here:
    http://sourceforge.net/projects/heroines/files/

    Or did you edit the configure script/Makefiles manually?

  7. #7

    Default Re: Cinelerra 4.5, last hurdle

    Quote Originally Posted by wolfi323 View Post
    Would be nice. How are you building it at the moment?
    OK I make no promises I have it all detailed yet but you need these patches first. Download the tarball from here and grab a copy of the PKGBUILD there too as there are a couple of additional steps needed.

    https://aur.archlinux.org/packages/c.../?comments=all

    If you apply those patches it should be possible to build 4.5 successfully if you have all the dependencies sorted. You might strike a couple of issues with the wrong path being in the makefiles as IIRC there was an issue with it pointing to a /lib instead of /lib64.

    After that grab these:

    Code:
    $ wget http://renomath.org/video/linux/cine...erra-4.4-dnxhd
    $ wget http://renomath.org/video/linux/cinelerra/patch-cinelerra-4.4-yuvstream
    
    
    
    $ patch -Np1 -d cinelerra-4.4 < patch-cinelerra-4.4-dnxhd
    $ patch -Np1 -d cinelerra-4.4 < patch-cinelerra-4.4-yuvstream

    [/QUOTE]

    Quote Originally Posted by wolfi323 View Post

    I can't get it to use the system's ffmpeg at all, and the included one (extremely outdated of course) aborts with a compiler error.

    Sorry to say, but that build system is just **** IMHO...
    configure seems to be self-assembled, takes no arguments and doesn't seem to check at all for installed libraries but unconditionally uses its own included (outdated) stuff.
    And build instructions are non-existent as well. The included README file only states:

    Yeah, right. ./cinelerra actually is the directory containing the source code, how would you run that?
    Yes you have to enter that directory to build cinelerra itself as the makefile only does the plugins, although that might have been because it was failing on that part of the build and just carried on.
    Quote Originally Posted by wolfi323 View Post

    Maybe I downloaded the wrong source archive?
    It was the cinelerra-4.5-src.tar.xz from here:
    http://sourceforge.net/projects/heroines/files/

    Or did you edit the configure script/Makefiles manually?
    No that is fine and is what I used.

  8. #8

    Default Re: Cinelerra 4.5, last hurdle

    Quote Originally Posted by benbowc View Post
    Yes you have to enter that directory to build cinelerra itself as the makefile only does the plugins, although that might have been because it was failing on that part of the build and just carried on.
    Thanks.
    I thought I tried that, but apparently not.
    So I'm going to try it now.

    Upto now I was still stumbling from one build error to the next when trying to build the thirdparty stuff...
    Apparently the patches from that AUR package seem to fix those (at least the error messages in the comments look familiar... ), but this shouldn't be needed then I suppose.
    I did get another build error though:
    Code:
    /bin/sh: Line 1: ../../guicast/x86_64/bootstrap: file or directory not found
    make: *** [x86_64/theme_data.o] Error 127
    I'll try to apply those patches then...
    Although those for the thirdparty stuff shouldn't really be necessary then I suppose.
    Last edited by wolfi323; 04-Sep-2014 at 02:01.

  9. #9

    Default Re: Cinelerra 4.5, last hurdle

    Quote Originally Posted by wolfi323 View Post
    I did get another build error though:
    Code:
    /bin/sh: Line 1: ../../guicast/x86_64/bootstrap: file or directory not found
    make: *** [x86_64/theme_data.o] Error 127
    I'll try to apply those patches then...
    Although those for the thirdparty stuff shouldn't really be necessary then I suppose.
    No, those patches do not contain anything for fixing that build error.

    I had to enter the directory guicast first and run make there.

    Anyway, I now get build errors because that thirdparty stuff is not found.
    So just compiling cinelerra only, as you suggested, doesn't work at all.

  10. #10

    Default Re: Cinelerra 4.5, last hurdle

    That is something different. Missing package I'd suggest. Not sure where the script is you showed. Can you post the entire output please.

    I just replaced the ffmpeg code with the latest version for fun. Not working yet but still going forward I think.

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •