URL: https://linuxfr.org/forums/linux-general/posts/migration-sco-unix-freebsd Title: Migration SCO Unix FreeBSD Authors: stéphane Date: 2008年04月10日T18:56:34+02:00 Tags: sco Score: 0 Bonjour, J'essaie actuellement de migrer une application en cobol tournant sur SCO UNIX Openserver release 5 sur une distrib FreeBSD. J'ai choisie cette distribution car c'est a priori celle qui permet la plus grande interoperabilité au niveau des binaires du runtime cobol et ne disposant pas des sources de l'application je ne peux absolument pas recompiler les programmes cobol. A priori la dernière version de freeBSD (7.0) permet d'executer des binaires de SCO. J'ai essayé plusieurs fichiers binaires issues de SCO mais aucun ne fonctionne. Voici un recapitulatif de ce que j'ai déjà fait avec comme exemple un binaire SCO ls. # readelf -a ls ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x8049d70 Start of program headers: 52 (bytes into file) Start of section headers: 42576 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 6 Size of section headers: 40 (bytes) Number of section headers: 18 Section header string table index: 16 # ./ls ELF binary type "0" not known. ./ls: Exec format error. Binary file not executable. # brandelf -t FreeBSD ls # ./ls ELF interpreter /usr/lib/libc.so.1 not found Abort Ici a priori il y a un problème avec les librairies de gcc J'ai donc essayé avec le libc.so.1 issu de SCO Je copie la totalité des librairies sur la FreeBSD /opt/K/SCO/Unix/5.0.4Eb/usr/lib/ Je crée un lien #ln -s /usr/lib/libc.so.1 /opt/K/SCO/Unix/5.0.4Eb/usr/lib/ Et quand je fais le ls # ./ls Bad system call (core dumped) # ktrace ./ls Bad system call (core dumped) # kdump 1203 ktrace RET ktrace 0 1203 ktrace CALL execve(0xbfbfeb8b,0xbfbfea4c,0xbfbfea54) 1203 ktrace NAMI "./ls" 1203 ktrace NAMI "/usr/lib/libc.so.1" 1203 ls RET execve 0 1203 ls CALL [9512] 1203 ls RET [9512] -1 errno 78 Function not implemented 1203 ls PSIG SIGSYS SIG_DFL 1203 ls NAMI "ls.core" Donc la je bloque, je ne sais pas si c'est un problème de librairie ou peut-être que "l'emulation" n'est pas bien chargée ou encore j'ai lu qu'on l'on pouvait modifier les appels systèmes (syscalls.master je crois) Merci infiniment Voici au passage le rc.conf # cat rc.conf # -- sysinstall generated deltas -- # Wed Mar 26 15:00:14 2008 # Created: Wed Mar 26 15:00:14 2008 # Enable network daemons for user convenience. # Please make all changes to this file, not to /etc/defaults/rc.conf. # This file now contains just the overrides from /etc/defaults/rc.conf. keymap="fr.iso.acc" linux_enable="YES" svr4_enable="YES" ibcs2_enable="YES" sysvipc_enable="YES" nfs_client_enable="YES" inetd_enable="NO" ifconfig_bfe0="inet 10.0.0.42 netmask 255.0.0.0" gateway_enable="YES" defaultrouter="10.0.0.2" moused_type="auto" moused_enable="YES" usbd_enable="YES" gdm_enable="YES" moused_port="/dev/mse0" #dbus_enable="YES" #polkitd_enable="YES" #hald_enable="YES" system_tools_backends_enable="YES"

AltStyle によって変換されたページ (->オリジナル) /