Compile Odyssey browser

11 posts / 0 new
Last post
walkero
walkero's picture
Offline
Last seen: 4 months 1 week ago
Joined: 2009-05-03 16:54
Compile Odyssey browser

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:

  1. [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformPathCairo.cpp.obj
  2. [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformPathCairoCairo.cpp.obj
  3. [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp.obj
  4. [ 30%] Building CXX object Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCRefPtrCairoCairo.cpp.obj
  5. In file included from /opt/code/Odyssey/odyssey-r155188-1.23/build/generated_link/BAL/PlatformRefPtrCairo.h:23,
  6. from /opt/code/Odyssey/odyssey-r155188-1.23/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp:20:
  7. /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
  8. #include "BCRefPtrWTF.h"
  9. ^~~~~~~~~~~~~~~
  10. compilation terminated.
  11. Source/WebCore/CMakeFiles/webcore.dir/build.make:14061: recipe for target 'Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp.obj' failed
  12. make[3]: *** [Source/WebCore/CMakeFiles/webcore.dir/__/__/BAL/Graphics/WebCore/Cairo/BCPlatformRefPtrCairoCairo.cpp.obj] Error 1
  13. make[3]: *** Waiting for unfinished jobs....
  14. CMakeFiles/Makefile2:302: recipe for target 'Source/WebCore/CMakeFiles/webcore.dir/all' failed
  15. make[2]: *** [Source/WebCore/CMakeFiles/webcore.dir/all] Error 2
  16. CMakeFiles/Makefile2:424: recipe for target 'Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule' failed
  17. make[1]: *** [Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule] Error 2
  18. Makefile:277: recipe for target 'Odyssey' failed
  19. 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.

kas1e
kas1e's picture
Offline
Last seen: 3 months 3 weeks ago
Joined: 2010-11-30 15:30
Re: Compile Odyssey browser

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".

walkero
walkero's picture
Offline
Last seen: 4 months 1 week ago
Joined: 2009-05-03 16:54
Re: Compile Odyssey browser

@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?

kas1e
kas1e's picture
Offline
Last seen: 3 months 3 weeks ago
Joined: 2010-11-30 15:30
Re: Compile Odyssey browser

@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.

jabirulo
jabirulo's picture
Offline
Last seen: 1 month 1 week ago
Joined: 2013-05-30 00:53
Re: Compile Odyssey browser

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

walkero
walkero's picture
Offline
Last seen: 4 months 1 week ago
Joined: 2009-05-03 16:54
Re: Compile Odyssey browser

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?

  1. [100%] Built target webkit-owb
  2. [100%] Linking CXX executable ../../bin/Odyssey
  3. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lcairo
  4. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lpixman-1
  5. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lfontconfig
  6. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lfreetype
  7. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lcurl
  8. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lrtmp
  9. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -ljpeg
  10. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lpng
  11. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lwebp
  12. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lsqlite3
  13. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lxslt
  14. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lavdevice2
  15. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lavformat
  16. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lavcodec2
  17. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lavutil2
  18. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lswscale2
  19. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lswresample2
  20. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lxml2
  21. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lexpat
  22. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lbz2
  23. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lssl
  24. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lcrypto
  25. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -licui18n
  26. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -licuuc
  27. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -licudata
  28. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lpthread
  29. /opt/ppc-amigaos/lib/gcc/ppc-amigaos/8.4.0/../../../../ppc-amigaos/bin/ld: cannot find -lz
  30. collect2: error: ld returned 1 exit status
  31. Tools/OWBLauncher/CMakeFiles/Odyssey.dir/build.make:99: recipe for target 'bin/Odyssey' failed
  32. make[3]: *** [bin/Odyssey] Error 1
  33. CMakeFiles/Makefile2:417: recipe for target 'Tools/OWBLauncher/CMakeFiles/Odyssey.dir/all' failed
  34. make[2]: *** [Tools/OWBLauncher/CMakeFiles/Odyssey.dir/all] Error 2
  35. CMakeFiles/Makefile2:424: recipe for target 'Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule' failed
  36. make[1]: *** [Tools/OWBLauncher/CMakeFiles/Odyssey.dir/rule] Error 2
  37. Makefile:277: recipe for target 'Odyssey' failed
  38. make: *** [Odyssey] Error 2
walkero
walkero's picture
Offline
Last seen: 4 months 1 week ago
Joined: 2009-05-03 16:54
Re: Compile Odyssey browser

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

MobileConnect
MobileConnect's picture
Offline
Last seen: 3 years 7 months ago
Joined: 2021-03-08 19:05
Re: Compile Odyssey browser

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

MobileConnect
MobileConnect's picture
Offline
Last seen: 3 years 7 months ago
Joined: 2021-03-08 19:05
Re: Compile Odyssey browser

paging dr @walkero

walkero
walkero's picture
Offline
Last seen: 4 months 1 week ago
Joined: 2009-05-03 16:54
Re: Compile Odyssey browser

@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.

MobileConnect
MobileConnect's picture
Offline
Last seen: 3 years 7 months ago
Joined: 2021-03-08 19:05
Re: Compile Odyssey browser

Yep, and I filed a ticket on that project because that has a different issue :-/

Log in or register to post comments