Tomsk Sysadmins Forum

Unix => Разное => Topic started by: Xray_Linux_Root on June 19, 2007, 16:31:47

Title: Linux-ABI для FoxPro
Post by: Xray_Linux_Root on June 19, 2007, 16:31:47
Надо всего навсего подготовить рабочий сервак (на базе ASPLinux 11.2 или Fedora) для запуска FoxPro (того что для SCO Unix был). В общем-то задачка простая, если бы не это "бы".

Пройдясь поиском по всемогущему интернету нашёл в общем-то всё необходимое:
1. http://foxpopuli.narod.ru/ix/readfpu.htm (http://foxpopuli.narod.ru/ix/readfpu.htm) - статейка для старта
2. http://linux-abi.sourceforge.net/ (http://linux-abi.sourceforge.net/) - страничка проекта
3. http://ace-host.stuart.id.au/russell/files...patch-linuxabi/ (http://ace-host.stuart.id.au/russell/files/debian/sarge/kernel-patch-linuxabi/) - набор патчей для более свежих ядер (за основу взял 2.6.17 с kernel.org)
4. ядро пропатчил, нужные опции включил (в ядро
Title: Linux-ABI для FoxPro
Post by: Xray_Linux_Root on June 20, 2007, 12:18:17
Мдя......
Снова сам с собой общаюсь

Короче идём сюда http://sourceforge.net/project/showfiles.php?group_id=13130 (http://sourceforge.net/project/showfiles.php?group_id=13130) и берём ibcs-3_3.tgz (http://downloads.sourceforge.net/linux-abi/ibcs-3_3.tgz?modtime=1179479933&big_mirror=0), делаем всё как написано в приложенной инструкции и будет вам счастье

А чтобы в логи всякая хрень не писалась, при выполнении бинарников, можно наложить вот этот патчик:
Code: [Select]
diff -Naur orig/sco/ioctl.c new/sco/ioctl.c
--- orig/sco/ioctl.c    2007-02-27 22:02:00.000000000 +0600
+++ new/sco/ioctl.c    2007-06-20 10:55:21.000000000 +0700
@@ -163,9 +163,6 @@
     class_str[2] = class & 0x0000FF ? (char)((class      ) & 0xFF) : '.';
     class_str[3] = 0;
 
-    printk(KERN_DEBUG "sco: ioctl(%d, %lx[%s], 0x%p) unsupported\n",
-        fd, ioctl_num, class_str, arg);
-
     return -EINVAL;
 }
 
diff -Naur orig/sco/tapeio.c new/sco/tapeio.c
--- orig/sco/tapeio.c    2007-02-27 22:02:00.000000000 +0600
+++ new/sco/tapeio.c    2007-06-20 10:55:31.000000000 +0700
@@ -100,8 +100,6 @@
     case 64:  /* MT_REPORT */
 #endif
     default:
-        printk (KERN_ERR "abi: SCO tape ioctl func=%d arg=%x unsupported\n",
-            cmd & 0xff, (int)data);
         return -EINVAL;
     }
 
diff -Naur orig/sco/vtkbd.c new/sco/vtkbd.c
--- orig/sco/vtkbd.c    2007-02-27 22:02:00.000000000 +0600
+++ new/sco/vtkbd.c    2007-06-20 10:55:13.000000000 +0700
@@ -85,6 +85,5 @@
         }
         /* FALLTHROUGH */
     }
-    printk(KERN_ERR "%s: vtkd ioctl 0x%02x unsupported\n", __FILE__, cmd);
     return -EINVAL;
 }

З.Ы. Причём пашет даже с текущим ядром версии 2.6.21.5