help compiling the newest svn build

Ask your support questions in here

Moderator: Moderator Team

folle_invasato
Posts: 134
Joined: Thu Jan 13, 2005 9:11 pm
Location: Pordenone, Italy

Post by folle_invasato »

Thanks! I will try with the new compiler..
mjs
Posts: 47
Joined: Sat Feb 19, 2005 9:03 pm

Post by mjs »

Yes, but don't forget the actualized binutils.

Regards,
Mark
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

mjs wrote:The problems will go away when using gcc 3.4.2+ and the actual binutils version.

Regards,
Mark
I had this problem, using gentoo, the ebuild installes 3.3.1 by default, so you need to tell it to ACCEPT_KEYWORDS="~x86" so that it will install the latest version
jeremyk
Posts: 84
Joined: Tue Jan 04, 2005 11:21 am

Post by jeremyk »

this is the error I get evey time
first I do a update
then I do a make clean
then I do a clean


temp.exp:fake:(.edata+0x294): undefined reference to `NtPlugPlayControl@12'
temp.exp:fake:(.edata+0xb90): undefined reference to `ZwPlugPlayControl@12'
collect2: ld returned 1 exit status
make[1]: *** [ntdll.nostrip.dll] Error 1
make: *** [ntdll] Error 2
GvG
Posts: 499
Joined: Mon Nov 22, 2004 10:50 pm
Location: The Netherlands

Post by GvG »

jeremyk wrote:temp.exp:fake:(.edata+0x294): undefined reference to `NtPlugPlayControl@12'
temp.exp:fake:(.edata+0xb90): undefined reference to `ZwPlugPlayControl@12'
Wow, you must have had this error for quite some time now. So long actually that I don't remember how to fix it... However, there is a "rude" fix: get rid of your current reactos tree and svn co a new one.
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

Ok, build 13930 was the last build that i was capable of building the reactos live cd, boot cd will still build. When running make livecd I get these errors

Code: Select all

tools-check.c:1:25: tools-check.h: No such file or directory
tools-check.c:12:2: #error Due to technical reasons your binutils version cantools-check.c:12:58: missing terminating ' character
't be used to        build ReactOS. Please consider upgrading to newer version. See        www.mingw.org for details.)'
tools-check.c:24:53: missing terminating ' character
make[3]: *** [all] Error 1
make[2]: *** [tools_check] Error 2
make[1]: *** [tools] Error 2
make: *** [livecd_bootstrap_files] Error 2
My current versions of the mingwin pacages are as follow:

Code: Select all

*  dev-util/xmingw-binutils
      Latest version available: 2.15.90.0.2
      Latest version installed: 2.15.90.0.2

*  dev-util/xmingw-gcc
      Latest version available: 3.4.2
      Latest version installed: 3.4.2

*  dev-util/xmingw-runtime
      Latest version available: 3.5
      Latest version installed: 3.5

*  dev-util/xmingw-w32api
      Latest version available: 3.1
      Latest version installed: 3.1
Any ideas?

After looking at the svn log, it says 'Check BinUtils and GCC version.' in the log fot reactos/tools/Makefile

The make file doesnt seam to be making the .h file, and when i manualy create the file, apparently i have too old of binutils (im using the latest version from emerge (~x86), version 20040927
All the builds seam to be file
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

OK, the latest svn version is supposed to have a fix, but when i build, i get

Code: Select all

tools-check.c:12:58: missing terminating ' character
tools-check.c:24:53: missing terminating ' character
make[2]: *** [all] Error 1
make[1]: *** [tools_check] Error 2
make: *** [tools] Error 2
Still no luck with the livecd

EDIT: After adding an ' after the #error statement, everything seams to be working
TiKu
Posts: 157
Joined: Wed Jan 05, 2005 9:09 pm
Location: Unterföhring, Germany
Contact:

Post by TiKu »

I'm using:
GCC 3.4.2-20040916
MinGW 3.1.0-1
Binutils 2.15.94-20050118
WinXP SP2

I'm compiling ReactOS with OPTIMIZED := 1 and OARCH := i586. It compiles, but if I try to boot from the CD in VMWare, I get a BSOD because of a page fault. I'm probably doing something wrong, because the last time this didn't happen was in January.
Any ideas?
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

TiKu wrote: I'm compiling ReactOS with OPTIMIZED := 1 and OARCH := i586. It compiles, but if I try to boot from the CD in VMWare, I get a BSOD because of a page fault. I'm probably doing something wrong, because the last time this didn't happen was in January.
Any ideas?
I wouldnt know, you might try without optimization.

I did just get another error (starting after r13970)

Code: Select all

intl: [RC] intl.rc
i386-mingw32msvc-windres: can't open icon file `resources/flags.ico': No such file or directory
make[2]: *** [intl.coff] Error 1
make[1]: *** [intl] Error 2
make: *** [cpl] Error 2
in intl.rc there is a line that syas 'IDC_FLAGS ICON "resources/flags.ico"' but th eonly file in the resource directory is applet.ico, there is no flags.ico

EDIT: I just modified my build script so that if there is an error, on my build website it will say so.

ok, that errors gone, but now...

Code: Select all

[CC] mouse.c
mouse.c: In function `SysMouseAImpl_GetDeviceData':
mouse.c:920: error: `DIMOFS_2' undeclared (first use in this function)
mouse.c:920: error: (Each undeclared identifier is reported only once
mouse.c:920: error: for each function it appears in.)
make[1]: *** [mouse.o] Error 1
make: *** [dinput] Error 2
frik85
Developer
Posts: 829
Joined: Fri Nov 26, 2004 7:48 pm
Location: Austria, Europe
Contact:

Post by frik85 »

meklort wrote:

Code: Select all

in intl.rc  there is a line that syas 'IDC_FLAGS ICON "resources/flags.ico"' but th eonly file in the resource directory is applet.ico, there is no flags.ico
sorry, i forgot to submit the icon.
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

Hey, ive been gettting this error for a while now,

Code: Select all

make[1]: *** No rule to make target `include/internal/id.h', needed by `inbv/.in bv.d'.  Stop.
make: *** [ntoskrnl] Error
since build 14044
w3seek
Developer
Posts: 144
Joined: Tue Nov 23, 2004 12:12 am

Post by w3seek »

meklort: you need to do make clean in the ntoskrnl directory.
TiKu
Posts: 157
Joined: Wed Jan 05, 2005 9:09 pm
Location: Unterföhring, Germany
Contact:

Post by TiKu »

@meklort:
Could you please post the config file and the MinGW/gcc versions that you're using to build ReactOS? Your builds run just fine with VMWare, but mine don't anymore. I've tried many things - without success.
Last night I tried r14045 with the original config file and the compiler tools I already posted above. As usual it compiled fine, but crashes with a BSOD if booted in VMWare.
Here's my batch script that I use for compilation:

Code: Select all

make clean
make
make bootcd
make livecd

DEL ..\..\Nightlies\*.iso

for /f "tokens=1-4 delims=/.- " %%A in ('date /t') do (
  set Dow=%%A&set DD=%%B&set MM=%%C&set YYYY=%%D)
echo YYYY=%YYYY% MM=%MM% DD=%DD% DOW=%DOW%

REN roslive.iso "ReactOS (i486) %DD%.%MM%.%YYYY% LiveCD.iso"
REN reactos.iso "ReactOS (i486) %DD%.%MM%.%YYYY%.iso"
MOVE *.iso ..\..\Nightlies\
TiKu
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

w3seek wrote:meklort: you need to do make clean in the ntoskrnl directory.
Thanks, ill add a part to my script that mill make clean if the last build failed
TiKu wrote:@meklort:
Could you please post the config file and the MinGW/gcc versions that you're using to build ReactOS? Your builds run just fine with VMWare, but mine don't anymore. I've tried many things - without success.
Last night I tried r14045 with the original config file and the compiler tools I already posted above. As usual it compiled fine, but crashes with a BSOD if booted in VMWare.
Here's my batch script that I use for compilation:

Code: Select all

make clean
make
make bootcd
make livecd

DEL ..\..\Nightlies\*.iso

for /f "tokens=1-4 delims=/.- " %%A in ('date /t') do (
  set Dow=%%A&set DD=%%B&set MM=%%C&set YYYY=%%D)
echo YYYY=%YYYY% MM=%MM% DD=%DD% DOW=%DOW%

REN roslive.iso "ReactOS (i486) %DD%.%MM%.%YYYY% LiveCD.iso"
REN reactos.iso "ReactOS (i486) %DD%.%MM%.%YYYY%.iso"
MOVE *.iso ..\..\Nightlies\
TiKu
These are the currnet version i have install:
xmingw-binutils:2.15.90.0.2
xmingw-gcc: 3.4.2
xmingw-runtime: 3.5
xmingw-w32api:3.1

Right now i don not have my box runnig make clean, but i am going to add that if that last build did not work.

my build script is

Code: Select all

#! /bin/bash

echo "Building files"
: ${build_path='/emu/ros'}			# set where we will build

# tells make where it can find th elocal binaries
export PATH=${PATH}:/opt/xmingw/bin:/opt/xmingw/i386-xmingw32msvc 


cd ${build_path}/reactos
make > make.log
make bootcd > bootcd.log
make livecd > livecd.log
exit
build.php:

Code: Select all

#!/usr/bin/php -q
<?php
echo "ReactOS nightly build script\r\n";
$date = date("mdy");
$svn_path = 'svn.reactos.com/trunk/reactos';
$build_path='/emu/ros';
$save_dir='/emu/ros_builds';

$sql_serv = 'localhost';
$sql_user = 'username';
$sql_pass = 'password';
$db = 'ros_builds';
$link = mysql_connect("$sql_serv", "$sql_user", "$sql_pass");
if (!$link) die("Couldn't connect to MySQL");
mysql_select_db($db , $link) or die("Select DB Error: ".mysql_error());

function get_svn_rev() {
	global $build_path;
	$lines = file("$build_path/reactos/.svn/entries");
	foreach($lines as $line) {
		if($pos = strstr($line, "committed-rev="")) {
			$pos = str_replace(array('"', "\r", "\n"), '', strstr($line, """));
			break;
		}
	}
	return $pos;
}

system("export PATH=${PATH}:/opt/xmingw/bin:/opt/xmingw/i386-xmingw32msvc ");

echo "Updating local files in $build_path with $svn_path\r\n";
passthru("cd $build_path && svn co svn://$svn_path");
system("cp $build_path/reactos/.svn/entries /var/www/localhost/htdocs"); // nolonger used
echo "************** Files update ********************\r\n";


$build = get_svn_rev();
$last_build = file("http://localhost/build.php");
$last_build = str_replace(array("\r", "\n"), "", $last_build[0]);


if($build == $last_build) {
	die( "Last build corresponds to the svn revision\r\n");
}
sleep(5);

echo "Begin building files\r\n";
system("$build_path/ros_nb_script");

echo "************* Build Complete *******************\r\n";
sleep("3");

echo "************* Checking to see if ther were no errors ************************\r\n";
if(!file_exists("$build_path/reactos/roslive.iso")) {
	echo "ERROR: Build was unable to finish\r\n";
	passthru("rm $build_path/reactos/ReactOS.iso");
	$err_file = fopen("$save_dir/ReactOS_r" .$build ."_error.err", 'w');
	fwrite($err_file, "Meklort's build script was unable to find certain files.\r\nThis is most likely because of an error when compiling.\r\n");
		fwrite($err_file, "--------- Begin file dump: make.log --------\r\n");
		$tmp = file("$build_path/reactos/make.log");
		// I dont think I set index yet, so...
		$file = $index[sizeof($index) -1];
		$file = substr($line, strpos($line, ']')+1);
		fwrite($err_file, "I have detected that $file was unable to be build\r\n");
		$make_log = file("$build_path/reactos/make.log");
		foreach($make_log as $line) {
			fwrite($err_file, $line);
		}
		fwrite($err_file, "--------- End file dump. --------\r\n\r\n");
	if(!file_exists("$build_path/reactos/roslive.iso")) {
		fwrite($err_file, "Missing file: roslive.iso\r\n"); 
		fwrite($err_file, "--------- Begin file dump: livecd.log --------\r\n");
		$live_log = file("$build_path/reactos/livecd.log");
		foreach($live_log as $line) {
			fwrite($err_file, $line);
		}
		fwrite($err_file, "--------- End file dump. --------\r\n\r\n");
	}
	if(!file_exists("$build_path/reactos/ReactOS.iso")) {
		fwrite($err_file, "Missing file: ReactOS.iso\r\n");
		fwrite($err_file, "-------- Begin file dump: bootcd.log --------\r\n");
		$boot_log = file("$build_path/reactos/bootcd.log");
		foreach($boot_log as $line) {
			fwrite($err_file, $line);
		}
		fwrite($err_file, "--------- End file dump. --------\r\n\r\n");
	}

	fclose($err_file);
	passthru("chmod 544 $save_dir/ReactOS_r$build_error.err");
	system("echo "$build" > /var/www/localhost/htdocs/build.php");
        system("chmod 544 /var/www/localhost/htdocs/build.php");
	mysql_query("INSERT INTO builds (build_name, ext, type,build,date,error) VALUES ('ReactOS_r" .$build ."_error', 'err', 'Build', '$build', '$date', '$file')");
	die("Build error\r\n");
}
if(!file_exists("$build_path/reactos/ReactOS.iso")) {
	echo "Unable to find $build_path/reactos/ReactOS.iso\r\n";
	$no_boot = true;
} else {
	$no_boot = false;
	echo "Creating gzip file\n";
	   passthru("cp $build_path/reactos/ReactOS.iso $save_dir/files/ReactOS-$date-r$build.iso");
	   passthru("cd $build_path/reactos && gzip --best $build_path/reactos/ReactOS.iso");
	echo "Moving $build_path/reactos/ReactOS.iso.gz to $save_dir/ReactOS-$date-r$build.iso.gz\r\n";
	echo "Moving $build_path/reactos/ReactOS.iso to $save_dir/files/ReactOS-$date-r$build.iso\r\n";
	   passthru("mv $build_path/reactos/ReactOS.iso.gz $save_dir/ReactOS-$date-r$build.iso.gz");
				       passthru("chmod 544 $save_dir/ReactOS-$date-r$build.iso.gz");
				       passthru("chmod 544 $save_dir/files/ReactOS-$date-r$build.iso");
	mysql_query("INSERT INTO builds (build_name,ext,type,build,date) VALUES ('ReactOS-$date-r$build', 'iso.gz', 'bootcd', '$build', '$date')");
}
if(!file_exists("$build_path/reactos/roslive.iso")) {
	echo "Unable to find $build_path/reactos/roslive.iso\r\n";
	$no_live = true;
} else {
	$no_live = false;
	echo "Creating gzip file\n";
	   passthru("cp $build_path/reactos/roslive.iso $save_dir/files/roslive-$date-r$build.iso");
	   passthru("cd $build_path/reactos && gzip --best $build_path/reactos/roslive.iso");
	echo "Moving $build_path/reactos/roslive.iso.gz to $save_dir/roslove-$date-r$build.iso.gz\r\n";
	echo "Moving $build_path/reactos/roslive.iso to $save_dir/files/roslove-$date-r$build.iso\r\n";
	   passthru("mv $build_path/reactos/roslive.iso.gz $save_dir/roslive-$date-r$build.iso.gz");
				       passthru("chmod 544 $save_dir/roslive-$date-r$build.iso.gz");
				       passthru("chmod 544 $save_dir/files/roslive-$date-r$build.iso");
	mysql_query("INSERT INTO builds (build_name,ext,type,build,date) VALUES ('roslive-$date-r$build', 'iso.gz', 'livecd', '$build', '$date')");
}

if($no_boot && $no_live) {
	echo "No iso files found\r\n";
} else {
	system("echo "$build" > /var/www/localhost/htdocs/build.php");
	system("chmod 544 /var/www/localhost/htdocs/build.php"); 
}
mysql_close($link);
?>
I think i could have made that php script better, but it works.
Meklort
Posts: 175
Joined: Sat Mar 05, 2005 11:53 pm
Location: Colorado
Contact:

Post by Meklort »

TiKu wrote:I'm compiling ReactOS with OPTIMIZED := 1 and OARCH := i586. It compiles, but if I try to boot from the CD in VMWare, I get a BSOD because of a page fault. I'm probably doing something wrong, because the last time this didn't happen was in January.
Any ideas?
I just did a make clean, and rebuild everything (and modified the script a buch for loackfiles, and make clean on errors). Could you test the build in VMware and tell me how it goes.
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 29 guests