Author Topic: Compile Odyssey for ABI_V0  (Read 1677 times)

ch1ll

  • Newbie
  • *
  • Posts: 21
    • View Profile
Compile Odyssey for ABI_V0
« on: October 24, 2018, 09:07:53 PM »
Hi all,

I modified a bit the source code of Odyssey from deadwood to compile with gcc-4.6.4 or  gcc-6.1.0 and binutils 2.25 in the current ABI_V0. Now I can compile it cleanly, but I still cannot link it.
I see that the linker take a lot of time and use all the memory available and at the end I guess it got interrupted with the error below.
I tried with different VM running ubuntu 16.04 and 14.04 and 8 GB or RAM and with my host running Fedora 28 with 16 GB of RAM + 20 GB of swap. I always have this error. I guess that available RAM is not the real issue.
You can find my modifications on: https://github.com/nscendoni/OdysseyWebBrowser/tree/odyssey-r187682.

[100%] Building CXX object Tools/OdysseyWebBrowser/CMakeFiles/owb.dir/main.cpp.obj
cd /home/vagrant/AROS-20180827-source/bin/linux-i386/gen/local/odyssey/Tools/OdysseyWebBrowser && /home/vagrant/AROS-20180827-source/bin/linux-x86_64/tools/crosstools/i386-aros-g++   -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DUSER_AGENT_GTK_MAJOR_VERSION=601 -DUSER_AGENT_GTK_MINOR_VERSION=1 --sysroot /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development --sysroot /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development -I/home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development/include -I   -Wall  -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_PERSONAL      -g -DADEBUG=1 -DMDEBUG=1 -O0 -m32 -march=i686  -Wno-unused-function  -Wno-conversion-null -Wno-deprecated-declarations -Wno-cast-align -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti -O2 -I/home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development/include/cairo -I/home/vagrant/AROS-20180827-source/local/odyssey/Source/WebKit/mui/Api/MorphOS -I/home/vagrant/AROS-20180827-source/local/odyssey/Source/WebKit/mui/Api/AROS/include -I/home/vagrant/AROS-20180827-source/bin/linux-i386/gen/local/odyssey/DerivedSources/WebCore    -o CMakeFiles/owb.dir/main.cpp.obj -c /home/vagrant/AROS-20180827-source/local/odyssey/Tools/OdysseyWebBrowser/main.cpp
Linking CXX executable ../../bin/owb
cd /home/vagrant/AROS-20180827-source/bin/linux-i386/gen/local/odyssey/Tools/OdysseyWebBrowser && /usr/bin/cmake -E cmake_link_script CMakeFiles/owb.dir/link.txt --verbose=1
/home/vagrant/AROS-20180827-source/bin/linux-x86_64/tools/crosstools/i386-aros-g++   --sysroot /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development --sysroot /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development -I/home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development/include -I   -Wall  -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_PERSONAL      -g -DADEBUG=1 -DMDEBUG=1 -O0 -m32 -march=i686  -Wno-unused-function  -Wno-conversion-null -Wno-deprecated-declarations -Wno-cast-align -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti -O2  -L -static-libstdc++  -g CMakeFiles/owb.dir/main.cpp.obj  -o ../../bin/owb  ../../lib/libjavascriptcoremui.a ../../lib/libWebCoreMUI.a ../../lib/libwebkitmui.a -lz -lcairo -lpixman -lfontconfig -lfreetype2 -lxml2 -lz -lcurl -ljpeg -lpng -lssl -lcrypto -licui18n -licuuc -licudata -lsqlite3 -lxslt -ldebug -lopenurl -lrexxsyslib -lavformat -lbz2 -lavcodec -liconv -lz -lavutil -lswresample -lswscale ../../lib/libWebCoreMUI.a ../../lib/libjavascriptcoremui.a /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development/lib/libfontconfig.a /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development/lib/libfreetype2.a /home/vagrant/AROS-20180827-source/bin/linux-i386/AROS/Development/lib/libz.a ../../lib/libWTFMUI.a -lcairo -lpixman -lfontconfig -lfreetype2 -lxml2 -lcurl -ljpeg -lpng -lssl -lcrypto -licui18n -licuuc -licudata -lsqlite3 -lxslt -ldebug -lopenurl -lrexxsyslib -lavformat -lbz2 -lavcodec -liconv -lavutil -lswresample -lswscale
nm: /tmp/catmpl76Y8i: File format not recognized
/home/vagrant/AROS-20180827-source/bin/linux-x86_64/tools/crosstools/i386-aros-objdump: /tmp/catmpl76Y8i: File format not recognized
/tmp/catmpl76Y8i: file not recognized: File format not recognized

« Last Edit: October 24, 2018, 10:11:03 PM by ch1ll »

wawa

  • Junior Member
  • **
  • Posts: 69
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #1 on: October 25, 2018, 07:04:50 PM »
cant really tell whats wrong. maybe the hard disk is full and the file got truncated. sorry.

polluks

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #2 on: October 25, 2018, 11:22:03 PM »
Strange, you don't need nm or objdump for linking.
Did you take a look at ../../bin/owb?

ch1ll

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #3 on: October 26, 2018, 11:06:16 PM »
Hi all

I tried again with a VM with 100GB of disk, 8 GB of RAM + 17 of swap. I checked the system during the link, and it used all the ram + 2.5 GB of swap  and then it finished with th same output. I had 57 GB of free space during the linking.
I have the strace of that process. I'm reading it but unfortunately I don't know details about the internals of binutils. If somebody has some suggestion please let me know.

Cheers

Ch1ll

nikos

  • Junior Member
  • **
  • Posts: 64
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #4 on: October 27, 2018, 09:53:01 AM »
I will ask Neil. Thanks for your work and hope eventually it will work.

ch1ll

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #5 on: October 28, 2018, 01:35:12 AM »
Hi all,

I have some news. I tried to compile using a VM with Ubuntu 14 32bit and it looks that I do not have that error, but  ffmpeg still cannot find some symbol. I have now 2 questions:
1. My understanding is that bsdsocket.library is a core library and should be automatically linked, isn't it?
2. log2, log2f and __isinff are defined in Development/include/aros/stdc/math.h do you have any idea why they are not found?

nicola@ubuntu:~/AROS-20181022-source/bin/linux-i386/gen/local/odyssey/Tools/OdysseyWebBrowser$ /home/nicola/AROS-20181022-source/bin/linux-i386/tools/crosstools/i386-aros-g++   --sysroot /home/nicola/AROS-20180827-source/bin/linux-i386/AROS/Development --sysroot /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development -I/home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/include -I   -Wall  -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_PERSONAL      -O2 -m32 -march=i686  -Wno-unused-function  -Wno-conversion-null -Wno-deprecated-declarations -Wno-cast-align -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti -O2  -L -static-libstdc++ CMakeFiles/owb.dir/main.cpp.obj  -o ../../bin/owb  ../../lib/libjavascriptcoremui.a ../../lib/libWebCoreMUI.a ../../lib/libwebkitmui.a -lz -lcairo -lpixman -lfontconfig -lfreetype2 -lxml2 -lz -lcurl -ljpeg -lpng -lssl -lcrypto -licui18n -licuuc -licudata -lsqlite3 -lxslt -ldebug -lopenurl -lrexxsyslib -lavformat -lbz2 -lavcodec -liconv -lz -lavutil -lswresample -lswscale ../../lib/libWebCoreMUI.a ../../lib/libjavascriptcoremui.a /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/lib/libfontconfig.a /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/lib/libfreetype2.a /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/lib/libz.a ../../lib/libWTFMUI.a -lcairo -lpixman -lfontconfig -lfreetype2 -lxml2 -lcurl -ljpeg -lpng -lssl -lcrypto -licui18n -licuuc -licudata -lsqlite3 -lxslt -ldebug -lopenurl -lrexxsyslib -lavformat -lbz2 -lavcodec -liconv -lavutil -lswresample -lswscale -lpthread -lz -lm
There are undefined symbols in '../../bin/owb':
         U CloseSocket   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:977
         U connect   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:460
         U __isinff   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavcodec/nellymoserenc.c:267
         U log2   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavcodec/metasound.c:78
         U log2f   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavcodec/imc.c:429
         U recv   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:945
         U send   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:966
         U sendto   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:962

sabbate

  • Junior Member
  • **
  • Posts: 54
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #6 on: October 28, 2018, 06:31:20 AM »
Hi

precisely what did you change from the original code?

have a nice Sunday

ch1ll

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #7 on: October 28, 2018, 08:33:06 AM »
Hi sabbate,

you can see details here: https://github.com/deadwood-pl/OdysseyWebBrowser/compare/odyssey-r187682...nscendoni:odyssey-r187682?expand=1
Basically  I commented some ASSERT and made some small modifications to compile with gcc-6.1.0


sabbate

  • Junior Member
  • **
  • Posts: 54
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #8 on: October 28, 2018, 08:43:35 AM »
hi morning

I think that there is need of an update regarding the openssl library for the proper functioning of the browser, has already been ported and it is available, if it is discussed on the old forum, thanks for your contribution

thank you

salvatore

ch1ll

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #9 on: October 28, 2018, 09:01:56 AM »
Hi Salvatore

yes, this is why I was compiling it!  :)

RLS89ZX

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #10 on: October 28, 2018, 10:18:31 AM »
Awesome! Can you please port the best Open Source Creativity Software Programs to AROS ABI_V0 like GIMP, Blender, Audacity, Inkscape, OpenShot, Mypaint, Cura, stopmotion, etc.
Also, don't forget to port VLC as well to AORS!
Thank you for considering this request

nikos

  • Junior Member
  • **
  • Posts: 64
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #11 on: October 28, 2018, 11:22:56 AM »
Awesome! Can you please port the best Open Source Creativity Software Programs to AROS ABI_V0 like GIMP, Blender, Audacity, Inkscape, OpenShot, Mypaint, Cura, stopmotion, etc.
Also, don't forget to port VLC as well to AORS!
Thank you for considering this request

Don't be stupid. Try to appreciate what is being done.

sabbate

  • Junior Member
  • **
  • Posts: 54
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #12 on: October 28, 2018, 01:56:44 PM »
@ch1ll

thanks, in the old forum there was talk of a possible new version of ffmpeg, I do not know if it was brought and then implemented

salvatore
« Last Edit: October 28, 2018, 02:10:17 PM by sabbate »

ch1ll

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #13 on: October 28, 2018, 06:48:44 PM »
Hi all,

About ffmpeg upgrade we will see once the compilation works properly, and about other Open Source software on AROS let's discuss in other threads.

A small upgrade on the linking issue. It looks to me that now only the symbols from bsdsocket are not found on ffmpeg. I see that OpenLibrary() is never called.
I guess that this is required, and I guess this can be the reason why I cannot link the bsdsocket symbols. Is that correct?

Here the situation now:

nicola@ubuntu:~/AROS-20181022-source/bin/linux-i386/gen/local/odyssey/Tools/OdysseyWebBrowser$ /home/nicola/AROS-20181022-source/bin/linux-i386/tools/crosstools/i386-aros-g++   --sysroot /home/nicola/AROS-20180827-source/bin/linux-i386/AROS/Development --sysroot /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development -I/home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/include -I   -Wall  -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_PERSONAL      -O2 -m32 -march=i686  -Wno-unused-function  -Wno-conversion-null -Wno-deprecated-declarations -Wno-cast-align -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti -O2  -L -static-libstdc++ CMakeFiles/owb.dir/main.cpp.obj  -o ../../bin/owb  ../../lib/libjavascriptcoremui.a ../../lib/libWebCoreMUI.a ../../lib/libwebkitmui.a -lz -lcairo -lpixman -lfontconfig -lfreetype2 -lxml2 -lz -lcurl -ljpeg -lpng -lssl -lcrypto -licui18n -licuuc -licudata -lsqlite3 -lxslt -ldebug -lopenurl -lrexxsyslib -lavformat -lbz2 -lavcodec -liconv -lz -lavutil -lswresample -lswscale -lm ../../lib/libWebCoreMUI.a ../../lib/libjavascriptcoremui.a /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/lib/libfontconfig.a /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/lib/libfreetype2.a /home/nicola/AROS-20181022-source/bin/linux-i386/AROS/Development/lib/libz.a ../../lib/libWTFMUI.a -lcairo -lpixman -lfontconfig -lfreetype2 -lxml2 -lcurl -ljpeg -lpng -lssl -lcrypto -licui18n -licuuc -licudata -lsqlite3 -lxslt -ldebug -lopenurl -lrexxsyslib -lavformat -lbz2 -lavcodec -liconv -lavutil -lswresample -lswscale -lpthread -lz -lstdc
There are undefined symbols in '../../bin/owb':
         U CloseSocket   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:992
         U connect   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:475
         U recv   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:960
         U send   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:981
         U sendto   /home/nicola/AROS-20181022-source/bin/linux-i386/gen/contrib/MultiMedia/libs/ffmpeg/ffmpeg/src/libavformat/udp.c:977


wawa

  • Junior Member
  • **
  • Posts: 69
    • View Profile
Re: Compile Odyssey for ABI_V0
« Reply #14 on: October 28, 2018, 09:44:01 PM »
yes, the new ffmpeg builds by default, but the old diff is left in the source, and old ffmpeg can be compiled setting its version number in appropriate mmakefile.src. currently odyssey compiles and works (correctly?) only with the old one. to utilize new one either source needs adopted or newer acinerella needs to be pulled in and interfaced correctly, as some things changed. i have not been able to achieve this all alone.