# Cheese build with Synth failed



## fernandel (Mar 2, 2016)

Hi!

I try to build multimedia/cheese with Synth but it failed and I got in the log:

```
xtracting pkgconf-0.9.12_1: ....... done
===> cheese-3.18.1 depends on executable: pkgconf - found
===> Returning to build of cheese-3.18.1
===> cheese-3.18.1 depends on file:
/usr/local/libdata/pkgconfig/xxf86vm.pc - found
===> cheese-3.18.1 depends on file:
/usr/local/libdata/pkgconfig/x11.pc - found
===> cheese-3.18.1 depends on package: gstreamer1-plugins-bad>=1.4.0
- not found
===> Installing existing package /packages/All/gstreamer1-plugins-
bad-1.6.3.txz
Installing gstreamer1-plugins-bad-1.6.3...
`-- Installing gstreamer1-plugins-1.6.3...
| `-- Installing orc-0.4.24_1...
| `-- Extracting orc-0.4.24_1: .......... done
| `-- Installing gstreamer1-1.6.3...
| | `-- Installing libcheck-0.10.0...
| | `-- Extracting libcheck-0.10.0: .......... done
| `-- Extracting gstreamer1-1.6.3: .......... done
| `-- Installing iso-codes-3.65...
| `-- Extracting iso-codes-3.65: .......... done
`-- Extracting gstreamer1-plugins-1.6.3: .......... done
Extracting gstreamer1-plugins-bad-1.6.3: .......... done
===> cheese-3.18.1 depends on package: gstreamer1-plugins-bad>=1.4.0
- found
===> Returning to build of cheese-3.18.1
===> cheese-3.18.1 depends on package: gstreamer1-plugins-good>=1.4.0
- not found
===> Installing existing package /packages/All/gstreamer1-plugins-
good-1.6.3.txz
Installing gstreamer1-plugins-good-1.6.3...
Extracting gstreamer1-plugins-good-1.6.3: .......... done
===> cheese-3.18.1 depends on package: gstreamer1-plugins-good>=1.4.0
- found
===> Returning to build of cheese-3.18.1
===> cheese-3.18.1 depends on package: gstreamer1-plugins-jpeg>=1.4.0
- not found
===> Installing existing package /packages/All/gstreamer1-plugins-
jpeg-1.6.3.txz
Installing gstreamer1-plugins-jpeg-1.6.3...
Extracting gstreamer1-plugins-jpeg-1.6.3: . done
===> cheese-3.18.1 depends on package: gstreamer1-plugins-jpeg>=1.4.0
- found
===> Returning to build of cheese-3.18.1
===> cheese-3.18.1 depends on package: gstreamer1-plugins-ogg>=1.4.0
- not found
===> Installing existing package /packages/All/gstreamer1-plugins-
ogg-1.6.3.txz
Installing gstreamer1-plugins-ogg-1.6.3...
`-- Installing libogg-1.3.2_1,4...
`-- Extracting libogg-1.3.2_1,4: .......... done
Extracting gstreamer1-plugins-ogg-1.6.3: . done
===> cheese-3.18.1 depends on package: gstreamer1-plugins-ogg>=1.4.0
- found
===> Returning to build of cheese-3.18.1
===> cheese-3.18.1 depends on package: gstreamer1-plugins-
theora>=1.4.0 - not found
===> Installing existing package /packages/All/gstreamer1-plugins-
theora-1.6.3.txz
Installing gstreamer1-plugins-theora-1.6.3...
`-- Installing libtheora-1.1.1_6...
| `-- Installing libvorbis-1.3.5,3...
| `-- Extracting libvorbis-1.3.5,3: .......... done
`-- Extracting libtheora-1.1.1_6: .......... done
Extracting gstreamer1-plugins-theora-1.6.3: . done
===> cheese-3.18.1 depends on package: gstreamer1-plugins-
theora>=1.4.0 - found
===> Returning to build of cheese-3.18.1
===> cheese-3.18.1 depends on package: gstreamer1-plugins-v4l2>=1.4.0
- not found
===> Installing existing package /packages/All/gstreamer1-plugins-
v4l2-1.6.3.txz
Installing gstreamer1-plugins-v4l2-1.6.3...
`-- Installing webcamd-4.2.0.9...
| `-- Installing cuse4bsd-kmod-0.1.36...
| `-- Extracting cuse4bsd-kmod-0.1.36: .........
pkg-static: archive_read_extract() errno 30: Can't create
'/boot/modules/cuse4bsd.ko.egQ8J27GXqmm'
| `-- Extracting cuse4bsd-kmod-0.1.36... done
| `-- Deleting files for cuse4bsd-kmod-0.1.36: .......... done

Failed to install the following 1 package(s): /packages/All/gstreamer1-
plugins-v4l2-1.6.3.txz
*** Error code 70

Stop.
make: stopped in /xports/multimedia/cheese
=======================================================================
====
```

Thank you.


----------



## marino (Mar 2, 2016)

> pkg-static: archive_read_extract() errno 30: Can't create
> '/boot/modules/cuse4bsd.ko.egQ8J27GXqmm'



why is cheese trying to install in /boot ?  that's the base.

Did it every work?  /boot was recented added as read-only.  
Shouldn't cuse4bsd.ko be installed in /usr/local somewhere?


----------



## fernandel (Mar 3, 2016)

I don't know. I have multimedia/cheese installed and it works.
In /boot/loader.conf I have:

```
cuse4bsd_load="YES"
```

and in /etc/rc.conf

```
webcamd_enable="YES"
```


----------



## marino (Mar 3, 2016)

from my initial investigation, it's a regression that happened when dtrace was supported.
apparently /boot/modules comes empty and kmod ports install into it.  Pretty nasty.
It won't work until the /boot mount is modified in a future release.


----------



## marino (Mar 3, 2016)

this should fix cheese and other ports that use cuse4bsd:


```
ports-mgmt/synth: Upgrade version 1.10 => 1.11

This fixes a regression in building ports that have dependences that
install kernel modules.  When DTrace support was added by providing a
read-only mount of /boot to the builder, the kernel modules could no
longer be installed at /boot/modules by pkg(8).

Previously, although successful, module installs would have caused a file
system violation on test mode checks.  Since /boot is now excluded from
checks (since DTrace support), leftovers in /boot/modules will not be
detected in test mode.  The fix is too elaborate and FreeBSD-specific
to worry about (plus there's the philosophy question about why the ports
framework is even allowed to modify the base but that's out of scope).
```


----------

