• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Error Building 2.4.0 Kernel

Scheduled Pinned Locked Moved Development
3 Posts 2 Posters 1.4k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T
    TheNarc
    last edited by Oct 12, 2017, 8:26 PM

    I'm trying to compile the 2.4.0 kernel and receiving "taking address of packed member of class or structure may result in an unaligned pointer value" errors.  The sequence of steps I followed is:

    • Grabbed an official FreeBSD 11.1-RELEASE VM image from https://download.freebsd.org/ftp/releases/VM-IMAGES/11.1-RELEASE/amd64/Latest/FreeBSD-11.1-RELEASE-amd64.vmdk.xz and successfully fired it up in VirtualBox

    • Cloned the RELENG_2_4 branch via the command:  git clone –depth 1 --branch RELENG_2_4 -- https://github.com/pfsense/FreeBSD-src.git pfSense_2.4

    • Removed the device re line from /usr/src/sys/amd64/conf/GENERIC (I'm building the kernel because I want to compile use use Realtek's latest driver for my NICs)

    • Executed make buildkernel KERNCONF=pfSense

    The error I receive is:
    In file included from /root/pfSense_2.4/sys/cam/nvme/nvme_all.h:32:
    /usr/src/sys/dev/nvme/nvme.h:922:16: error: taking address of packed member 'cdw10' of class or structure 'nvme_command' may result in an
          unaligned pointer value [-Werror,-Waddress-of-packed-member]
            *(uint64_t *)&cmd->cdw10 = lba;
                          ^~~~~~~~~~

    I found some suggestions that clang 4.0 was the first version to flag this as an error, so I even tried installing and using clang 3.8 instead, but I still received the same error.  I also found suggestions that the flag -Wno-address-of-packed-member would suppress this error, but I'm not sufficiently well-versed in makefiles to know where to insert this.

    I have been able to sucessfully compile just the Realtek driver under this build environment, so maybe this is a moot point?  Will the stock kernel still load my compiled driver module if I just add if_re_load="YES" to /boot/loader.conf.local?

    Thanks in advance to anyone who may have advice, and I'm glad to provide any further information that may be useful.

    1 Reply Last reply Reply Quote 0
    • T
      TheNarc
      last edited by Oct 13, 2017, 3:51 AM

      So I'm still not clear on why I was unable to compile the kernel, but I wanted to follow up to say that it does appear that placing my compiled v1.94 Realtek if_re.ko driver in /boot/kernel/ and adding if_re_load="YES" to /boot/loader.conf.local was sufficient.  At least, I make this judgment based on the fact that if_re.ko is listed in the output from kldstat.

      1 Reply Last reply Reply Quote 0
      • C
        CSylvain Banned
        last edited by Oct 14, 2017, 10:13 PM

        I also found myself with this problem, which I was able to fix with this fix : https://github.com/freebsd/freebsd/commit/6884a6e482ca6effa702761a1e3fa98bb6946c30#diff-49d9a861ee932d5b656eb20466f2a292
        But other problems have occurred. :-[
        I had not had this problem with the RC version, which it was in "FreeBSD 11.0", so I put a compilation environment under this version, and compilation to work.
        I therefore conclude that the development team forgot to add a "BRANCH RELENG_2_4_0" on this repository: https://github.com/pfsense/FreeBSD-src

        The "Main repository for pfSense" is also unusable because it refers to a "BRANCH" that is missing: https://github.com/pfsense/pfsense/blob/RELENG_2_4_0/tools/builder_defaults.sh#L108

        Can someone tell us about this omission ?

        Thank you !

        1 Reply Last reply Reply Quote 0
        1 out of 3
        • First post
          1/3
          Last post
        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
          This community forum collects and processes your personal information.
          consent.not_received