# Issue with Gnome3 compilation on ARM



## philo_neo (Sep 15, 2015)

Hi,

I try to compile GNOME 3 on ARM7, I have got errors. I put the variable `MAKE_JOBS_UNSAFE=yes`, but my output shows "use -v to see invocation".

Which variable can I put?

This is my output after `make reinstall` command:

```
root@rpi2:/usr/ports/x11/gnome3 # set MAKE_JOBS_UNSAFE=yes
root@rpi2:/usr/ports/x11/gnome3 # make reinstall
===>  Staging for gnome3-3.16.2
===>  gnome3-3.16.2 depends on executable: dconf-editor - not found
===>  dconf-editor-3.16.1 depends on package: dconf>=0.23.2 - found
===>  dconf-editor-3.16.1 depends on package: vala>=0.18.1 - found
===>  dconf-editor-3.16.1 depends on executable: msgfmt - found
===>  dconf-editor-3.16.1 depends on executable: gmake - found
===>  dconf-editor-3.16.1 depends on executable: pkgconf - found
===>  dconf-editor-3.16.1 depends on executable: gtk-update-icon-cache - found
===>  dconf-editor-3.16.1 depends on file: /usr/local/bin/intltool-extract - found
===>  dconf-editor-3.16.1 depends on shared library: libdconf.so - found (/usr/local/lib/libdconf.so)
===>  dconf-editor-3.16.1 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>  dconf-editor-3.16.1 depends on shared library: libatk-1.0.so - found (/usr/local/lib/libatk-1.0.so)
===>  dconf-editor-3.16.1 depends on shared library: libgdk_pixbuf-2.0.so - found (/usr/local/lib/libgdk_pixbuf-2.0.so)
===>  dconf-editor-3.16.1 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so)
===>  dconf-editor-3.16.1 depends on shared library: libgtk-3.so - not found
===>  gtk3-3.16.6 depends on package: at-spi2-atk>=0 - found
===>  gtk3-3.16.6 depends on executable: msgfmt - found
===>  gtk3-3.16.6 depends on executable: gmake - found
===>  gtk3-3.16.6 depends on executable: pkgconf - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xrender.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xi.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xrandr.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xcursor.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xfixes.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xdamage.pc - found
===>  gtk3-3.16.6 depends on file: /usr/local/libdata/pkgconfig/xcomposite.pc - found
===>  gtk3-3.16.6 depends on executable: gtk-update-icon-cache - found
===>  gtk3-3.16.6 depends on executable: g-ir-scanner - found
===>  gtk3-3.16.6 depends on file: /usr/local/bin/perl5.20.2 - found
===>  gtk3-3.16.6 depends on shared library: libepoxy.so - found (/usr/local/lib/libepoxy.so)
===>  gtk3-3.16.6 depends on shared library: libcolord.so - not found
===>  colord-1.2.11 depends on executable: spotread - found
===>  colord-1.2.11 depends on executable: docbook2html - found
===>  colord-1.2.11 depends on package: docbook-sgml>0 - found
===>  colord-1.2.11 depends on executable: msgfmt - found
===>  colord-1.2.11 depends on executable: gmake - found
===>  colord-1.2.11 depends on executable: pkgconf - found
===>  colord-1.2.11 depends on file: /usr/local/bin/intltool-extract - found
===>  colord-1.2.11 depends on executable: g-ir-scanner - found
===>  colord-1.2.11 depends on shared library: libpolkit-gobject-1.so - not found
===>  Building for polkit-0.113
gmake[14]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113'
gmake  all-recursive
gmake[15]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113'
Making all in actions
gmake[16]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/actions'
gmake[16]: Nothing to be done for 'all'.
gmake[16]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/actions'
Making all in data
gmake[16]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/data'
gmake[16]: Nothing to be done for 'all'.
gmake[16]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/data'
Making all in src
gmake[16]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src'
Making all in polkit
gmake[17]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkit'
gmake  all-am
gmake[18]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkit'
gmake[18]: Nothing to be done for 'all-am'.
gmake[18]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkit'
gmake[17]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkit'
Making all in polkitbackend
gmake[17]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkitbackend'
gmake  all-am
gmake[18]: Entering directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkitbackend'
  CCLD  polkitd
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_ldivmod@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__clear_cache@GCC_3.0'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_d2lz@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_uidivmod@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_idiv@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_uldivmod@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_l2d@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_d2ulz@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_uidiv@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_idivmod@GCC_3.5'
/usr/local/lib/libmozjs-17.0.so: undefined reference to `__aeabi_ul2d@GCC_3.5'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:612: recipe for target 'polkitd' failed
gmake[18]: *** [polkitd] Error 1
gmake[18]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkitbackend'
Makefile:514: recipe for target 'all' failed
gmake[17]: *** [all] Error 2
gmake[17]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src/polkitbackend'
Makefile:419: recipe for target 'all-recursive' failed
gmake[16]: *** [all-recursive] Error 1
gmake[16]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113/src'
Makefile:479: recipe for target 'all-recursive' failed
gmake[15]: *** [all-recursive] Error 1
gmake[15]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113'
Makefile:411: recipe for target 'all' failed
gmake[14]: *** [all] Error 2
gmake[14]: Leaving directory '/usr/ports/sysutils/polkit/work/polkit-0.113'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[13]: stopped in /usr/ports/sysutils/polkit
*** Error code 1

Stop.
make[12]: stopped in /usr/ports/sysutils/polkit
*** Error code 1

Stop.
make[11]: stopped in /usr/ports/sysutils/polkit
*** Error code 1

Stop.
make[10]: stopped in /usr/ports/graphics/colord
*** Error code 1

Stop.
make[9]: stopped in /usr/ports/graphics/colord
*** Error code 1

Stop.
make[8]: stopped in /usr/ports/graphics/colord
*** Error code 1

Stop.
make[7]: stopped in /usr/ports/x11-toolkits/gtk30
*** Error code 1

Stop.
make[6]: stopped in /usr/ports/x11-toolkits/gtk30
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/x11-toolkits/gtk30
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/devel/dconf-editor
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/devel/dconf-editor
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/x11/gnome3
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/x11/gnome3
*** Error code 1

Stop.
make: stopped in /usr/ports/x11/gnome3
root@rpi2:/usr/ports/x11/gnome3 #
```
Best regards
Philippe


----------



## talsamon (Sep 16, 2015)

Don't know if this is here on the right place  Please, look here https://forums.freebsd.org/forums/other-architectures.37/.


----------



## protocelt (Sep 16, 2015)

ARM is a Tier2 platform. I don't know if x11/gnome could be built on your hardware, it's a very large meta port. Maybe look at cross compiling on a machine with more resources.


----------



## kpa (Sep 16, 2015)

Packages for ARM can be cross-compiled with ports-mgmt/poudriere for example on an AMD64 host. The emulators/qemu emulator will be used for the cross-compilation.


----------



## junovitch@ (Sep 16, 2015)

For just ports http://blogs.freebsdish.org/brd/2015/08/25/building-arm-packages-with-poudriere-the-simple-way/ covers how to set up Poudriere for different architectures. That likely would be quicker but I don't know if it fixes the issue on if the port actually works.  On my Beaglebone with the default pkg(8) configuration `pkg search gnome3` doesn't find the port listed in the remote repository.


----------



## Oko (Sep 17, 2015)

We also use cross compiling to build our proprietary code on ARM. I would be really surprised to hear that Gnome or similar bloat-ware could be compiled for ARM. The boards are very nice for embedded applications but I got disillusioned that they are useful at this point for anything beyond that including firewall appliance.


----------



## acheron (Oct 12, 2015)

FYI x11/mate works just fine on armv6.



Edit: x11-wm/xfce4 also works fine.


----------



## Phishfry (Oct 13, 2015)

Do they build from ports with no work? I tried x11/mate and it failed at /print/tex-formats
Did you need to change anything in the makefile or did it build nice. Did you build native or with /ports-mgmt/poudriere-devel+/emulators/qemu?

I am really trying to replicate the Linux desktop that comes with the Beaglebone under FreeBSD so maybe I will try and build /x11/lxde-meta since I am using most of its components anyway with /x11-wm/openbox.

I found the web browser /www/dillo2 to work OK with some sites. What is the browser you are using?


----------



## acheron (Oct 13, 2015)

I'm building with ports-mgmt/poudriere-devel and qemu-arm-static. Here are informations of my setup:

```
poudriere jails -l
JAILNAME  VERSION  ARCH  METHOD  TIMESTAMP  PATH
11armv6  11.0-CURRENT r286960 arm.armv6  svn+https 2015-08-20 16:08:43 /usr/local/poudriere/jails/11armv6

svn info /usr/local/poudriere/ports/default/ | grep Revision
Revision: 398926

pkg info -x qemu
qemu-sbruno-2.4.50.g20150814
qemu-user-static-2.4.50.g20150814
```

I'm using www/arora for web browsing.


----------



## Phishfry (Oct 16, 2015)

So i looked through my notes and it turns out I tried to compile www/seamonkey with ports-mgmt/poudriere-devel and it failed at sysutils/polkit.

Here is what I came up with for -Current.

`poudriere jail -c -j 11armv6 -a arm.armv6 -m svn -v head`

`poudriere bulk -j 11armv6 -f /usr/local/poudriere/build.conf`

`binmiscctl add armv6 --interpreter "/usr/local/bin/qemu-arm-static" --magic ***blah***blah***blah**`

Interesting to see your specific build.


----------



## acheron (Oct 16, 2015)

Put USE_GCC=yes in polkit/Makefile
My jail is very old, I'll upgrade it soon.


----------



## acheron (Oct 16, 2015)

You can use `poudriere jail -c -j 11armv6 -a arm.armv6 -m svn -v head [B]-x[/B]` to build the nxb-bin. It will speed up the build of ports a lot.


----------



## Phishfry (Oct 16, 2015)

Thank you for that. I plan on running x11/lxde-meta this weekend.

I am glad you inspired me to retry www/arora. On the Arm package it does not build the arora.conf correctly and on bootup it has blank screen. Installed it on my FreeBSD laptop and discovered it works nicely and iI copied the conf file over for another browser... Looks like it did not help... Missing everything.


----------



## Phishfry (Oct 18, 2015)

Both x11/lxde-meta and x11-wm/xfce failed at the same dependency.

libglapi


```
Package libdrm_radeon was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_radeon.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libdrm_radeon', required by 'world', not found
```

Did you have to do some work here?

I noticed with the -*x option* it seemed to take longer to build the jail but the software build times were much faster.


----------



## acheron (Oct 19, 2015)

Yeah, I had a patch but sbruno@ and kwm@ were faster than me and committed r399625: https://svnweb.freebsd.org/ports?view=revision&revision=399625


----------



## Greg Quinlan (Nov 23, 2015)

RPI2 - ARMv7
FreeBSD 11-CURRENT as of 22-11-15.....

In the /usr/ports/sysutils/polkit/Makefile add:

```
USE_GCC=yes
```

`# cd /usr/ports/sysutils/polkit
# make clean
# cd /usr/ports/x11/mate
# make BATCH=yes`

Successfully built and carried on building mate...

GQ


----------



## Phishfry (Nov 23, 2015)

Something is broken with the last two beaglepost images whereas ports-mgmt/pkg fails to bootstrap(build `pkg2ng` correctly from web) throwing an error about libssl.so.7

I went back two versions to the Oct 23rd image and all is working well.


----------



## acheron (Nov 23, 2015)

The images are not broken, you need to rebuild ports-mgmt/pkg, cf
/usr/src/UPDATING:

```
20151030: 
 The OpenSSL has been upgraded to 1.0.2d.  Any binaries requiring 
 libcrypto.so.7 or libssl.so.7 must be recompiled.
```


----------

