Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
28 user(s) are online (14 user(s) are browsing Forums)

Members: 0
Guests: 28

more...

Support us!

Headlines

 
  Register To Post  

« 1 (2) 3 4 5 ... 72 »
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@kas1e

Great work Kas1e! Keep going!

..and thanks!

Scott

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@All
All rebulds, those errors gone, but now same errors happens in the libicu libaries (at first in the libicui18n.a):
Quote:

/usr/local/amiga/ppc-amigaos/SDK/local/newlib/lib/libicui18n.a(decContext.ao): In function `uprv_decContextSetStatus_46': decContext.c:(.text+0x4c4): relocation truncated to fit: R_PPC_REL24 against symbol `raise' defined in .text section in ../Tools/OWBLauncher/CMakeFiles/owb.dir/MorphOS/main.cpp.obj
collect2: ld returned 1 exit status


What mean need to rebuild all libicu libs now with same -mlongcall (and, i fear all the other libs i link with may need the same rebuild with -mlongcall in end..)

@Fab
Thanks for, it through bring few warnings:

Quote:

WARNING: Option --enable-demuxer=aac_latm did not match anything
WARNING: Option --enable-decoder=pcm did not match anything
WARNING: Option --enable-decoder=wav did not match anything
WARNING: Option --enable-demuxer=vp8 did not match anything
WARNING: Option --enable-demuxer=vp9 did not match anything


But all other options ok, builds fine and size of final ffmpeg libs now reduces pretty much:

libavcodec: full: 70mb , your: 20mb
libavdevice: full: 257kb, your: 80kb
libavfilter: full 6mb, your: 1mb
libavformat: full 28mb, your: 3mb
libavutil, libswresample and libswscale: mostly the same as with full build.

As for -lmlongcall, google still says that code with it bigger and as result slower, but if it make no visual differences for your tests, and other solutions is ugly hacks, then will just do as you do for mos.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
@kas1e

latm is in 2.0 but perhaps it's been renamed. As for wav and pcm, there's so many options I can't tell you which ones to use.

I was going to say libvpx_vp8 and libvpx_vp9 but then I realised that's probably not the same as vp8 & vp9 without the libvpx prefix. There's probably internal decoders for it, and of course you'd want to use them to keep filesizes down and reduce the amount of dependencies.

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Mick
I use the latest ffmpeg snapshot (that one which we discuss with you week ago), which about the same as Fab use in 1.23, so i think the lines he post should works on version i have, just maybe something changes somewhere ..

Also libavcodec.a of 20mb is seems a bit big anyway.. Just want somehow to make it all in bounds of original mos binary (i.e. 50-60mb with mediaplayer), not something around 100mb :)

@Fab
Which version of icu libs you use for now ? I just checked icu downloads, and last one are 52.1 and size pretty fat as well. In 1.17 readme i see you do update to ICU 4.9.1 is it version you use now ? Also that "the data files are now stored externally in PROGDIR:resource/icudt49b/ to save some memory. Make sure to copy them if you update (a requester will warn you if you don't).", so it mean some specific changes in code of libicu too and if so, can you share them too ? I can of course build version 4.9.1 all statically, but binary will be again bigger then..

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
@kas1e

If you've got a binary from a previous build (where all internal demuxers/decoders are enabled), then you can use "ffmpeg -formats" (and -codecs / -decoders) to get a list of the proper names, and then you should be able to use them on the configure line.

Go to top
Re: Odyssey 1.23 progress
Quite a regular
Quite a regular


See User information
To me this binary size question hangs on this: if displaying an image puts away RAM for as long as the browser is running, then the binary size needs to be as slim as possible.

Go to top
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
Kas1e, your regular updates are great thanks!
How far along would you say you are in having a Release candidate?

AmigaOne X1000.
Radeon RX550

http://www.tinylife.org.uk/
Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@ddni

Well at the moment he is into a linking stage, it's too early to ask for

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Thematic
Binary should be small in any case, just for more or less fast loading: 50-60mb is already not small, but as far as i see morphos version of 1.23 with mediaplayer are 53mb of size, so should be 60mb max for os4 version.

@ddni
Need to deal with libicu now (and maybe some other libs will need rebuilding with mlongcall as well), as well as deal with ffmpeg to have it really 5mb of size, as well as deal with mediaplayer after binary will links and usuall os4 specific parts will be fixed.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Just popping in
Just popping in


See User information
@kas1e

You probably compiled ffmpeg with debug enabled (-g). That makes them way bigger.

About ICU, i still use 4.9.1. There's no reason to update, and it's so boring to build i prefer doing it as rarely as possible. If the data files are external, that's because there was some issue that prevented the big libicudata containing all data files from working properly (possibly a bigendian issue with their weird custom elf loader).
And since libicu is so smart that it crashes as soon as a datafile is missing, i had to check for every datafile. But this code is in Odyssey itself, not in ICU, so you don't need anything else.

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Fab
Quote:

You probably compiled ffmpeg with debug enabled (-g)


Yep, ffmpeg add debug symbols by default and --disable-debug was need need it. In end, that what i have now:

libavcodec.a: 4.2mb
libavdevice.a: 3kb
libavfilter.a: 175kb
libavformat.a: 440kb
libavutil.a: 380kb
libswresample.a: 92kb
libswscale.a: 330kb

In summ ~5,5mb, cool.

@MickJT

You probably need to add --disable-debug for next ffmpeg releases as well.


@Fab
But even with such small size, libicu still scream about:

Quote:

/usr/local/amiga/ppc-amigaos/SDK/local/newlib/lib/libicui18n.a(decContext.ao): In function `uprv_decContextSetStatus_46':
decContext.c:(.text+0x4c4): relocation truncated to fit: R_PPC_REL24 against symbol `raise' defined in .text section in ../Tools/OWBLauncher/CMakeFiles/owb.dir/
MorphOS/main.cpp.obj


So seems -mlongcall need it for that one anyway, as well as dunno about those ffmpeg erros on configure stage:

Quote:

WARNING: Option --enable-demuxer=aac_latm did not match anything
WARNING: Option --enable-decoder=pcm did not match anything
WARNING: Option --enable-decoder=wav did not match anything
WARNING: Option --enable-demuxer=vp8 did not match anything
WARNING: Option --enable-demuxer=vp9 did not match anything


I currently will worry with libicu/mlongcall recompile, just to have binary links in end, and then will back to those ffmpeg warnings when will worry with mediaplayer.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Just can't stay away
Just can't stay away


See User information
@kas1e

Is it necessary to do that when I strip my binaries? As for the ffmpeg libraries, any binaries linked against it can also be stripped. Most of the time libraries can be stripped after the fact too (there are some cases where "strip" has problems doing this to libraries). Isn't it better that they're not stripped? Odyssey can be a special case.

I can't remember if ffmpeg & libs are compiled with -g by default or not, but I'd rather not change anything.

If --disable-debug does more than remove "-g", than I understand that it can bring the file size down more so than "strip" can, but if you're building the libraries yourself then you can do that. I think it serves a purpose leaving it how it is, with Odyssey being a rare exception.

Go to top
Re: Odyssey 1.23 progress
Quite a regular
Quite a regular


See User information
@magnetic

Quote:
kas1e for PRESIDENT!


for sure him will be better compared with Putin

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Mick

--disable-debug remove -g yep. And for binaries its enough to do striping, it will remove it too, but as you also want to release libraries for SDK (those lib...a from ffmpeg), then on them strip will not works, and big fat .a files will be in archive, while, with --disable-debug that info will not be inside of lib...a files => small size of them. With binaries striping of course can do the stuff, but just have big .a in SDK make no sense if they contain info no one need in general )

@tlosm
Quote:

better compared with Putin


Or with Smutin :) Seriously, i just do boring re-compile work of what Fab do, there nothing cool to be honest. Its even sad, that we do not have any developer on os4 who can do browser from scratch as Fab do :)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@Fab

Quote:

And since libicu is so smart that it crashes as soon as a datafile is missing, i had to check for every datafile. But this code is in Odyssey itself, not in ICU, so you don't need anything else.


But then libicu should be builds without static data build in libicudata.a ? Previously i have libicudata.a 17mb of size, now as all the stuff you use externally there should be something like making all that data shared or so ? Currently my mega-line is:

Quote:

./configure --build=i686-pc-cygwin --host=ppc-amigaos --with-cross-build=/usr/local/amiga/icu/source/icu_os4 --disable-shared \
--enable-static --disable-tests --disable-samples --disable-debug CFLAGS='-static -mlongcall' CXXFLAGS='-static -mlongcall' LIBS=-lunix


Once configure done, i have:

Quote:

ICU for C/C++ 49.1.2 is ready to be built.
=== Important Notes: ===
Data Packaging: static
This means: ICU data will be stored in a static library.
To locate data: ICU will use the linked data library. If linked with the stub library located in stubdata/, the application can use udata_setCommonData() or set a data path to override.
Building ICU: Use a GNU make such as make to build ICU. checking the version of "make"... 3.81 (we wanted at least 3.80)
ok


Which i assume wrong, and libicudata.a should be just some stub, as all the datafiles are external now ? Is there some magic options for configure which will do what i need ? Like "--enable-shareddatafiles" or so ?

I also have to deal with some TZNAME define, and as i on cross-compiler i also build x86 version to have those "bins" which used to generate stuff, and put them instead of ppc ones to aos4 build, so that all works in end, and i have:

libicudata: 20mb
libicu18n: 7mb
libicuio: 95kb
libicule: 810kb
libiculx: 150kb
libicutu: 400kb
libicuuc: 4mb

i also have that stubdata/libicudata.a , which is only 1kb , but search for udata_setCommonData() in Odysseys code, and didn't found it, so dunno if it right to
use the same stub of libicudata.a or not.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@tlosm

[/OT]
Haha, but Putin still the best compared to any other capitalist-bankers of the western €uro crap!
[/OT]

@kas1e
Quote:
Or with Smutin :) Seriously, i just do boring re-compile work of what Fab do, there nothing cool to be honest. Its even sad, that we do not have any developer on os4 who can do browser from scratch as Fab do :)


So you have a binary now ?

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@samo
Nope, and not only because i build libicu with static data in and need to build some stub to avoid +17mb of binary (which is pretty much a lot), and because with new libicu which i build now, it mean new includes , and new names of functions with different prefix in compare with what i use previous, what in turn mean : recompile of almost whole odyssey with new icu includes again ! :)) feel the pain :) Recompile already starts and should be done tomorrow if nothing will going wrong with new icu includes. Then binary even with that useless 17mb libicudata should be done and later there will need only recompile libicu to be small, or maybe just to reuse that libicudata.a stub of 1kb, dunno for now.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@kas1e

Quote:
Nope, and not only because i build libicu as static and need to build it shared to avoid +17mb to binary (which is pretty much a lot), and because with new libicu which i build now, it mean new includes , and new names of functions with different prefix in compare with what i use previulsy, what in turn mean : recompile of almost whole odyssey with new icu includes again ! :))


My full solidarity .. for sure recompile all anytime you update somethings (or you make a mistake) might be a very boooring job ..
In my little world i had the same problem with my little "just recompile" projects, but of course their are not a monster like OWB ..

Aniway a curiosity, are you recompiling with the latest LibICU of you are coming back using the same old version used by Fab ?
Probably it would be exactly the same for end users, but maybe not ..

Quote:
(should be done tomorrow if nothing will going wrong).


Great .. once the first binary will be done it would be pretty interesting to check if the video part will work as is (using cybergraphics emulation) or not, then of course the speed of them under our little machines ..

Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@samo
Quote:

Aniway a curiosity, are you recompiling with the latest LibICU of you are coming back using the same old version used by Fab ?


I do it like Fab to avoid any problems and mess in which very easy to bring yourself. Check any morphos version starting from 1.17: You will found there Resources/icudt49b/ directory 17mb of size, that is that what we have previously in libicudata.a , which was attached to main binary (same as it was before on morphos till 1.17 of course). Then , since 1.17 all that icu data-stuff go out external to that place , and all necessary code to handle all those files are in odyssey now. So making a mess with new versions of libicu while we all know how it all done, will make big, fat, unnecessary and wrong mess without needs.

In other words all logical, you can be sure :)

Quote:

Great .. once the first binary will be done it would be pretty interesting to check if the video part will work as is (using cybergraphics emulation) or not, then of course the speed of them under our little machines ..


I assume it will crashes right away :) And because of needs to open somewhere some more interfaces, and because there somehow will be again differences with os4/mos of how they handle some datas , and because cybergraphics stuff will not works (as our cgx emulation includes is not full, i generate my own based on morphos's FD files for "cgxvideo" ). Will it works, or not to be seen, but i assume not. At least overlay i think will not and p96 replacements will need.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Odyssey 1.23 progress
Home away from home
Home away from home


See User information
@all
Binary done, current size 82mb. -20mb of static libicudata which shouldn't be there = 62mb. And 9mb of differences with morphos version can be debug in all other 3d party libs i link with. So making it about the same of size as on mos will be done.

But, as it was expected, it crashes (like again anyone think it will not:) ). Crashlog looks like this:

Quote:

Crash log for task "OWB"
Generated by GrimReaper 53.16
Crash occured in module newlib.library.kmod at address 0x01B77874
Type of crash: DSI (Data Storage Interrupt) exception

Register dump:
GPR (General Purpose Registers):
0: 6FFAE000 64D6DB80 DEADBEEF 00000000 64B0E600 00000001 7E1E5ACC 7E1E4F9C
8: 64B0E8E0 64B0E640 01B5238C 01B7786C 00000478 64FA7868 00000000 65DD66C0
16: 7D478008 00000000 00000000 00340014 02290000 02290000 1948779C 00000000
24: 654DFA12 00000000 64D6DC80 00000001 64B0E640 00000001 64EAF5B0 64B0E838


FPR (Floating Point Registers, NaN = Not a Number):
0: nan 0 0 0
4: 0 24.8 17.8 226
8: 2 4.5036e+15 4.5036e+15 0
12: 1 18 0 0
16: 0 0 0 0
20: 0 0 0 0
24: 0 0 0 0
28: 0 0 0 0

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


SPRs (Special Purpose Registers):
Machine State (msr) : 0x0200F030
Condition (cr) : 0x85027002
Instruction Pointer (ip) : 0x01B77874
Xtended Exception (xer) : 0x0000FFFF
Count (ctr) : 0x64B0B710
Link (lr) : 0x6573AE58
DSI Status (dsisr) : 0x64B0B6E8
Data Address (dar) : 0x65739A2C



680x0 emulated registers:
DATA: 688EE58E 00000003 00000000 00000000 00000000 00000000 00000000 00000000
ADDR: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 64D6DA50
FPU0: 0 0 0 0
FPU4: 0 0 0 0



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

Stack trace:
native kernel module newlib.library.kmod+0x0002b314
_ZN7WebCore14PNGImageReader6decodeERKNS_12SharedBufferEb()+0x70 (section 1 @ 0xD6FE34)
_ZN7WebCore15PNGImageDecoder15isSizeAvailableEv()+0x54 (section 1 @ 0xD6FB10)
_ZN7WebCore11ImageSource15isSizeAvailableEv()+0x30 (section 1 @ 0x15494C)
_ZN7WebCore11BitmapImage15isSizeAvailableEv()+0x48 (section 1 @ 0x1452D4)
_ZN7WebCore11BitmapImage11dataChangedEb()+0x14c (section 1 @ 0x145FB8)
_ZN7WebCore5Image7setDataEN3WTF10PassRefPtrINS_12SharedBufferEEEb()+0x16c (section 1 @ 0x1559F8)
_ZN7WebCore5Image20loadPlatformResourceEPKc()+0x38c (section 1 @ 0x15E5BC)
T.3013()+0x2e8 (section 1 @ 0x137A4C4)
_GLOBAL__I_BCScrollbarThemeMorphOS.cpp()+0x30 (section 1 @ 0x137A694)
native kernel module newlib.library.kmod+0x00000138
native kernel module newlib.library.kmod+0x00002088
native kernel module newlib.library.kmod+0x00002d54
native kernel module newlib.library.kmod+0x00002ee8
_start()+0x170 (section 1 @ 0x16C)
native kernel module dos.library.kmod+0x00024cd0
native kernel module kernel+0x0006acd0
native kernel module kernel+0x0006ad50

PPC disassembly:
01b7786c: 3863000f addi r3,r3,15
01b77870: 54630036 rlwinm r3,r3,0,0,27
*01b77874: 90230000 stw r1,0(r3)
01b77878: 94430004 stwu r2,4(r3)
01b7787c: 95a30004 stwu r13,4(r3)


Seeing crash it's about png decoding, i assume because on mos version fab use shared versions of png.library and jpeg.library, but through it should works as i fix them the same as in 1.16 before, by making empty libraries/png.h, and proto/png.h in which i just include <png.h> so to use it as static. Time for boring time wasting , again !:)


Edited by kas1e on 2014/1/28 6:59:44
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top

  Register To Post
« 1 (2) 3 4 5 ... 72 »

 




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



Polls
Running AmigaOS 4 on?
AmigaOne SE/XE or microA1 12% (26)
Pegasos2 3% (8)
X5000 22% (48)
X1000 14% (30)
A1222 8% (19)
Sam 440/460 18% (40)
Classic PowerPC Amiga 2% (6)
WinUAE emulation 7% (16)
Qemu emulation 9% (21)
Total Votes: 214
The poll closed at 2025/12/1 12:00
7 Comments


Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project