Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
74 user(s) are online (52 user(s) are browsing Forums)

Members: 1
Guests: 73

VooDoo, more...

Headlines

 
  Register To Post  

(1) 2 3 »
An update for UnRAR ?
Home away from home
Home away from home


See User information
For any developer around
Any chance to found someone that can update the good old UnRAR ?

Latest version we have is the old 3.9.7 and it was ported in 2010 or so, however it's probably too old as it still unable to open lots of the recent archives compressed with this format...

Here is the current OS4 source based to the 3.9.7:

http://os4depot.net/index.php?functio ... ity/archive/unrar-src.lha

A fast investigation let me found this 5.6.8 repository:

https://github.com/pmachapman/unrar/commits/master

Don't know if this one it's really the latest or if it's a fork from some other place ..

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

AFAIK the official place to get the latest unrar sources is:

https://www.rarlab.com/rar_add.htm

It has version 5.6.8 source code.

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Yep, i confused because it was marked as 5.61

Browsing around there are other versions for Amiga at http://amiga.sf.net/
The newser there Is the 3.80 and it's compiled for all 68k flavours, including MorphOS, WarpOS and AmigaOS4 ... then still there also an ancient 3.4.3 that include localization support

Both were made by Diego Cassoran and others

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

I think the 5.61 version is for the full WinRAR/RAR distribution (?) and the 5.6.8 version is for the free unrar.

I did some work on porting unrar 5.6.8 and it is now compiling and almost linking apart from three undefined dependencies which I still need to fix:
Quote:

ppc-amigaos-g++ -O2 -g -Wall -Wno-parentheses -Wno-switch -Wno-dangling-else -Wno-unused-variable -Wno-unused-function -Wno-sign-compare -c -o qopen.o qopen.cpp
ppc-amigaos-g++ -static -o unrar.debug rar.o strlist.o strfn.o pathfn.o smallfn.o global.o file.o filefn.o filcreat.o archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o errhnd.o rarvm.o secpassword.o rijndael.o getbits.o sha1.o sha256.o blake2s.o hash.o extinfo.o extract.o volume.o list.o find.o unpack.o headers.o threadpool.o rs16.o cmddata.o ui.o swprintf.o filestr.o recvol.o rs.o scantree.o qopen.o -lunix
consio.o: In function `cvt_wprintf':
/home/salass00/Development/Projects/Shell/unrar/consio.cpp:104: undefined reference to `vfwprintf'
consio.o: In function `getwstr(wchar_t*, unsigned int)':
/home/salass00/Development/Projects/Shell/unrar/consio.cpp:262: undefined reference to `fgetws'
cmddata.o: In function `CommandData::GetExclAttr(wchar_t const*)':
/home/salass00/Development/Projects/Shell/unrar/cmddata.cpp:1323: undefined reference to `wcstol'
collect2: error: ld returned 1 exit status
makefile.amigaos4:32: recipe for target 'unrar' failed
make: *** [unrar] Error 1


I also haven't yet moved all the Amiga specific changes from the 3.9.8 port to this version yet.

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@salass00

Small update: I just got unrar 5.6.8 compiled and linked and I was able to use it to extract a RAR archive. There is still an issue however in that the output to the console is not quite working, that I will have to look into (the help text is printed fine but for instance "unrar l archive.rar" outputs a whole lot of empty space rather than the contents of the archive).

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Quote:
I think the 5.61 version is for the full WinRAR/RAR distribution (?) and the 5.6.8 version is for the free unrar.


Probably ...

Quote:
I did some work on porting unrar 5.6.8 and it is now compiling ...


Wow, thanks a lot ... crossing fingers then

Aniway only now I read a comment on OS4Depot when YesCop talk about big RAR archives, for what i've understand apparently there is a problem extracting big files in the current official version we have (3.9.7 on OS4Depot)

I asked here for a new port mostly because in general i was unable to extract big archives from it, i though this was caused by the relative age of our version ... but maybe it was not ?

In the same comment Yescop suggest some modification for the code, maybe you might be interested to read:

http://os4depot.net/index.php?functio ... ity/archive/unrar-src.lha


Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

Quote:

I asked here for a new port mostly because in general i was unable to extract big archives from it, i though this was caused by the relative age of our version ... but maybe it was not ?


Adding large file support to unrar looks like it should not be very hard to do as the file i/o seems to be limited to only a couple of files.

Basically to support large files with newlib some functions need to be replaced, like fopen() => fopen64(), fseek() => fseek64(), stat() => stat64(), ... and some types like struct stat => struct stat64 and off_t => _off64_t.

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
Thanks Samo for the request and Salass for updating it

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
After looking over my vswprintf() function about a hundred times and doing a little debugging I finally found why it wasn't working correctly.

It turns out that I had mistakenly written "if ((ch == *fmt++) == '\0')" instead of "if ((ch = *fmt++) == '\0')" in a piece of code and then reused this wrong line of code in a lot of places in the function.

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Oh sorry to hear
Well .. atleast this step was done ... well now that output to console should be ok, what still missed ?

I counted two atleast ...

1 - big file support, that you say it's not hard to implement

Then ?

Localization maybe .. seems not working, atleast in diego archive .. but certainly its not a priority

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

https://www.dropbox.com/s/uz9pcuixynxu ... ar-5.6.8-20181210.7z?dl=0

Large files should be supported with this version. I haven't tested it though apart from with a couple of RAR archives that I happened to have on hand and they were not particularly big.

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Ok still testing with 2 multipart archives (of 900mb each) and is going ...
I'm on a poor Sam440 ... give me 10 minutes and i will confirm if everything will be extracted

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Ok, tested ... i need some more time because i had a freeze during the extraction, but quite probably because i was doing something else at computer ...

The extraction worked perfecty ,, maybe only bit slower compared to the previous version in the sense that my Sam seems suffered a bit when doing other operations .. for example play music in AmigaAMP sometimes stopped for a few seconds when UnRAR switched to the next archive to extract ... nothing drammatic aniway

Now, just another request, time permitted of course, are you able to make localization to work ?
I'm close to finish the italian translation ;.)

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
Quick report 2

Shell cannot be closed during the work, so i trìed with ctrl-c but got a crash

-----------------------------------
Crash log for task "unrar"
Generated by GrimReaper 53.19
Crash occured in module newlib.library.kmod at address 0x01B5588C
Type of crash: DSI (Data Storage Interrupt) exception
Alert number: 0x80000003

Register dump:
GPR (General Purpose Registers):
0: 80808080 4A617270 00000000 4A617288 00000000 0000007F 0195177C 00000000
8: 4A617288 0000001F 00000000 4A617288 000007C8 4A64D318 00000000 55DAB340
16: 6CA2A400 00000001 55DA5760 49C31058 02280000 02280000 00000000 00000021
24: 4A619A50 49BDE030 4A639868 00000002 4A6397D8 4A639988 0000007F 4A617288


FPR (Floating Point Registers, NaN = Not a Number):
0: nan 933 947 538
4: 0 750.8 55.8 538
8: 0 4.5036e+15 750.8 55.8
12: 1146 1003 0 -0
16: 0 0 0 0
20: 0 0 0 1.61895e-319
24: 4.94066e-324 0 0 0
28: 0 1.35808e-312 1.3581e-312 -3.40282e+38

FPSCR (Floating Point Status and Control Register): 0x82004000


SPRs (Special Purpose Registers):
Machine State (msr) : 0x0002F030
Condition (cr) : 0x46C86DA0
Instruction Pointer (ip) : 0x01B5588C
Xtended Exception (xer) : 0x018233AC
Count (ctr) : 0x00000000
Link (lr) : 0x00000000
DSI Status (dsisr) : 0x01842B34
Data Address (dar) : 0x00000000



680x0 emulated registers:
DATA: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
FPU0: 0 0 0 0
FPU4: 0 0 0 0



Symbol info:
Instruction pointer 0x01B5588C belongs to module "newlib.library.kmod" (HUNK/Kickstart)

Stack trace:
native kernel module newlib.library.kmod+0x0003058c
module unrar at 0x6CA2B6E0 (section 5 @ 0x16BC)
module unrar at 0x6CA3C004 (section 5 @ 0x11FE0)
module unrar at 0x6CA5ACD8 (section 5 @ 0x30CB4)
module unrar at 0x6CA32774 (section 5 @ 0x8750)
module unrar at 0x6CA34C40 (section 5 @ 0xAC1C)
module unrar at 0x6CA35990 (section 5 @ 0xB96C)
module unrar at 0x6CA308F0 (section 5 @ 0x68CC)
module unrar at 0x6CA47194 (section 5 @ 0x1D170)
module unrar at 0x6CA47A30 (section 5 @ 0x1DA0C)
module unrar at 0x6CA59438 (section 5 @ 0x2F414)
module unrar at 0x6CA2A5F8 (section 5 @ 0x5D4)
native kernel module newlib.library.kmod+0x000020ac
native kernel module newlib.library.kmod+0x00002d14
native kernel module newlib.library.kmod+0x00002ef0
unrar:_start()+0x2c8 (section 1 @ 0x2C4)
native kernel module dos.library.kmod+0x000255c8
native kernel module kernel+0x0003e7b4
native kernel module kernel+0x0003e7fc

PPC disassembly:
01b55884: 7d2903a6 mtctr r9
01b55888: 60008080 ori r0,r0,32896
*01b5588c: 816a0000 lwz r11,0(r10)
01b55890: 3d2bfeff subis r9,r11,257
01b55894: 3929feff subi r9,r9,257

System information:

CPU
Model: AMCC PPC440EP V1.3
CPU speed: 799 MHz
FSB speed: 133 MHz
Extensions:

Machine
Machine name: Sam440EP
Memory: 1048576 KB
Extensions: bus.pci

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

Quote:

Quick report 2

Shell cannot be closed during the work, so i trìed with ctrl-c but got a crash


Was it prompting for a password when you pressed ctrl-c?

According to the stack trace the crash was in the GetPasswordText() function. A NULL return value from getpass() function could be the cause of the DSI and would be easy to fix.

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

Quote:

Now, just another request, time permitted of course, are you able to make localization to work ?
I'm close to finish the italian translation ;.)


In theory it should be relatively simple to add locale support using standard AmigaOS catalogs.

It is however made a little more complicated by the fact that unrar expects strings in wide char format (ucs4) so I might have to look over the conversion routines to see how they are handling non-ASCII characters.

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Quote:
Was it prompting for a password when you pressed ctrl-c?


Yes exactly, i was trying to close the shell in that situation, altrough the password was already given and the archive was already extracted .. that's why i didn't say to you, i though there were no relation with that

Quote:
In theory it should be relatively simple to add locale support using standard AmigaOS catalogs.


I found an old 3.20 version when some work seems already done, there is a catalog descriptor file (old of course) and some related code for the translation (loclangAmiga.h and loclangAmiga.hpp files)

Have a look here:

http://www.winrar.es/descargas/62

Go to top
Re: An update for UnRAR ?
Just can't stay away
Just can't stay away


See User information
@samo79

I already made a catalog descriptor file:

https://www.dropbox.com/s/h5p46sxxfoe7ba7/unrar-cd.7z?dl=0

I use the same names for the strings as unrar so I don't have to make too many code changes.

Writing the descriptor file took quite a bit work as there are 381 strings.

Catcomp complains a bit about trailing spaces in some of the strings but fortunately it doesn't strip them out as they are needed. It is a bit odd that formatting is included in the strings to be translated.

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@salass00

Ok i'm already started working on it, it's just almost done as i've already done somethings with the previous catalog ... btw what is the real name of the original author ??

Alexander or Eugene ?
I understand he is russian but in some place they refer to him as Alexander but in other place as Eugene !

Go to top
Re: An update for UnRAR ?
Home away from home
Home away from home


See User information
@samo
They 2 brothers, Eugeniy seems to be main author and Alexand have rights on.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top

  Register To Post
(1) 2 3 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project