diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile
index c1f97f1..a0424de 100644
--- a/cinelerra-5.1/cinelerra/Makefile
+++ b/cinelerra-5.1/cinelerra/Makefile
@@ -389,7 +389,7 @@ ifneq ($(WANT_CIN_3RDPARTY),no)
 LIBS += $(libraries)
 else
 
-LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid
+LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid -lbexecinfo -lintl
 LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXv -lXinerama
 LIBS += -lfontconfig -lfreetype
 LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil
@@ -447,7 +447,7 @@ ifneq ($(WANT_NUMA),no)
 LIBS += -lnuma
 endif
 ifneq ($(WANT_LV2),no)
-LIBS += -llilv-0 -lsratom-0 -lserd-0 -lsord-0 -lsuil-0
+LIBS += -llilv-0 -lsratom-0 -lserd-0 -lsord-0 -lsuil-0 -lexecinfo
 endif
 endif
 
diff --git a/cinelerra-5.1/guicast/Makefile b/cinelerra-5.1/guicast/Makefile
index 15442cf..e35495b 100644
--- a/cinelerra-5.1/guicast/Makefile
+++ b/cinelerra-5.1/guicast/Makefile
@@ -12,6 +12,12 @@ ifeq ($(OBJDIR), amd64)
 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf64-x86-64\""
 endif
 
+ifeq ($(OBJDIR), ppc64le)
+BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B powerpc -I binary -O elf64-powerpcle\""
+endif
+
+
+
 $(shell mkdir -p $(OBJDIR) )
 
 OBJS = \
diff --git a/cinelerra-5.1/guicast/bcsignals.C b/cinelerra-5.1/guicast/bcsignals.C
index ed50cfb..8442847 100644
--- a/cinelerra-5.1/guicast/bcsignals.C
+++ b/cinelerra-5.1/guicast/bcsignals.C
@@ -389,6 +389,9 @@ const char* BC_Signals::sig_to_str(int number)
 #if __x86_64__
 #define IP rip
 #endif
+#if __powerpc64__
+#define IP nip
+#endif
 #ifndef IP
 #error gotta have IP
 #endif
@@ -404,13 +407,14 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
 // it is not necessary to be root if ptrace is allowed via:
 // echo 0 > /proc/sys/kernel/yama/ptrace_scope (usually set to 1)
 //	if( uid != 0 ) return;
+
 	ucontext_t *uc = (ucontext_t *)sc;
 	int pid = getpid(), tid = gettid();
 	struct sigcontext *c = (struct sigcontext *)&uc->uc_mcontext;
-	uint8_t *ip = (uint8_t *)c->IP;
-	fprintf(stderr,"** %s at %p in pid %d, tid %d\n",
-		n==SIGSEGV? "segv" : n==SIGINT? "intr" : "trap",
-		(void*)ip, pid, tid);
+//	uint8_t *ip = (uint8_t *)c->IP;
+//	fprintf(stderr,"** %s at %p in pid %d, tid %d\n",
+//		n==SIGSEGV? "segv" : n==SIGINT? "intr" : "trap",
+//		(void*)ip, pid, tid);
 	FILE *fp = 0;
 	char fn[PATH_MAX];
 	if( BC_Signals::trap_path ) {
@@ -419,9 +423,9 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
 	}
 	if( fp ) {
 		fprintf(stderr,"writing debug data to %s\n", fn);
-		fprintf(fp,"** %s at %p in pid %d, tid %d\n",
-			n==SIGSEGV? "segv" : n==SIGINT? "intr" : "trap",
-			(void*)c->IP, pid, tid);
+//		fprintf(fp,"** %s at %p in pid %d, tid %d\n",
+//			n==SIGSEGV? "segv" : n==SIGINT? "intr" : "trap",
+//			(void*)c->IP, pid, tid);
 	}
 	else {
 		strcpy(fn, "stdout");
@@ -458,13 +462,13 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
 	int pfd = open(proc_mem,O_RDONLY);
 	if( pfd >= 0 ) {
 		fprintf(fp,"\nCODE:\n");
-		for( int i=-32; i<32; ) {
-			uint8_t v;  void *vp = (void *)(ip + i);
-			if( !(i & 7) ) fprintf(fp,"%p:  ", vp);
-			if( pread(pfd,&v,sizeof(v),(off_t)vp) != sizeof(v) ) break;
-			fprintf(fp,"%c%02x", !i ? '>' : ' ', v);
-			if( !(++i & 7) ) fprintf(fp,"\n");
-		}
+//		for( int i=-32; i<32; ) {
+//			uint8_t v;  void *vp = (void *)(ip + i);
+//			if( !(i & 7) ) fprintf(fp,"%p:  ", vp);
+//			if( pread(pfd,&v,sizeof(v),(off_t)vp) != sizeof(v) ) break;
+//			fprintf(fp,"%c%02x", !i ? '>' : ' ', v);
+//			if( !(++i & 7) ) fprintf(fp,"\n");
+//		}
 		fprintf(fp,"\n");
 		close(pfd);
 	}
@@ -494,5 +498,6 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
 	}
         char *const argv[4] = { (char*) "/bin/sh", (char*) "-c", cmd, 0 };
         execvp(argv[0], &argv[0]);
+
 }
 
diff --git a/cinelerra-5.1/libzmpeg3/Makefile b/cinelerra-5.1/libzmpeg3/Makefile
index b256c73..712fd29 100644
--- a/cinelerra-5.1/libzmpeg3/Makefile
+++ b/cinelerra-5.1/libzmpeg3/Makefile
@@ -4,8 +4,10 @@ include $(TOPDIR)/global_config
 ifneq ($(WANT_LIBZMPEG),no)
 
 CC = gcc
-NASM = nasm
-USE_MMX ?= 0
+#NASM = nasm
+#USE_MMX ?= 0
+USE_MMX = 0
+
 DYNAMIC_FONTS ?= 1
 
 ifeq ($(OBJDIR), alpha)
@@ -120,10 +122,10 @@ clean:
 
 $(OBJS): 
 	$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o
-$(ASMOBJS): 
-	$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
-$(NASMOBJS): 
-	$(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
+#$(ASMOBJS): 
+#	$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
+#$(NASMOBJS): 
+#	$(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
 
 $(OBJDIR)/%.o:		%.C
 $(OBJDIR)/audio/%.o:	audio/%.C
diff --git a/cinelerra-5.1/libzmpeg3/libzmpeg3.h b/cinelerra-5.1/libzmpeg3/libzmpeg3.h
index 430ebb4..9e93753 100644
--- a/cinelerra-5.1/libzmpeg3/libzmpeg3.h
+++ b/cinelerra-5.1/libzmpeg3/libzmpeg3.h
@@ -5,7 +5,7 @@
 /* for quicktime build */
 #define MAXFRAMESAMPLES 65536
 #define ZDVB
-#define USE_FUTEX
+/* #define USE_FUTEX */
 
 #ifndef __STDC_LIMIT_MACROS
 #define __STDC_LIMIT_MACROS
