You are not logged in.

#1 2005-03-08 23:55:08

Evangel
Member
From: Germany - Hechingen/Balingen
Registered: 2004-02-22
Posts: 36

cinelerra 1.2.2 success!?

i couldnt sleep tonight, so ....
with some help from http://www.funix.org/fr/linux/montage.htm i have now a working cinelerra package. First here comes the PKGBUILD:

#Contributor: Rene Thümmler <Rene.Thuemmler@gmx.net>
pkgname=cinelerra
pkgver=1.2.2
pkgrel=1
pkgdesc="50000 watt flamethrower a.k.a. advanced video editing suite"
url="http://heroinewarrior.com/cinelerra.php3"
depends=('xorg')
makedepends=('nasm' 'texinfo')

source=(http://belnet.dl.sourceforge.net/sourceforge/heroines/$pkgname-$pkgver-src.tar.bz2
        http://www.funix.org/fr/linux/fichiers/video/dsputil_mmx.c
        http://www.funix.org/fr/linux/fichiers/video/motion_est_mmx.c
        http://www.funix.org/fr/linux/fichiers/video/simple_idct_mmx.c
        $pkgname-$pkgver.patch)

md5sums=('3a2eddc43099dfa65f60956f23c9a239' '703ac4a869f83c07d8d86f3f588cf9ed'
         '3a9ad232a57fac358e096143efe9ae64' '7b3bde7e441c1aecd80693a02c401b9a'
         'f3d522ff328a14434f1e9e7e9d1509b1')

# cinelerra-1.1.9: when building use -n with makepkg cause stripping of libaries
#                  will cause cinelerra to crash at startup
# cinelerra-1.2.1: doing makepkg without -n has no effect any more
# cinelerra-1.2.2: well see how it works....

build() {
  cd $startdir/src/$pkgname-$pkgver
  cp ../dsputil_mmx.c quicktime/ffmpeg-0.4.8/libavcodec/i386
  cp ../motion_est_mmx.c quicktime/ffmpeg-0.4.8/libavcodec/i386/
  cp ../simple_idct_mmx.c quicktime/ffmpeg-0.4.8/libavcodec/i386/
  ./configure
  # patching source
  patch -p1 -i ../$pkgname-$pkgver.patch
  make || return 1
  # create dirs...
  mkdir -p $startdir/pkg/usr/lib/cinelerra
  mkdir -p $startdir/pkg/usr/bin
  # changing Makefiles (taken from <damir@archlinux.org>) cause
  # it seems to me the nicer way of installing files
  sed -i 's|/usr/|../../pkg/usr/|g' build/Makefile.cinelerra
  dochange=('cinelerra' 'plugins' 'libmpeg3' 'mplexhi' 'mplexlo' 'po')
  for aktuell in "${dochange[@]}" ; do
    sed -i 's|/usr/|../../../pkg/usr/|g' $aktuell/Makefile
  done
  # do the install
  cd $startdir/src/$pkgname-$pkgver
  make -f build/Makefile.cinelerra install || return 1
  # copy fonts (is it really needed?)
  cp -R plugins/titler/fonts $startdir/pkg/usr/lib/cinelerra
}

you will also need the patch file cinelerra-1.2.2.patch. Here it is...

diff -aur cinelerra-1.2.2.old/cinelerra/floatautos.C cinelerra-1.2.2.new/cinelerra/floatautos.C
--- cinelerra-1.2.2.old/cinelerra/floatautos.C    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/floatautos.C    2005-03-08 23:20:44.000000000 +0100
@@ -249,8 +249,8 @@
     float y0, y1, y2, y3;
      float t;
 
-    previous = (FloatAuto*)get_prev_auto(position, direction, (Auto*)previous, 0);
-    next = (FloatAuto*)get_next_auto(position, direction, (Auto*)next, 0);
+    previous = (FloatAuto*)get_prev_auto(position, direction, (Auto*&)previous, 0);
+    next = (FloatAuto*)get_next_auto(position, direction, (Auto*&)next, 0);
 
 // Constant
     if(!next && !previous)
diff -aur cinelerra-1.2.2.old/cinelerra/main.C cinelerra-1.2.2.new/cinelerra/main.C
--- cinelerra-1.2.2.old/cinelerra/main.C    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/main.C    2005-03-08 23:06:26.000000000 +0100
@@ -14,6 +14,7 @@
 #include "renderfarmclient.h"
 #include <stdlib.h>
 #include <string.h>
+#include <locale.h>
 
 #define PACKAGE "cinelerra"
 #define LOCALEDIR "/usr/share/locale"
diff -aur cinelerra-1.2.2.old/cinelerra/panautos.C cinelerra-1.2.2.new/cinelerra/panautos.C
--- cinelerra-1.2.2.old/cinelerra/panautos.C    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/panautos.C    2005-03-08 23:25:34.000000000 +0100
@@ -24,8 +24,8 @@
         PanAuto* &previous,
         PanAuto* &next)
 {
-    previous = (PanAuto*)get_prev_auto(position, direction, (Auto*)previous);
-    next = (PanAuto*)get_next_auto(position, direction, (Auto*)next);
+    previous = (PanAuto*)get_prev_auto(position, direction, (Auto*&)previous);
+    next = (PanAuto*)get_next_auto(position, direction, (Auto*&)next);
 
 // Constant
     if(previous->handle_x == next->handle_x &&
diff -aur cinelerra-1.2.2.old/cinelerra/recordmonitor.C cinelerra-1.2.2.new/cinelerra/recordmonitor.C
--- cinelerra-1.2.2.old/cinelerra/recordmonitor.C    2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/recordmonitor.C    2005-03-08 23:28:33.000000000 +0100
@@ -1005,7 +1005,7 @@
 
 int RecVideoDVThread::start_rendering()
 {
-    ((dv_t*)dv) = dv_new();
+    ((dv_t*&)dv) = dv_new();
     return 0;
 }
 
diff -aur cinelerra-1.2.2.old/cinelerra/tracks.C cinelerra-1.2.2.new/cinelerra/tracks.C
--- cinelerra-1.2.2.old/cinelerra/tracks.C    2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/tracks.C    2005-03-08 23:32:20.000000000 +0100
@@ -295,7 +295,7 @@
         mute_keyframe = (IntAuto*)current->automation->mute_autos->get_prev_auto(
             unit_start, 
             PLAY_FORWARD,
-            (Auto*)mute_keyframe);
+            (Auto*&)mute_keyframe);
 
         result += 
             (current->play && type == PLAY) ||
diff -aur cinelerra-1.2.2.old/cinelerra/virtualanode.C cinelerra-1.2.2.new/cinelerra/virtualanode.C
--- cinelerra-1.2.2.old/cinelerra/virtualanode.C    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/virtualanode.C    2005-03-08 23:39:44.000000000 +0100
@@ -471,8 +471,8 @@
 
     PanAuto *prev_keyframe = 0;
     PanAuto *next_keyframe = 0;
-    prev_keyframe = (PanAuto*)autos->get_prev_auto(input_position, direction, (Auto*)prev_keyframe);
-    next_keyframe = (PanAuto*)autos->get_next_auto(input_position, direction, (Auto*)next_keyframe);
+    prev_keyframe = (PanAuto*)autos->get_prev_auto(input_position, direction, (Auto*&)prev_keyframe);
+    next_keyframe = (PanAuto*)autos->get_next_auto(input_position, direction, (Auto*&)next_keyframe);
     
     if(direction == PLAY_FORWARD)
     {
diff -aur cinelerra-1.2.2.old/cinelerra/virtualnode.C cinelerra-1.2.2.new/cinelerra/virtualnode.C
--- cinelerra-1.2.2.old/cinelerra/virtualnode.C    2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/virtualnode.C    2005-03-08 23:39:10.000000000 +0100
@@ -471,8 +471,8 @@
 
     IntAuto *prev_keyframe = 0;
     IntAuto *next_keyframe = 0;
-    prev_keyframe = (IntAuto*)autos->get_prev_auto(input_position, direction, (Auto*)prev_keyframe);
-    next_keyframe = (IntAuto*)autos->get_next_auto(input_position, direction, (Auto*)next_keyframe);
+    prev_keyframe = (IntAuto*)autos->get_prev_auto(input_position, direction, (Auto*&)prev_keyframe);
+    next_keyframe = (IntAuto*)autos->get_next_auto(input_position, direction, (Auto*&)next_keyframe);
 
     if(direction == PLAY_FORWARD)
     {
diff -aur cinelerra-1.2.2.old/cinelerra/virtualvnode.C cinelerra-1.2.2.new/cinelerra/virtualvnode.C
--- cinelerra-1.2.2.old/cinelerra/virtualvnode.C    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/cinelerra/virtualvnode.C    2005-03-08 23:40:16.000000000 +0100
@@ -327,7 +327,7 @@
                     (IntAuto*)track->automation->mode_autos->get_prev_auto(
                         start_position_project, 
                         direction,
-                        (Auto*)mode_keyframe);
+                        (Auto*&)mode_keyframe);
 
                 int mode = mode_keyframe->value;
 
diff -aur cinelerra-1.2.2.old/guicast/arraylist.h cinelerra-1.2.2.new/guicast/arraylist.h
--- cinelerra-1.2.2.old/guicast/arraylist.h    2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/guicast/arraylist.h    2005-03-08 23:05:42.000000000 +0100
@@ -1,6 +1,8 @@
 #ifndef ARRAYLIST_H
 #define ARRAYLIST_H
 
+#include <stdio.h>
+
 // designed for lists of track numbers
 
 template<class TYPE>
diff -aur cinelerra-1.2.2.old/libmpeg3/Makefile cinelerra-1.2.2.new/libmpeg3/Makefile
--- cinelerra-1.2.2.old/libmpeg3/Makefile    2005-03-08 21:35:46.000000000 +0100
+++ cinelerra-1.2.2.new/libmpeg3/Makefile    2005-03-08 22:47:12.000000000 +0100
@@ -27,9 +27,7 @@
 
 ifeq ($(OBJDIR), i686)
   USE_MMX = 1
-  ifneq ($(HAVE_CFLAGS), y)
-    CFLAGS := -O2 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
-  endif
+  CFLAGS := -O1 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
   CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
 endif
 
diff -aur cinelerra-1.2.2.old/mplexhi/multplex.c cinelerra-1.2.2.new/mplexhi/multplex.c
--- cinelerra-1.2.2.old/mplexhi/multplex.c    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/mplexhi/multplex.c    2005-03-08 22:55:58.000000000 +0100
@@ -340,7 +340,7 @@
         bytepos_timecode ( bytes_output, current_SCR);
         break;
 
-        default:
+        default:;
     }
 
 }
diff -aur cinelerra-1.2.2.old/quicktime/Makefile cinelerra-1.2.2.new/quicktime/Makefile
--- cinelerra-1.2.2.old/quicktime/Makefile    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/quicktime/Makefile    2005-03-08 23:57:58.000000000 +0100
@@ -26,7 +26,6 @@
 
 
 
-ifneq ($(HAVE_CFLAGS), y)
 
 
 ifeq ($(OBJDIR), alpha)
@@ -34,7 +33,7 @@
 endif
 
 ifeq ($(OBJDIR), i686)
-  CFLAGS := -O3 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
+  CFLAGS := -O1 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
 endif
 
 
@@ -45,7 +44,6 @@
 
 
 
-endif
 
 DIRS = $(OBJDIR)
 
diff -aur cinelerra-1.2.2.old/quicktime/jpeg-mmx-0.1.4/Makefile cinelerra-1.2.2.new/quicktime/jpeg-mmx-0.1.4/Makefile
--- cinelerra-1.2.2.old/quicktime/jpeg-mmx-0.1.4/Makefile    2005-03-08 21:35:45.000000000 +0100
+++ cinelerra-1.2.2.new/quicktime/jpeg-mmx-0.1.4/Makefile    2005-03-09 00:04:18.000000000 +0100
@@ -25,7 +25,7 @@
 AS= nasm
 ASFLAGS = -f elf
 # You may need to adjust these cc options:
-CFLAGS= -O3 -march=i686 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -I/usr/local/include  -I$(srcdir)
+CFLAGS= -O1 -march=i686 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -I/usr/local/include  -I$(srcdir)
 # Generally, we recommend defining any configuration symbols in jconfig.h,
 # NOT via -D switches here.
 # However, any special defines for ansi2knr.c may be included here:

this should run. please test it and give some feedback.

bye,
EvE

Offline

#2 2005-03-16 00:03:32

_will
Member
Registered: 2004-07-08
Posts: 123

Re: cinelerra 1.2.2 success!?

without thinking i ran makepkg

    cinelerra-1.2.2.patch ... FAILED
==> ERROR: One or more files did not pass the validity check!

so i ran md5sum and replaced the old package sum

it ran fine for a few  min but then

make[1]: Entering directory `/home/will/src/cine/src/cinelerra-1.2.2/cinelerra'
rm -f ../../../pkg/usr/bin/cinelerra
cp i686/cinelerra ../../../pkg/usr/bin
cp: cannot stat `i686/cinelerra': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/will/src/cine/src/cinelerra-1.2.2/cinelerra'
make: *** [install] Error 2
==> ERROR: Build Failed.  Aborting...

Offline

#3 2005-03-18 19:02:58

Evangel
Member
From: Germany - Hechingen/Balingen
Registered: 2004-02-22
Posts: 36

Re: cinelerra 1.2.2 success!?

ok. can you try a clean rebuild of the package and log the output into a file? for example with

makepkg > error.log

and send this me by email.
if i should guess, i would have to ask if you have a i586 arch installed. Your error is located while copying the files into the pkg dir. There has to be an error befor which is not realized by makepkg.

bye,
eve

Offline

#4 2005-03-22 04:20:20

_will
Member
Registered: 2004-07-08
Posts: 123

Re: cinelerra 1.2.2 success!?

through some very kind help, it builds


i take no credit for these, hope they are convient
PKGBUILD  -- the PKGBUILD
the patch -- that is the checksum in the PKGBUILD

the package itself  -- i don't really know how it works for these, it works here thats all i can say

Offline

#5 2005-03-24 21:38:18

antesoft
Member
From: France - Bretagne (Brittany)
Registered: 2005-03-16
Posts: 11
Website

Re: cinelerra 1.2.2 success!?

I'm using your package of Cinelerra. It works very well. But can't you make 3 packages : one for libmpeg3, with libs and includes, one for quicktime4linux and the last for cinelerra ?


Philippe BERNERY
http://www.antesoft.org

Offline

#6 2005-03-24 23:47:52

Evangel
Member
From: Germany - Hechingen/Balingen
Registered: 2004-02-22
Posts: 36

Re: cinelerra 1.2.2 success!?

I dont see any advantages for providing a libmpeg3 and a quicktime4 linux packacke. As the only program benefit from these 2 packages is cinelerra there is no need for me providing 3 seperated packeges. If there is any advantage to do so please tell me why. As long im not convinced to do so I wont do also as long as libmpeg3 and quicktime4linux come with cinelerra. Maybe someone else?...

greetings,
Eve

Offline

Board footer

Powered by FluxBB