Yocto build failure

Hi,

I’m trying to follow the yocto build scripts for the kernel and filing system for the Arria 10 SOC reference board and get the following error

| /home/drm/yocto/angstrom-socfpga/build/tmp-angstrom_v2014_12-glibc/work/arria10-angstrom-linux-gnueabi/altera-gsrd-pio-interrupt/0.1-r0/git/pio-interrupt/gpio_interrupt.c:61:40: error: ‘IRQF_DISABLED’ undeclared (first use in this function)
| r = request_irq(irq_number, gpio_isr, IRQF_DISABLED, 0, 0);
| ^
| /home/drm/yocto/angstrom-socfpga/build/tmp-angstrom_v2014_12-glibc/work/arria10-angstrom-linux-gnueabi/altera-gsrd-pio-interrupt/0.1-r0/git/pio-interrupt/gpio_interrupt.c:61:40: note: each undeclared identifier is reported only once for each function it appears in

The symbol IRQF_DISABLED is not defined. It appears this symbol was deprecated in 2013.

I have used a number of different systems available to me with the latest being Ubunto 14.04 LTS.

does anybody know if tere is a patch for this?

Dave

Looks like the bug has been submitted but not accepted for the socfpga-15.1 branch.

I seem to have worked around the issue by updating the BB to use the latest branch that has the bug resolved.

REFDES_BRANCH ?= “socfpga-16.1”
SRCREV = “a3d4e657087dbf535401b18cdd810591857b6961”

John,

thank you for replying.

I assume that this change is for the altera-gsrd-pio-interupt
module only

I modified the .bb file and it did get past the error but failed
at the final stage

with the error:

Collected errors:

  • satisfy_dependencies_for: Cannot satisfy the following
    dependencies for altera-gsrd-pio-interrupt:

kernel-4.1.22-ltsi-02999-g9689ce4 *

  • opkg_install_cmd: Cannot install package
    altera-gsrd-pio-interrupt.

ERROR: Function failed: do_rootfs

This is the first time I have used yocto and bitbake.

I also got the same error when I just compiled the code with
IRQF_DISABLED changed to 0.

I have used both Redhat7 and Ubuntu 14.04 with the same result

Any help would be appreciated.

Dave

I ran into the same thing too. I added the following line to conf/local.conf

PACKAGE_EXCLUDE += "altera-gsrd-pio-interrupt "

I didn’t test this, but probably the better way would be to use
IMAGE_INSTALL_remove = " altera-gsrd-pio-interrupt"

Certainly not an ideal fix, but a temporary work around. I wonder if the right way to do this is adding a bitbake append or similar to grab the the patch.

John,
forgive my ignorance but can you elaborate on your instructions? Do you mean to edit bblayers.conf to include the info above or does “updating the BB” mean something else? Thanks in advance

maltomario,

Sorry for the delay. In my first post I intended that you should modify the bitbake file for the altera-gsrd-pio-interrupt.

meta-altera-refdes/recipes-gsrd/altera-gsrd-pio-interrupt/altera-gsrd-pio-interrupt_1.0.bb

But this resulted in the same error that David found. I then suggested that he completely remove the recipe by adding the following to the file conf/local.conf
IMAGE_INSTALL_remove = " altera-gsrd-pio-interrupt"

If you are trying to just make it work, then this might be all you need.

Until the patch is accepted, a better solution is to create a bitbake append of package including a patch of the commit in your own layer or even inside the meta-altera-refdes layer.

─ recipes-gsrd
-------altera-gsrd-pio-interrupt
--------- altera-gsrd-pio-interrupt_%.bbappend
--------- files
--------------0001-FogBugz-369619-Remove-the-use-of-IRQF_DISABLED-in-GS.patch

Your bitbake append file should look something like:

FILESEXTRAPATHS_prepend := “${THISDIR}/files:”

SRC_URI += “file://0001-FogBugz-369619-Remove-the-use-of-IRQF_DISABLED-in-GS.patch”

And you can generate the patch by cloning the package and using git patch commands.

thanks for following up and clarification! I will try these changes over the weekend and see if it works for my case.