# Release build fails to install devel/swig



## tuaris (Feb 20, 2021)

I'm trying to build an image using the release building infrastructure as a reference guide. I understand that the process is slightly different for 13.0, so I make adjustments where needed.  Specifically I'm wanting to build a 13.0-RELENG image for the Pine book Pro with sysutils/u-boot-pinebookpro.

My build environment is *FreeBSD 12.2-RELEASE-p1 GENERIC  amd64*.

I grabbed the sources using:

`git clone -b releng/13.0 --depth 1 https://git.freebsd.org/src.git 13.0-BETA3`

Created a new file under release/arm64/PINEBOOKPRO.conf with the following contents:


```
#!/bin/sh
#
# $FreeBSD$
#

MAKE_CONF="/home/danny/Shared/Development/FreeBSD-Sources/release-confs/make.conf"
SRC_CONF="/home/danny/Shared/Development/FreeBSD-Sources/release-confs/src.conf"
CHROOTDIR="/home/danny/Shared/Development/FreeBSD-Sources/scratch"

SRCBRANCH="releng/13.0"

EMBEDDED_TARGET_ARCH="aarch64"
EMBEDDED_TARGET="arm64"
EMBEDDEDBUILD=1
EMBEDDEDPORTS="sysutils/u-boot-pinebookpro"
FAT_SIZE="50m -b 16m"
FAT_TYPE="16"
IMAGE_SIZE="3072M"
KERNEL="GENERIC"
MD_ARGS="-x 63 -y 255"
NODOC=1
PART_SCHEME="GPT"
export BOARDNAME="PINEBOOKPRO"

arm_install_uboot() {
    UBOOT_DIR="/usr/local/share/u-boot/u-boot-pinebookpro"
    UBOOT_FILE_1="idbloader.img"
    UBOOT_FILE_2="u-boot.itb"
    chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILE_1} \
        of=/dev/${mddev} bs=512 seek=64 conv=sync
    chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILE_2} \
        of=/dev/${mddev} bs=512 seek=16384 conv=sync
    return 0
}
```

Both make.conf and src.conf are populated as per the linked wiki:


```
WITHOUT_DEBUG=YES
MK_PROFILE=no
```


```
WITHOUT_DEBUG_FILES=1
WITHOUT_KERNEL_SYMBOLS=yes
WITHOUT_TESTS=yes
WITHOUT_PROFILE=yes
WITHOUT_LLVM_ASSERTIONS=yes
WITH_MALLOC_PRODUCTION=yes
```

Installed the sysutils/u-boot-pinebookpro port

`pkg install -y u-boot-pinebookpro`

Then ran the release.sh script to start the build:

`sh release.sh -c arm64/PINEBOOKPRO.conf`

A few hours later it fails during the step when it installs the devel/swig port:


```
cp: ./Lib/octave/std_carray.i: Function not implemented
*** Error code 1

Stop.
make[2]: stopped in /tmp/ports/usr/ports/devel/swig/work/swig-4.0.2
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/devel/swig
*** Error code 1

Stop.
make: stopped in /usr/ports/sysutils/u-boot-pinebookpro
```

Although probably unnecessary, the entire log can be downloaded.


----------



## tuaris (Feb 20, 2021)

I'm noticing now what I'm doing wrong 
It's strange that it got this far.

I will spin up a 13.0-BETA2 (or hopefully BETA3) Bhyve VM and try again.


----------



## SirDice (Feb 20, 2021)

The src.conf and make.conf are for building -CURRENT. FreeBSD 13.0 is not -CURRENT any more, it has been branched off and will be released soon (it has a releng/13.0 branch). That means those additional debug flags have already been turned off, they're specific to -CURRENT versions.


----------



## tuaris (Mar 16, 2021)

It looks like if I don't specify *SRCBRANCH* it always builds CURRENT regardless of what I checkout/clone. Does this mean that I don't need the entire source tree when using release.sh?

EDIT: Actually even with that it still builds CURRENT.  Strange.
EDIT2: Deleting the scratch directory and starting over now builds the correct version.


----------

