[oi-dev] Porting of the Epiphany Browser
Hung Nguyen Gia
gh_origin at zohomail.com
Sun Jan 10 05:47:50 UTC 2021
I guest I figured out how to make libdazzle compiles, but I fails at the linking stage. Not related to the Solaris patch, though. That patch doesn't help.
Let me describe the problems in details:
libdazzle fails to compile because of a compiler flag. With this flag on, it will fail with this error: https://pastebin.com/bqnZUUrN
We have to edit meson.build and comment out '-Werror=incompatible-pointer-types', from test_c_args like this: https://pastebin.com/DWbE4xSE
The it will build happily. But will suddenly fail because the system was hard coded to use gcc-7!
See this: https://pastebin.com/8K4XR7fv
After installing gcc-7 with pkg, gcc-7 replaced gcc-10 as the default compiler. We now could get over this.
But again, it suddenly fails because it can't execute 'cc'. Unlike other Unix system, OpenIndiana doesn't have the binary 'cc' available by default.
This, too, caused many minor but annoying problems when porting software. A simple symbolic link solved this:
sudo ln -s /usr/bin/gcc /usr/bin/cc
I wonder why this symlink doesn't created by default? This would save the porters from many troubles!
So finally, the command is this:
CC='cc -m64' meson ..
The compilation fine, but the final linking stage fails, because of:
ld: fatal: file /export/home/giahung/Downloads/libdazzle-3.38.0/build/tmp-introspect2wjcgx9j/Dazzle-1.0.o: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to /export/home/giahung/Downloads/libdazzle-3.38.0/build/tmp-introspect2wjcgx9j/Dazzle-1.0
collect2: error: ld returned 1 exit status
See here for more detail: https://pastebin.com/Uvm62jNm
That same old misery on any Illumos based system! Now, OI developers, this is you have to deal with this to have libdazzle packaged in your repo.
After that, I could continue with Epiphany itself.
---- On Sun, 10 Jan 2021 09:53:21 +0700 Hung Nguyen Gia via oi-dev <oi-dev at openindiana.org> wrote ----
> More detail:
> Packages needed to install on OI: gcc-10 cmake ninja meson git pkg-config vala
> Environment variable to set: export PKG_CONFIG_PATH='/usr/lib/64/pkgconfig'
> We're doing a 64 bit build. I don't know why, but gobject-introspection is not available on/usr/lib/pkgconfig, so we forced to do a 64 bit build
> Get the latest 3.x release of them:
> Follow the build instructions.
> mkdir build && cd build
> CC='gcc -m64' CXX='g++ -m64' meson ..
> ninja --verbose
> The error will be straight forward of you.
> It's a compilation error. So your patch of the linker part doesn't help.
> oi-dev mailing list
> oi-dev at openindiana.org
More information about the oi-dev