Helsinki-NLP / OPUS-CAT

OPUS-CAT is a collection of software which make it possible to OPUS-MT neural machine translation models in professional translation. OPUS-CAT includes a local offline MT engine and a collection of CAT tool plugins.
MIT License
70 stars 11 forks source link

How can I install opus-cat in Linux/Ubuntu? #60

Open petersanx opened 1 year ago

petersanx commented 1 year ago

I mean, what would be the easiest way to install it on a linux system with the OmegaT plugin working?

TommiNieminen commented 1 year ago

Unfortunately, the MT engine can't currently be used in Linux, but you might be able to run it in a Windows virtual machine and then expose the MT engine port in the virtual machine in the host Linux computer for the OmegaT plugin to use.

bendettocom commented 1 year ago

I have followed your advice. It runs OK in a VirtualBox machine and in a Qemu-KVM machine as well, but apparently I wasn't able to configure the networks (and maybe ports) the right way. I am really not very good at that.

However, I also installed the Machine in Wine (PlayOnLinux), and the connection with OmegaT seems to work perfectly,, at least with version 1.0.0.5. (I get the same error notices there, in the MT pane, as when trying to translate with a model inside OpusCATMT).

The only problem is that It works until a certain point, i.e. - I think - until marian.exe is started.

These are the Program error details:

"Unhandled exception: page fault on read access to 0xffffffffffffffff in 64-bit code (0x0000000140c9d01d). Register dump: rip:0000000140c9d01d rsp:000000000022e730 rbp:000000000022e860 eflags:00010202 ( R- -- I - - - ) rax:0000000000000001 rbx:000000000000020f rcx:0000000000000007 rdx:0000000140ff1910 rsi:00000000000dd2e0 rdi:0000000000000204 r8:0000000000000000 r9:000000000022e738 r10:0000000000130000 r11:000000000022e728 r12:00000000000db960 r13:00000000000db980 r14:00000000000db960 r15:0000000000000000 Stack dump: 0x000000000022e730: 00000000000db960 0000000000000003 0x000000000022e740: 0000000000000003 000000000022e860 0x000000000022e750: 000000000000020f 000000014084aa8c 0x000000000022e760: 00000000000dd0b0 000000000000020f 0x000000000022e770: 000000000022e860 0000000000000038 0x000000000022e780: 0000000140decab0 0000000000000016 0x000000000022e790: 0000000000000005 000000007bc2963e 0x000000000022e7a0: 0074726f732d6863 000000000022e978 0x000000000022e7b0: 000000000022e838 0000000000000000 0x000000000022e7c0: 000000000022eb60 00000000000dccd0 0x000000000022e7d0: 00000000000dccc0 0000000000000002 0x000000000022e7e0: 0000000000020000 000000007bc2963e Backtrace: =>0 0x0000000140c9d01d in marian (+0xc9d01d) (0x000000000022e860) 1 0x000000014084aa8c in marian (+0x84aa8b) (0x000000000022e860) 2 0x0000000140b60209 in marian (+0xb60208) (0x000000000022f0c0) 3 0x0000000140b5f51a in marian (+0xb5f519) (0x000000000022f7a0) 4 0x0000000140987ffc in marian (+0x987ffb) (0x000000000022fd39) 5 0x0000000140753583 in marian (+0x753582) (0x000000000022fd39) 6 0x000000014075674b in marian (+0x75674a) (0x0000000000000000) 7 0x0000000140c609f4 in marian (+0xc609f3) (0x0000000000000000) 8 0x000000007b62c8e9 BaseThreadInitThunk+0x8(unknown=, entry=, arg=) [Z:\root\wine-git\wine64-build..\dlls\kernel32\thread.c:59] in kernel32 (0x0000000000000000) 9 0x000000007bc58752 RtlUserThreadStart+0x81(entry=0x140c60ad8, arg=0x7fffffdaf000) [Z:\root\wine-git\wine64-build..\dlls\ntdll\thread.c:137] in ntdll (0x0000000000000000) 0x0000000140c9d01d: int $0x29 Modules: Module Address Debug info Name (26 modules) PE 61540000- 6161e000 Deferred advapi32 PE 62980000- 6298e000 Deferred api-ms-win-core-localization-l1-2-1 PE 62dc0000- 62fb1000 Deferred rpcrt4 PE 63280000- 6329b000 Deferred version PE 639c0000- 63a02000 Deferred shcore PE 64840000- 64956000 Deferred shlwapi PE 67600000- 6760d000 Deferred api-ms-win-core-string-l1-1-0 PE 68300000- 68437000 Deferred combase PE 6a200000- 6a647000 Deferred ole32 PE 6aa80000- 6aa8d000 Deferred api-ms-win-core-fibers-l1-1-1 PE 6b300000- 6b30d000 Deferred api-ms-win-core-localization-obsolete-l1-2-0 PE 6ba00000- 6ba91000 Deferred sechost PE 6bac0000- 6bc5f000 Deferred setupapi PE 6c7c0000- 6ccf1000 Deferred gdi32 PE 6dc80000- 6dc8e000 Deferred api-ms-win-core-synch-l1-2-0 PE 6eb00000- 6f133000 Deferred user32 PE 6f880000- 6fa9f000 Deferred dbghelp PE 6fd80000- 6fd8d000 Deferred api-ms-win-core-datetime-l1-1-1 PE 6fec0000- 6fece000 Deferred api-ms-win-core-sysinfo-l1-2-1 PE 70940000- 70bb9000 Deferred ucrtbase PE 71000000- 71043000 Deferred imm32 PE 7b000000- 7b2c7000 Deferred kernelbase PE 7b600000- 7b908000 Dwarf kernel32 PE 7bc00000- 7be62000 Dwarf ntdll PE 140000000- 141056000 Export marian PE 7f659d6c0000- 7f659df97000 Deferred shell32 Threads: process tid prio (all id:s are in hex) 00000020 OpusCatMTEngine.exe 00000024 0 000000ec 0 000000f0 0 000000f4 0 000000f8 0 000000fc 0 00000104 0 00000108 0 0000010c 0 00000120 0 00000124 0 0000014c 0 00000150 0 00000154 0 00000158 0 0000015c 0 00000164 0 00000188 0 00000194 0 00000038 services.exe 0000003c 0 00000040 0 0000004c 0 00000068 0 00000080 0 000000a4 0 000000cc 0 00000044 winedevice.exe 00000048 0 00000054 0 00000058 0 0000005c 0 00000060 plugplay.exe 00000064 0 0000006c 0 00000070 0 00000074 0 00000090 0 00000078 winedevice.exe 0000007c 0 00000084 0 00000088 0 0000008c 0 00000098 0 0000009c svchost.exe 000000a0 0 000000a8 0 000000ac 0 000000b0 explorer.exe 000000b4 0 000000b8 0 000000bc 0 000000c4 rpcss.exe 000000c8 0 000000d4 0 000000d8 0 000000dc 0 000000e0 0 000000e4 0 00000168 cmd.exe 0000016c 0 00000180 (D) C:\Program Files\OpusCATMT\Marian\marian.exe 00000184 0 <== 00000198 0 System information: Wine build: wine-6.3 Platform: x86_64 Version: Windows 10 Host system: Linux Host version: 5.15.0-70-generic"

Can you help with this, perhaps? I haven't found anything about the general Windows system requirements for OpenCATMT or Marian. Perhaps it would be enough just to install some Windows components, drivers and/or such...?

TommiNieminen commented 1 year ago

Sorry, I have no experience whatsoever with Wine, so I wouldn't know where to begin. Only thing I can suggest is trying a different version of Wine.