Poster | Thread |
Hans
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 4:41:17
| | [ #21 ] |
|
|
|
Elite Member |
Joined: 27-Dec-2003 Posts: 5067
From: New Zealand | | |
|
| @fishy_fis
Quote:
fishy_fis wrote: @thread
And suddenly it becomes clear......
Despite the hours/days/weeks/years people spend talking about "joining forces", or "co-operating" no-one really wants to. This very thread, one that should be encouraged and supported received pretty much no responses, and thats on probably the most important piece of software for all of us.
|
I'd join this effort if I weren't already too busy on other projects. If we want a usable browser (incl. JIT Javascript, WebAssembly, up-to-date web standards, etc.), then we need to share the development load.
@all Regarding git, how well git/sgit works natively is kind of irrelevant because, AFAIK, Odyssey can't be built natively due to a complicated build system (CMake doesn't work properly, at least on AmigaOS 4.x); it requires a cross-compiler.
I've found sgit to be okay. It's clunky, but Sebastian has improved it in response to some bug tickets and enhancement requests I filed. NOTE: The os4depot version is old. Click here to get the latest.
Hans
_________________ http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project. https://keasigmadelta.com/ - More of my work. |
|
Status: Offline |
|
|
Hans
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 8:25:59
| | [ #22 ] |
|
|
|
Elite Member |
Joined: 27-Dec-2003 Posts: 5067
From: New Zealand | | |
|
| @wawa
One thing that might help more developers get involved, is if there were instructions on how to build it for each platform. For example: - What dependencies do you need to install (and how)? - How to get CMake to cross-compile for your chosen target platform - Where to find platform-specific code - Any other details that would help people get started
Hans
_________________ http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project. https://keasigmadelta.com/ - More of my work. |
|
Status: Offline |
|
|
nikosidis
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 10:29:49
| | [ #23 ] |
|
|
|
Cult Member |
Joined: 9-Dec-2008 Posts: 994
From: Norway, Oslo | | |
|
| @Hans
Thank you for the info. Very important people like you step forward and at least tell us what to do.
I might try to find a coder to update the engine if everything builds as it should.
Wava: The versions you have build you taken out the html 5 video player stuff. Is it easy for you to implement?
Last edited by nikosidis on 31-Mar-2018 at 10:30 AM.
|
|
Status: Offline |
|
|
Mr_Capehill
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 10:40:03
| | [ #24 ] |
|
|
|
Super Member |
Joined: 15-Mar-2003 Posts: 1933
From: Yharnam | | |
|
| @Hans
CMake works natively, at least for some projects, like SDL2 and MilkyTracker. Last edited by Mr_Capehill on 31-Mar-2018 at 10:40 AM.
|
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 10:48:03
| | [ #25 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| @Hans
Quote:
Regarding git, how well git/sgit works natively is kind of irrelevant because, AFAIK, Odyssey can't be built natively due to a complicated build system (CMake doesn't work properly, at least on AmigaOS 4.x); it requires a cross-compiler. |
odyssey doesnt necessarily need git, i should have checked it out using svn, i just found out that i hate git, because it takes ten times more typing for the same effect and while that its easy to mess up stuff.
but it looks like odyssey needs cmake. aros makefile just triggers it along with appropriate flags. what concerns crosscompiling, its mandatory. it already takes ages and when it rebuilds the whole project it takes hours. even with -j4. |
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 11:19:26
| | [ #26 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| @Hans Quote:
- What dependencies do you need to install (and how)? |
im relying on aros build system that does it for me (mostly). there are specified folders libraries and includes go into. nothing unusual. mmakefile.src in the top folder contains most information. for instance dependencies, that need to be built beforehand: Quote:
MM- odyssey-exe : contrib-icu4c \ #MM contrib-cairo \ #MM contrib-curl \ #MM contrib-sqlite \ #MM contrib-libxslt \ #MM contrib-gfx-libs-pixman \ #MM contrib-libiconv \ #MM contrib-ffmpeg
|
this stuff has already been available on aros. i just had to adjust some options for some architectures. the problem was with icu-4.2.1, which is default on aros. due to nature of the process it doesnt cross compile. basing it on kalamatees unfinished older attempts i ported icu-60.2, but, as odyssey itself, it requires newer compiler that supports c++11. i think late 4.x.x might suffice. better 5.x.x. i use6.3.0. everything else is too bothersome.
Quote:
- How to get CMake to cross-compile for your chosen target platform |
i dont even know that in detail. i simply feed target flags when i configure aros and the build system sets everything up accorsing to macro scripts in config/make.templ. you can see the different scripts (copy files, fetch and build using cmske) invoked in the lower part of the makefile.
Quote:
- Where to find platform-specific code |
aros has platform specific code in arch folder or ifdefs, so its not a problem to build whole architecture specific system.
what concerns odyssey it is specified by cmake flags and also partly in cmake files arond the source. id havent found all of that yet, but i suspect, since the same source has already been used to build morphos and os4 version, it should be fairly easy.
since it all started on morphos you need to specify platform which is MUI. you see it below. you also need to specify the system, which in this case is AROS. further you see instructions where to find support libs and includes and flags to enable of disable specific feature. you will find corresponding ifsefs around the source.
Quote:
ODYSSEY_OPTIONS := \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SYSTEM_NAME=AROS \ -DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++" \ -DPORT=MUI \ -DCAIRO_INCLUDE_DIRS=$(AROS_INCLUDES)/cairo/ \ -DFREETYPE_INCLUDE_DIRS=$(AROS_INCLUDES)/freetype/ \ -DLIBXML2_INCLUDE_DIR=$(AROS_INCLUDES)/libxml2/ \ -DFREETYPE_LIBRARIES="$(AROS_LIB)/libfreetype2.a" \ -DFONTCONFIG_LIBRARIES="$(AROS_LIB)/libfontconfig.a" \ -DICU_LIBRARIES="$(AROS_LIB)/libicui18n.a;$(AROS_LIB)/libicuuc.a;$(AROS_LIB)/libicudata.a" \ -DENABLE_DFG_JIT:BOOL=OFF \ -DENABLE_VIDEO:BOOL=OFF \ -DENABLE_VIDEO_TRACK:BOOL=OFF \ -DZLIB_LIBRARIES="$(AROS_LIB)/libz.a" \ ..
|
Quote:
- Any other details that would help people get started |
i think there are few people on os4 and morphos side that have done it already and know their platform specific stuff better. but ask away, if i can help i will. |
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 11:21:30
| | [ #27 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| @nikosidis
Quote:
Wava: The versions you have build you taken out the html 5 video player stuff. Is it easy for you to implement? |
as i wrote above, nothing to implement. it was just a setting, but one needs to find out, how to spell it hard way.
it is turned off now, but ill re enable it later. |
|
Status: Offline |
|
|
nikosidis
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 12:05:12
| | [ #28 ] |
|
|
|
Cult Member |
Joined: 9-Dec-2008 Posts: 994
From: Norway, Oslo | | |
|
| @wawa
I was not that I ment you had to write code for it. I know it is already there. I just tought it could be some problems integreating it into the other stuff. Sorry for bad explenation.
|
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 31-Mar-2018 12:23:25
| | [ #29 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| @nikosidis
Quote:
I just tought it could be some problems integreating it into the other stuff. |
you mean other target platforms? remains to be seen, but all the support libs including ffmpeg build also for ppc as well as m68k. i think that stuff is if not endian then at least system agnostic for most part. and morphos and os4 will have their dependencies at hand.
as i said, to date i have x86 binary tested and ppc binary untested. i manages to get aros ppc booting in qemu, but as soon as i modify the iso it becomes non bootable in uboot, and im totally unfamiliar with it.
@all sorry for those (if anybody) following my clumsy commits last night. git annoys me and i try to implement cleanly what i have worked around earlier, namely linking issue in javascriptcore, that eternally depends of the content of webcore, which is not yet available as its being built later: Quote:
Linking CXX executable ../../../bin/jsc There are undefined symbols in '../../../bin/jsc': U aros_bailout_jump U aros_is_memory_bailout U aros_memory_allocation_error U get_DST_offset() U get_GMT_offset() make[4]: *** [bin/jsc] Fehler 1
|
i previously simply disabled these feats, rushing for proof of concept. i actually think the functions in question should be moved to wtf, but i dont dare such a radical change yet. |
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 2-Apr-2018 6:16:09
| | [ #30 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| problems solved, hopefully in a clean manner. changes commited and i386 target can now be built, except one link library needs to be copied over from contribs, because build system doesnt find it otherwise. since this is an exception, i think it is a bug in aros build system, but i dont want to waste time, researching it now.
enabling ppc and m68k targets compilation will follow. Last edited by wawa on 02-Apr-2018 at 06:21 AM.
|
|
Status: Offline |
|
|
klx300r
| |
Re: common odyssey upgrade effort and repository. Posted on 2-Apr-2018 6:44:25
| | [ #31 ] |
|
|
|
Elite Member |
Joined: 4-Mar-2008 Posts: 3837
From: Toronto, Canada | | |
|
| @wawa
great idea & I'd happily donate to this bounty and I'm sure many other amiga users would too !!!
Surely the various camps can put all the old wars behind to work on a unified modern browser effort that will benefit everyone _________________ ____________________________ c64-2sids, A1000, A1200T-060@50(finally working!),A4000-CSMKIII ! My Master Miggies- Amiga 1000 & AmigaOne X1000 ! mancave-ramblings X1000 I BELIEVE |
|
Status: Offline |
|
|
Mr_Capehill
| |
Re: common odyssey upgrade effort and repository. Posted on 2-Apr-2018 10:05:38
| | [ #32 ] |
|
|
|
Super Member |
Joined: 15-Mar-2003 Posts: 1933
From: Yharnam | | |
|
| @wawa
Just give some time to git. Once you get, you don't want to go back to SVN. At least I don't.
Tip: if you make a mistake with commit, use "git commit --amend" to fix it, for example add some files or change the message. |
|
Status: Offline |
|
|
remotenemesis
| |
Re: common odyssey upgrade effort and repository. Posted on 2-Apr-2018 16:24:43
| | [ #33 ] |
|
|
|
Member |
Joined: 11-Jan-2018 Posts: 94
From: SF Bay Area, California | | |
|
| Quote:
Mr_Capehill wrote: @wawa
Just give some time to git. Once you get, you don't want to go back to SVN. At least I don't.
|
Same for me. I really disliked git when it was forced on me but I have grown to really appreciate its model. |
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 25-Apr-2018 15:18:27
| | [ #34 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| just short heads up, what happens. icu-60.2 compiles now fine same for i386, ppc and m68k this all thanks to c++ header updates and some slight but fundamental further changes for m68k target done by kalamatee only yesterday. the problems with ambigous overloads on m68k are thus solved on the system level. odyssey compiles fully (some parts still disabled) for i386 (tested), ppc (untested) and compiles well 26% into m68k build.
the current problem on m68k is as follows:
Quote:
[ 26%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/css/CSSComputedStyleDeclaration.cpp.obj In file included from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/StdLibExtras.h:32:0, from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/FastMalloc.h:26, from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WebCore/config.h:75, from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WebCore/css/CSSCalculationValue.cpp:32: /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/Assertions.h:321:35: error: static assertion failed: RuleData_should_stay_small #define COMPILE_ASSERT(exp, name) static_assert((exp), #name) ^ /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WebCore/css/RuleSet.h:144:1: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(sizeof(RuleData) == sizeof(SameSizeAsRuleData), RuleData_should_stay_small); ^~~~~~~~~~~~~~ [ 26%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/css/CSSContentDistributionValue.cpp.obj [ 26%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/css/CSSCrossfadeValue.cpp.obj Source/WebCore/CMakeFiles/WebCore.dir/build.make:21609: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/css/CSSCalculationValue.cpp.obj' failed make[4]: *** [Source/WebCore/CMakeFiles/WebCore.dir/css/CSSCalculationValue.cpp.obj] Error 1 make[4]: *** Waiting for unfinished jobs.... In file included from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/StdLibExtras.h:32:0, from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/FastMalloc.h:26, from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WebCore/config.h:75, from /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WebCore/css/CSSComputedStyleDeclaration.cpp:25: /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WTF/wtf/Assertions.h:321:35: error: static assertion failed: RuleData_should_stay_small #define COMPILE_ASSERT(exp, name) static_assert((exp), #name) ^ /home/wawa/AROS-source/AROS/local/OdysseyWebBrowser/Source/WebCore/css/RuleSet.h:144:1: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(sizeof(RuleData) == sizeof(SameSizeAsRuleData), RuleData_should_stay_small);
|
Last edited by wawa on 25-Apr-2018 at 03:20 PM. Last edited by wawa on 25-Apr-2018 at 03:19 PM. Last edited by wawa on 25-Apr-2018 at 03:19 PM. Last edited by wawa on 25-Apr-2018 at 03:19 PM.
|
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 25-Apr-2018 15:24:44
| | [ #35 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| btw there is also icu-61.1 port in existence, but this has not compiled fully for m68k before latest changes so 60.2 remains for now the current version on my build system. Last edited by wawa on 25-Apr-2018 at 03:25 PM.
|
|
Status: Offline |
|
|
remotenemesis
| |
Re: common odyssey upgrade effort and repository. Posted on 25-Apr-2018 16:24:25
| | [ #36 ] |
|
|
|
Member |
Joined: 11-Jan-2018 Posts: 94
From: SF Bay Area, California | | |
|
| @wawa
Thanks for all your work on this.
|
|
Status: Offline |
|
|
samo79
| |
Re: common odyssey upgrade effort and repository. Posted on 25-Apr-2018 16:27:08
| | [ #37 ] |
|
|
|
Elite Member |
Joined: 13-Feb-2003 Posts: 3505
From: Italy, Perugia | | |
|
| @wawa
Still progress, good luck _________________ BACK FOR THE FUTURE
http://www.betatesting.it/backforthefuture
Sam440ep Flex 800 Mhz 1 GB Ram + AmigaOS 4.1 Update 6 AmigaOne XE G3 800 Mhz - 640 MB Ram - Radeon 9200 SE + AmigaOS 4.1 Update 6 |
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 25-Apr-2018 17:00:37
| | [ #38 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| i think i have just solved the aforementioned problem or rather found a nice template how to solve it. thats usually all what i can do ;)
im now compiling further. there is another issue i expect but i think i already have a solution for. so looks like my goal arrives within reach. Last edited by wawa on 25-Apr-2018 at 05:01 PM.
|
|
Status: Offline |
|
|
wawa
| |
Re: common odyssey upgrade effort and repository. Posted on 24-May-2018 10:04:03
| | [ #39 ] |
|
|
|
Elite Member |
Joined: 21-Jan-2008 Posts: 6259
From: Unknown | | |
|
| by now i have compiled odyssey for m68k. still, it doesnt load in full, it silently stops before loading scrollbar theme. im testing under uae so i certainly have enough ram and odyssey also detects winuae bsdsocket.library fine. i also have removed all heavy fonts in order to prevent fontconfig parsing them.
so, if there is anyone out there experienced in debugging odyssey, particularly the binary starting up, any advise is welcome. i will be now looking into enabling debug in the source, of course |
|
Status: Offline |
|
|
amigang
| |
Re: common odyssey upgrade effort and repository. Posted on 24-May-2018 11:09:09
| | [ #40 ] |
|
|
|
Elite Member |
Joined: 12-Jan-2005 Posts: 2024
From: Cheshire, England | | |
|
| I beginning to think the best collaborate effort would be not developing a browser but developing either virtual desktop / emulator program that would allow either linux or android to run on OS4 / Aros / MorphOs that way you could gain access to there world of apps and browser and then worry about native programs later so a least we have access to a world of program, kinda like what QT or Amicygnix does but expanded. _________________ AmigaNG, YouTube, LeaveReality Studio |
|
Status: Offline |
|
|