[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 00170] mgpnet on linux



伊藤@Bitsと申します。

mgp-1.03a.tar.gz を get して mgp 本体はすんなり動いたのですが、
contribの mgpnet でひっかかりました。

1.mgpnetのguessparamがinclude fileのdefineを上手く拾えなで
>   could not guess system parameter. edit by hand.
 となってしまう。

2.wintoppmは 8bit colorをサポートしていない?

2.は xwd を使ってトライしているのですが、上手くいっていません。とりあ
えず1.は次の様なパッチで動いているようです。ちょっと毒入りのパッチなの
でどなたか ちゃんと linux で動かしている方おりませんでしょうか。


--- mgpnet	1998/06/19 10:58:39	1.1
+++ mgpnet	1998/06/22 14:53:55
@@ -411,6 +420,9 @@
 #------------------------------------------------------------
 
 sub guessparam {
+    require "sys/socket.ph";
+    require "waitflags.ph";
+
 	local($tmpnam, $tmp, @tmp1, @tmp2);
 	local(%varnames);
 
@@ -418,39 +430,14 @@
 'XXX1', 'AF_INET',	'XXX2', 'PF_INET',	'XXX3', 'SOL_SOCKET',
 'XXX4', 'SO_REUSEPORT',	'XXX5', 'SOCK_STREAM',	'XXX6', 'WNOHANG',
 );
-	$tmpnam = &tmpname;
-	open(CPP, "| cpp >$tmpnam") || return;
-	print CPP "#include <sys/socket.h>\n";
-	print CPP "#include <sys/wait.h>\n";
-	foreach $tmp (keys %varnames) {
-		print CPP "$tmp $varnames{$tmp}\n";
-	}
-	close(CPP) || return;
+    $havesinlen = 0; $sockaddr = 'S n a4 x8';
+    eval "\$AF_INET = &AF_INET;";
+    eval "\$PF_INET = &PF_INET;";
+    eval "\$SOCK_STREAM = &SOCK_STREAM;";
+    eval "\$WNOHANG = &WNOHANG;";
 
-	$tmp = '';
-	open(CPP, "< $tmpnam") || return;
-	while (<CPP>) {
-		$tmp .= $_;
-	}
-	close(CPP);
-	unlink $tmpnam;
-
-	@tmp1 = split(/\n/, $tmp);
 
-	if (grep($_ =~ /sin_len/, @tmp1)) {
-		$havesinlen = 1; $sockaddr = 'C C n a4 x8';
-	} else {
-		$havesinlen = 0; $sockaddr = 'S n a4 x8';
-	}
 
-	foreach $i (keys %varnames) {
-		if (@tmp2 = grep($_ =~ /^$i/, @tmp1)) {
-			$tmp = (split(/\s+/, @tmp2[0]))[1];
-			$tmp = oct($tmp) if ($tmp =~ /^0/);
-			next if ($tmp !~ /^[0-9]+$/);
-			eval "\$$varnames{$i} = \$tmp;";
-		}
-	}
 }
 
 sub tmpname {

PGP public key http://plaza6.mbn.or.jp/~tito/tito-pgppub.txt
email  tito@ca.mbn.or.jp                        伊藤 剛@BITS