There was a strange issue: during compilation "BCRefPtrWTF.h" couldn't be found as if some include path was missing. This file exists in BAL/Types/WTF. I just ended up commenting it out for now. It was only included in one place.
@Capehill Issue with that include should be harmless. I assume it can be the same "big/small letters" issue somewhere (or in the file which do include it, or in the name of file, etc).
Are your linux box modern enough? How fast odyssey builds on?
I noticed there are no issues raised on the github page. How do you want to track bugs? I've been using Odyssey for many years but have not been posting the crashlogs anyplace. Does it make sense to start to create issues for items like that?
Also, big thank you for working on this project! I know I speak for a lot of OS4 users who are existed to see this development continue!
Cheers, BIll "tekmage" Borsari
Join me in Silicon Valley June 6th and 7th for www.amiga35.us!
Issue with that include should be harmless. I assume it can be the same "big/small letters" issue somewhere (or in the file which do include it, or in the name of file, etc).
There is also that ".exe" part in HOWTO which doesn't apply to Linux.
Quote:
Are your linux box modern enough? How fast odyssey builds on?
My laptop is some years old, it has an I7 + SSD. I have now timed the build twice and it takes about 38 minutes with -j4.
I have now timed the build twice and it takes about 38 minutes with -j4.
Pretty fast! On cygwin on the same sort of notebook as for you, it probabaly take not 1 hour as i think at first, but 1.5-2 hours i think. That all because of this "cmake" scaning on dependencies and calling fork() for, which on cygwin mean new processes and stuff as it can't be done like real unix's fork()
1) building as "su". Have to check again can it be done as an ordinary user. 2) Comment out one include "BCRefPtrWTF.h" as a workaround. To be checked. 3) At linking phase I'm using ppc-amigaos-g++ and removed -lstdc++. To be checked which way is better.
2) Comment out one include "BCRefPtrWTF.h" as a workaround. To be checked.
That one will surely harmless. I remember i add it myself for Cygwin. Probabaly something somewhere about big/small letters still.
Quote:
3) At linking phase I'm using ppc-amigaos-g++ and removed -lstdc++. To be checked which way is better.
gcc with -lstdc++ and g++ without, produce the same size of binary, and it works the same. But probably you right if you mean to make it all looks cleaner, less "-l" better at least visually )
@Capehill Added your changes: now all builds till the end. I also change "owb" on "Odyssey" binary, so now you run "make -f Makefile Odyssey", and binary will be in the build/bin directory.
Sorry for the "not so on topic" question (It's a new hobby of mine, it seems) :-/
Quote:
Oops. Now I see that I'm using -athread=native instead of -athread=single. Could change that.
But why??? I was under the impression that -athread=native is the way to go when compiling stuff for AmigaOS4? Why single now?
Has something changed in the meantime that i missed? Doesn't single mean that there won't be concurring/parallel threads...why use pthreads at all then?
@Raziel You need to create topic called "Raziel's questions" and put all there :)
pthreads with odyssey used not because of athread-single, but because of some other 3d party libraries which use pthreads. You can buld odyssey and with -athread=native, but it will make no since, only binary will be bigger. Application is single threaded, so no point to use athread=native.
I guess the OWB code we are using at the moment is older C++ (< C++11) so it doesn't use C++ concurrency features. If I remember correctly the newer Webkit uses newer standard and if we get there, this may need to change.
@kas1e However there are multiple tasks related to OWB like MediaPlayer.
@Capehill Yes, but they are real amigaos processes created by CreateProcTags, and not handled via c++ threads. I.e. timer, mediaplayer, icon handling and some other taks are real amigaos processes created via CreateProcTags in few parst of Odyssey's code (maingly in WTF).
C++11 and stuff will help indeed only on later versions of webkit (like those revisions on which 1.25 is based, and which i port too already with some bugs which need to fix, but it indeed use c++11 threads and there athread=single does not work anymore and only athread=native can be used because of c++11 threads in the webkit itself).
But with the version we works currently athread=native just of no needs and size-increase. You can surely build it right now with athread=native, it just will give no benefits at all, only bigger size of file.
@Capehill Made big commit today : added proper debugging functionality: defined bug(), so D(bug("...")); can be used. Thus we use DebugPrintF() on OS4 everywhere instead of kprintf() and get rid of clib2's libdebug.a. There are new file "Base/debug.h" which currently looks like this: