Hello everyone.
These days I try to compile Odyssey browser from source as cloned from github.
The compiling goes well until it stops on 30% with the following error:
[ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformPathCairo.cpp.obj [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformPathCairoCairo.cpp.obj [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp.obj [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCRefPtrCairoCairo.cpp.obj In file included from /opt/code/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/PlatformRefPtrCairo.h:23, from /opt/code/Odyssey/odyssey-r155188-1.23/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp:20: /opt/code/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/PlatformRefPtr.h:29:10: fatal error: BCRefPtrWTF.h: No such file or directory #include "BCRefPtrWTF.h" ^~~~~~~~~~~~~~~ compilation terminated. Source/WebCore/CMakeFiles/webcore.dir/build.make:14061: recipe for target 'Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp.obj' failed make[3]: *** [Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp.obj] Error 1 make[3]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:302: recipe for target 'Source/WebCore/CMakeFiles/webcore.dir/all' failed make[2]: *** [Source/WebCore/CMakeFiles/webcore.dir/all] Error 2 CMakeFiles/Makefile2:424: recipe for target 'Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule' failed make[1]: *** [Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule] Error 2 Makefile:277: recipe for target 'Odyssey' failed make: *** [Odyssey] Error 2
Does anyone know what is the problem, or where to look for a fix, because the mentioned missing file exists and I am a little bit confused.
If you compile on pure Linux/macOS that may happen with this file because of small/big letters difference in a file name. To fix it just comment out "#include "BCRefPtrWTF.h" in "odyssey-r155188-1.23\BAL\Types\WTF\BCPlatformRefPtrWTF.h".
@kas1e
Thank you for your reply. Yeah, I am compiling on a Linux machine. Now the compiling continues without other issues so far.
This is something that happens because of the filename and case sensitivity?
Since I disabled it from the code, as you suggested, I guess it is something that it is not used in Odyssey at all right?
@walkero
I never got around to fix it properly, all I know is that for Linux you need to comment it out, while on cross-compiler you shouldn't or will have compiling errors.
Just try to comment (//#include "BCRefPtrWTF.h") such file, I had same issue under debian crosscompiling.
Maybe such include only "useful" under windows environment, not sure.
I commented out such include and everything went OK, Odyssey works fine.
AOS4.1/SAM460ex/PPC460EX-1155MHZ/2048MB/RadeonHD6570/SSD120GB/DVDRW :-P
The compiling finished with the following errors. Is it something logical, I mean it happens to you as well, or should I investigate it more?
Found the issue. The Odyssey SDK newlib was not linked. The following was missing
-L/opt/code/Odyssey/odyssey-r155188-1.23_SDK/SDK/local/newlib/lib
I'm having a different issue. Having setup my adtools cross compiler, and followed kas1e's detailed instructions for setting up specifically for building Odyssey, I am getting these errors:
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:100:5: error: ‘InitSemaphore’ was not declared in this scope
InitSemaphore((struct SignalSemaphore *)&lock_);
^~~~~~~~~~~~~
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:100:5: note: suggested alternative: ‘SignalSemaphore’
InitSemaphore((struct SignalSemaphore *)&lock_);
^~~~~~~~~~~~~
SignalSemaphore
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h: In member function ‘void TCMalloc_SpinLock::Lock()’:
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:111:5: error: ‘ObtainSemaphore’ was not declared in this scope
ObtainSemaphore((struct SignalSemaphore *)&lock_);
^~~~~~~~~~~~~~~
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:111:5: note: suggested alternative: ‘SignalSemaphore’
ObtainSemaphore((struct SignalSemaphore *)&lock_);
^~~~~~~~~~~~~~~
SignalSemaphore
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h: In member function ‘void TCMalloc_SpinLock::Unlock()’:
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:118:5: error: ‘ReleaseSemaphore’ was not declared in this scope
ReleaseSemaphore((struct SignalSemaphore *)&lock_);
^~~~~~~~~~~~~~~~
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:118:5: note: suggested alternative: ‘SignalSemaphore’
ReleaseSemaphore((struct SignalSemaphore *)&lock_);
^~~~~~~~~~~~~~~~
SignalSemaphore
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h: In member function ‘bool TCMalloc_SpinLock::IsHeld()’:
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:125:9: error: ‘AttemptSemaphore’ was not declared in this scope
if(!AttemptSemaphore((struct SignalSemaphore *)&lock_))
^~~~~~~~~~~~~~~~
/amiga/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/wtf/TCSpinLock.h:125:9: note: suggested alternative: ‘AN_BadSemaphore’
if(!AttemptSemaphore((struct SignalSemaphore *)&lock_))
^~~~~~~~~~~~~~~~
AN_BadSemaphore
make[3]: *** [Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/build.make:85: Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/llint/LLIntOffsetsExtractor.cpp.obj] Error 1
make[2]: *** [CMakeFiles/Makefile2:291: Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:382: Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule] Error 2
make: *** [Makefile:277: Odyssey] Error 2
paging dr @walkero
@MobileConnect
I am actually using a Docker image (https://github.com/walkero-gr/odysseyOnDocker) with a fork of my own (https://github.com/walkero-gr/Odyssey/tree/Build-on-docker), to compile Odyssey, without the hassle to create a development environment on my machine.
Yep, and I filed a ticket on that project because that has a different issue :-/