diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/assets.C hvirtual-1.1.7/cinelerra/assets.C
--- base-1.1.7/cinelerra/assets.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/assets.C	2003-09-21 15:23:40.000000000 +0200
@@ -1097,9 +1097,9 @@
 	printf("   format %d\n", format);
 	printf("   audio_data %d channels %d samplerate %d bits %d byte_order %d signed %d header %d dither %d acodec %c%c%c%c\n",
 		audio_data, channels, sample_rate, bits, byte_order, signed_, header, dither, acodec[0], acodec[1], acodec[2], acodec[3]);
-	printf("   audio_length %lld\n", audio_length);
+	printf("   audio_length %lld\n", (int64_t)audio_length);
 	printf("   video_data %d layers %d framerate %f width %d height %d vcodec %c%c%c%c\n",
 		video_data, layers, frame_rate, width, height, vcodec[0], vcodec[1], vcodec[2], vcodec[3]);
-	printf("   video_length %lld \n", video_length);
+	printf("   video_length %lld \n", (int64_t)video_length);
 	return 0;
 }
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/audioinprefs.C hvirtual-1.1.7/cinelerra/audioinprefs.C
--- base-1.1.7/cinelerra/audioinprefs.C	2003-09-09 19:10:32.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/audioinprefs.C	2003-09-21 15:23:52.000000000 +0200
@@ -55,7 +55,7 @@
 	y += ADevicePrefs::get_h();
 	BC_TextBox *textbox;
 	add_subwindow(new BC_Title(x, y, "Samples to write to disk at a time:"));
-	sprintf(string, "%lld", pwindow->thread->edl->session->record_write_length);
+	sprintf(string, "%lld", (int64_t) pwindow->thread->edl->session->record_write_length);
 	add_subwindow(textbox = new RecordWriteLength(mwindow, pwindow, x + 240, y, string));
 
 	y += 30;
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/bezierautos.C hvirtual-1.1.7/cinelerra/bezierautos.C
--- base-1.1.7/cinelerra/bezierautos.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/bezierautos.C	2003-09-21 15:24:06.000000000 +0200
@@ -592,7 +592,7 @@
 	new_auto->center_y = y;
 	new_auto->center_z = z;
 
-//printf("BezierAutos::add_auto %lld\n", new_auto->position);
+//printf("BezierAutos::add_auto %lld\n", (int64_t) new_auto->position);
 	return (Auto*)new_auto;
 }
 
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/cache.C hvirtual-1.1.7/cinelerra/cache.C
--- base-1.1.7/cinelerra/cache.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/cache.C	2003-09-21 15:23:22.000000000 +0200
@@ -246,10 +246,10 @@
 		printf("cache item %x\n", current);
 		printf("	asset %x\n", current->asset);
 		printf("	%s\n", current->asset->path);
-		printf("	counter %lld\n", current->counter);
+		printf("	counter %lld\n", (int64_t)current->counter);
 	}
 	
-	printf("total size %lld\n", get_memory_usage());
+	printf("total size %lld\n", (int64_t)get_memory_usage());
 	unlock_all();
 }
 
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/device1394output.C hvirtual-1.1.7/cinelerra/device1394output.C
--- base-1.1.7/cinelerra/device1394output.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/device1394output.C	2003-09-21 15:25:54.000000000 +0200
@@ -382,7 +382,7 @@
 // 			Thread::disable_cancel();
 		}
 
-//printf("Device1394Output::run %lld\n", timer.get_difference());
+//printf("Device1394Output::run %lld\n", (int64_t) timer.get_difference());
 	}
 }
 
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/edit.C hvirtual-1.1.7/cinelerra/edit.C
--- base-1.1.7/cinelerra/edit.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/edit.C	2003-09-21 15:26:38.000000000 +0200
@@ -301,7 +301,8 @@
 		printf("      TRANSITION %p\n", transition);
 		transition->dump();
 	}
-	printf("      startsource %lld startproject %lld length %lld\n", startsource, startproject, length); fflush(stdout);
+	printf("      startsource %lld startproject %lld length %lld\n", (int64_t)startsource, (int64_t)startproject, (int64_t)length); 
+	fflush(stdout);
 	return 0;
 }
 
@@ -316,9 +317,9 @@
 
 void Edit::shift(along difference)
 {
-//printf("Edit::shift 1 %p %lld %lld\n", this, startproject, difference);
+//printf("Edit::shift 1 %p %lld %lld\n", this, (int64_t) startproject, (int64_t) difference);
 	startproject += difference;
-//printf("Edit::shift 2 %lld %lld\n", startproject, difference);
+//printf("Edit::shift 2 %lld %lld\n", (int64_t) startproject, (int64_t) difference);
 }
 
 int Edit::shift_start_in(int edit_mode, 
@@ -419,7 +420,7 @@
 	{
 		along end_source = get_source_end(1);
 
-//printf("Edit::shift_start_out 1 %lld %lld\n", startsource, cut_length);
+//printf("Edit::shift_start_out 1 %lld %lld\n", (int64_t)startsource, (int64_t)cut_length);
 		if(end_source > 0 && startsource < cut_length)
 		{
 			cut_length = startsource;
@@ -428,7 +429,7 @@
 
 	if(edit_mode == MOVE_ALL_EDITS)
 	{
-//printf("Edit::shift_start_out 10 %lld\n", cut_length);
+//printf("Edit::shift_start_out 10 %lld\n", (int64_t)cut_length);
 		startsource -= cut_length;
 		length += cut_length;
 
@@ -585,7 +586,7 @@
 	if(endsource > 0 && startsource + length + cut_length > endsource)
 		cut_length = endsource - startsource - length;
 
-//printf("Edit::shift_end_out 1 %lld %d %d %d\n", oldposition, newposition, this->length, cut_length);
+//printf("Edit::shift_end_out 1 %lld %lld %d %d\n", (int64_t) oldposition, (int64_t) newposition, this->length, cut_length);
 	if(edit_mode == MOVE_ALL_EDITS)
 	{
 // Extend length
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/filesndfile.C hvirtual-1.1.7/cinelerra/filesndfile.C
--- base-1.1.7/cinelerra/filesndfile.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/filesndfile.C	2003-09-21 15:22:17.000000000 +0200
@@ -219,7 +219,7 @@
 // Commented out /* && psf->dataoffset */ in sndfile.c: 761
 	if(sf_seek(fd, sample, SEEK_SET) < 0)
 	{
-		printf("FileSndFile::set_audio_position %lld: failed\n", sample);
+		printf("FileSndFile::set_audio_position %lld: failed\n", (int64_t) sample);
 		sf_perror(fd);
 		return 1;
 	}
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/floatautos.C hvirtual-1.1.7/cinelerra/floatautos.C
--- base-1.1.7/cinelerra/floatautos.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/floatautos.C	2003-09-21 15:21:38.000000000 +0200
@@ -413,12 +413,12 @@
 {
 	printf("	FloatAutos::dump %p\n", this);
 	printf("	Default: position %lld value=%f\n", 
-		default_auto->position, 
+		(int64_t) default_auto->position, 
 		((FloatAuto*)default_auto)->value);
 	for(Auto* current = first; current; current = NEXT)
 	{
 		printf("	position %lld value=%f invalue=%f outvalue=%f\n", 
-			current->position, 
+			(int64_t) current->position, 
 			((FloatAuto*)current)->value,
 			((FloatAuto*)current)->control_in_value,
 			((FloatAuto*)current)->control_out_value);
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/indexfile.C hvirtual-1.1.7/cinelerra/indexfile.C
--- base-1.1.7/cinelerra/indexfile.C	2003-09-21 14:20:19.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/indexfile.C	2003-09-21 15:25:34.000000000 +0200
@@ -142,9 +142,9 @@
 // source file is a different size than index source file
 //printf("IndexFile::open_file 3 %s %lld %lld %lld\n", 
 //index_filename, 
-//fs.get_size(asset->path), 
-//test_asset.index_bytes,
-//asset->index_bytes);
+//(int64_t)fs.get_size(asset->path), 
+//(int64_t)test_asset.index_bytes,
+//(int64_t)asset->index_bytes);
 			result = 2;
 			fclose(file);	
 		}
@@ -152,9 +152,9 @@
 		{
 //printf("IndexFile::open_file 4 %s %lld %lld %lld\n", 
 //index_filename, 
-//fs.get_size(asset->path), 
-//test_asset.index_bytes,
-//asset->index_bytes);
+//(int64_t)fs.get_size(asset->path), 
+//(int64_t)test_asset.index_bytes,
+//(int64_t)asset->index_bytes);
 			fseek(file, 0, SEEK_END);
 			file_length = ftell(file);
 			fseek(file, 0, SEEK_SET);
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/keyframe.C hvirtual-1.1.7/cinelerra/keyframe.C
--- base-1.1.7/cinelerra/keyframe.C	2003-09-21 14:20:20.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/keyframe.C	2003-09-21 15:21:55.000000000 +0200
@@ -91,6 +91,6 @@
 
 void KeyFrame::dump()
 {
-	printf("     position: %lld\n", position);
+	printf("     position: %lld\n", (int64_t)position);
 	printf("     data: %s\n", data);
 }
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/renderfarmfsclient.C hvirtual-1.1.7/cinelerra/renderfarmfsclient.C
--- base-1.1.7/cinelerra/renderfarmfsclient.C	2003-09-21 14:20:21.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/renderfarmfsclient.C	2003-09-21 15:24:35.000000000 +0200
@@ -847,7 +847,7 @@
 	client->unlock();
 if(DEBUG)
 printf("RenderFarmFSClient::fseek stream=%p offset=%lld whence=%d result=%d\n", 
-__stream, __off, __whence, result);
+__stream, (int64_t)__off, __whence, result);
 	return result;
 }
 
@@ -877,7 +877,7 @@
 	client->unlock();
 if(DEBUG)
 printf("RenderFarmFSClient::fseek stream=%p result=%lld\n", 
-__stream, result);
+__stream, (int64_t)result);
 	return result;
 }
 
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/cinelerra/renderfarmfsserver.C hvirtual-1.1.7/cinelerra/renderfarmfsserver.C
--- base-1.1.7/cinelerra/renderfarmfsserver.C	2003-09-21 14:20:21.000000000 +0200
+++ hvirtual-1.1.7/cinelerra/renderfarmfsserver.C	2003-09-21 15:24:56.000000000 +0200
@@ -194,7 +194,7 @@
 			result = 1;
 if(DEBUG)
 printf("RenderFarmFSServer::handle_request file=%p offset=%lld whence=%d result=%d\n", 
-file, offset, whence, result);
+file, (int64_t)offset, whence, result);
 			break;
 		}
 
@@ -210,7 +210,7 @@
 			result = 1;
 if(DEBUG)
 printf("RenderFarmFSServer::handle_request file=%p result=%lld\n", 
-file, return_value);
+file, (int64_t)return_value);
 			break;
 		}
 
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/guicast/bctextbox.C hvirtual-1.1.7/guicast/bctextbox.C
--- base-1.1.7/guicast/bctextbox.C	2003-09-21 14:20:22.000000000 +0200
+++ hvirtual-1.1.7/guicast/bctextbox.C	2003-09-21 15:11:15.000000000 +0200
@@ -22,7 +22,11 @@
  : BC_SubWindow(x, y, w, 0, -1)
 {
 	reset_parameters(rows, has_border, font);
+#ifdef ARCH64
 	sprintf(this->text, "%lld", (int64_t) text);
+#else
+	sprintf(this->text, "%ld", (along) text);
+#endif
 }
 
 BC_TextBox::BC_TextBox(int x, int y, int w, int rows, float text, int has_border, int font)
@@ -128,8 +132,11 @@
 int BC_TextBox::update(along value)
 {
 	char string[BCTEXTLEN];
+#ifdef ARCH64
 	sprintf(string, "%lld", value);
-
+#else
+	sprintf(string, "%ld", value);
+#endif
 
 	update(string);
 	return 0;
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/guicast/defaults.C hvirtual-1.1.7/guicast/defaults.C
--- base-1.1.7/guicast/defaults.C	2003-09-21 14:20:22.000000000 +0200
+++ hvirtual-1.1.7/guicast/defaults.C	2003-09-21 15:12:18.000000000 +0200
@@ -181,7 +181,11 @@
 int Defaults::update(char *name, along value) // update a value if it exists
 {
 	char string[1024];
+#ifdef ARCH64
 	sprintf(string, "%lld", (int64_t)value);
+#else
+	sprintf(string, "%ld", (along)value);
+#endif
 	return update(name, string);
 }
 
diff -ru -x '\*.in' -x 'Makefile*' base-1.1.7/guicast/test2.C hvirtual-1.1.7/guicast/test2.C
--- base-1.1.7/guicast/test2.C	2003-09-21 14:20:22.000000000 +0200
+++ hvirtual-1.1.7/guicast/test2.C	2003-09-21 15:28:42.000000000 +0200
@@ -41,8 +41,8 @@
 	if(new_time.tv_sec - status->last_time.tv_sec > 1)
 	{
 		fprintf(stderr, "%lld frames.  %lld frames/sec      \r", 
-			status->frames,
-			(along)status->frames / 
+			(int64_t)status->frames,
+			(int64_t)status->frames / 
 			(along)(new_time.tv_sec - status->start_time.tv_sec));
 		fflush(stdout);
 		status->last_time = new_time;
