Sunday, 2 August 2020

Re: Fwd: compiling problems for RISCOS

On 02/08/2020 18:46, Aleksey Murushkin wrote:
> >>Are you following our quick-start guide?  If so, which step did you get
> to before the problem appeared?
> I followed this guide
> http://source.netsurf-browser.org/netsurf.git/tree/docs/quick-start.md
> and I got this error when run $ make TARGET=riscos

Did you set the correct HOST when sourcing env.sh?

https://git.netsurf-browser.org/netsurf.git/tree/docs/quick-start.md#n96

It will report the settings it uses when you source the script.

> >>What operating system are you building on?
> I used Ubuntu 16
>
> >>Did you download our toolchain and build environment for targeting RISC
> OS, or are you using stock GCCSDK?
> I am using GCCSDK

NetSurf requires more than just a working cross compiler to build. While
it is possible to build using a vanilla GCCSDK (assuming that the
GCCSDK_INSTALL_CROSSBIN and GCCSDK_INSTALL_ENV variables are exported
and contain the appropriate paths), at the very least you will need to
ensure that all the third-party libraries that NetSurf depends on (what
we term the NetSurf SDK) are compiled and installed in wherever
GCCSDK_INSTALL_ENV points.

If you have a working GCCSDK cross compiler for RISC OS, then you can
build the SDK yourself by cloning the toolchains git repository and then
doing something like

https://git.netsurf-browser.org/toolchains.git/tree/README#n29

where you have ensured that GCCSDK_INSTALL_CROSSBIN and
GCCSDK_INSTALL_ENV point at the correct place for your environment.

Because the above is both fiddly and time consuming (and because we
already do this ourselves automatically as part of NetSurf's Continuous
Integration environment), we publish tarballs containing pre-built
GCCSDK and NetSurf SDK:

https://git.netsurf-browser.org/netsurf.git/tree/docs/quick-start.md#n120

Assuming that you are running on an x86_64 platform, then the tarball
you want is
https://ci.netsurf-browser.org/builds/toolchains/arm-unknown-riscos-49.tar.xz
(which is the most current toolchain at the time of writing -- note that
the "49" in the filename is the identifier of the CI job that built the
toolchain and thus it will change whenever the toolchain is rebuilt). It
is intended to be unpacked to / so that the toolchain is installed in
/opt/netsurf.

With a properly installed toolchain and SDK, you may then continue with
the instructions in the quick start document (remembering to set HOST
correctly so that it wants to build for RISC OS). Note that env.sh
assumes that cross compilers are either installed in /opt/netsurf or can
be found on the PATH so, if you have not installed either our pre-built
tarball or installed GCCSDK into /opt/netsurf, then you must ensure that
your GCCSDK_INSTALL_CROSSBIN directory is on the PATH before sourcing
env.sh.

> I feel like I need to install missed lib but i dont understand exactly
> which one it is. And do i need to install it to linux platform or
> compile it with autobuilder for riscos for example?

All NetSurf dependencies need to be built for the platform you intend to
run NetSurf on. So, as you want to build NetSurf for RISC OS, you must
ensure that you have all the dependencies built for RISC OS.


J.
_______________________________________________
netsurf-dev mailing list -- netsurf-dev@netsurf-browser.org
To unsubscribe send an email to netsurf-dev-leave@netsurf-browser.org

No comments:

Post a Comment