Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Fails to compile on FreeBSD amd64 13.0-CURRENT #558

Closed
ehaupt opened this issue May 25, 2019 · 2 comments
Closed

[Bug] Fails to compile on FreeBSD amd64 13.0-CURRENT #558

ehaupt opened this issue May 25, 2019 · 2 comments
Assignees
Labels
Milestone

Comments

@ehaupt
Copy link

ehaupt commented May 25, 2019

Describe the bug
Compiling tcpreplay 4.3.2 on FreeBSD 13.0-CURRENT (amd64) (OSVERSION 1300029) fails to compile.

Build log

Quoting OSVERSION, the most recent changes to FreeBSD were:

Value Revision Date Release
1300008 342772 January 4, 2019 13.0-CURRENT after adding kern.smp.threads_per_core and kern.smp.cores sysctls.
1300009 343213 January 20, 2019 13.0-CURRENT after struct ieee80211vap structure change to resolve ioctl/detach race for ieee80211com structure.
1300010 343485 January 27, 2019 13.0-CURRENT after increasing SPECNAMELEN from 63 to MAXNAMELEN (255).
1300011 344041 February 12, 2019 13.0-CURRENT after renameat(2) has been corrected to work with kernels built with the CAPABILITIES option.
1300012 344062 February 12, 2019 13.0-CURRENT after taskqgroup_attach() and taskqgroup_attach_cpu() take a device_t and a struct resource pointer as arguments for denoting device interrupts.
1300013 344300 February 19, 2019 13.0-CURRENT after the removal of drm and drm2.
1300014 344779 March 4, 2019 13.0-CURRENT after upgrading clang, llvm, lld, lldb, compiler-rt and libc++ to 8.0.0 rc3.
1300015 345196 March 15, 2019 13.0-CURRENT after deanonymizing thread and proc state enums, so userland applications can use them without redefining the value names.
1300016 345236 March 16, 2019 13.0-CURRENT after enabling LLVM OpenMP 8.0.0 rc5 on amd64 by default.
1300017 345305 March 19, 2019 13.0-CURRENT after exposing the Rx mbuf buffer size to drivers in iflib.
1300018 346012 March 16, 2019 13.0-CURRENT after introduction of funlinkat syscall in 345982.
1300019 346282 April 16, 2019 13.0-CURRENT after addition of is_random_seeded(9) to random(4).
1300020 346358 April 18, 2019 13.0-CURRENT after restoring random(4) availability tradeoff prior to 346250 and adding new tunables and diagnostic sysctls for programmatically discovering early seeding problems after boot.
1300021 346645 April 24, 2019 13.0-CURRENT after LinuxKPI uses bus_dma(9) to be compatible with an IOMMU.
1300022 347089 May 4, 2019 13.0-CURRENT after fixing regression issue after r346645 in the LinuxKPI.
1300023 347192 May 6, 2019 13.0-CURRENT after list-ifying kernel dump device configuration.
1300024 347325 May 8, 2019 13.0-CURRENT after bumping the Mellanox driver version numbers (mlx4en(4); mlx5en(4)).
1300025 r347532 May 13, 2019 13.0-CURRENT after renaming vm.max_wired to vm.max_user_wired and changing its type.
1300026 347596 May 14, 2019 13.0-CURRENT after adding context member to ww_mutex in LinuxKPI.
1300027 347601 May 14, 2019 13.0-CURRENT after adding prepare to pm_ops in LinuxKPI.
1300028 347925 May 17, 2019 13.0-CURRENT after removal of bm, cs, de, ed, ep, ex, fe, pcn, sf, sn, tl, tx, txp, vx, wb, and xe drivers.
1300029 347984 May 20, 2019 13.0-CURRENT after removing some header pollution due to sys/eventhandler.h. Affected files may now need to explicitly include one or more of sys/eventhandler.h, sys/ktr.h, sys/lock.h, or sys/mutex.h, when the missing header may have been included implicitly prior to 1300029.

To Reproduce
Steps to reproduce the behavior:

  1. Download the most recent FreeBSD VM Image from here
  2. Make sure the VM disk is large enough
  3. Boot the image and login as root
  4. Download the ports tree:
    $ portsnap fetch extract
  5. Try to build tcpreplay via ports tree, this will take care of all dependencies:
$ cd /usr/ports/net-mgmt/tcpreplay
$ make missing | xargs pkg install -y
$ TRYBROKEN=yes make

Expected behavior
Expect the code to compile without errors.

System (please complete the following information):

  • OS: FreeBSD
  • OS version: 13.0-CURRENT
# make -C/usr/ports -VOSVERSION
1300029
  • Tcpreplay Version: 4.3.2, also a00fd47
@fklassen fklassen self-assigned this May 25, 2019
@fklassen fklassen added the bug label May 25, 2019
@fklassen fklassen added this to the 4.3.3 milestone Jun 4, 2020
fklassen added a commit that referenced this issue Jun 4, 2020
Fragroute relies on down-level `lib/queue.h` which is
copied from older versions of FreeBSD. Depending on the
order of includes, some source files were using
it, and others were picking up `/usr/include/sys/queue.h`.

Fix is to ensure that there is a `lib/queue.h` include before
any `#include defines.h`
fklassen added a commit that referenced this issue Jun 4, 2020
Fragroute relies on down-level `lib/queue.h` which is
copied from older versions of FreeBSD. Depending on the
order of includes, some source files were using
it, and others were picking up `/usr/include/sys/queue.h`.

Fix is to ensure that there is a `lib/queue.h` include before
any `#include defines.h`
fklassen added a commit that referenced this issue Jun 4, 2020
…_freebsd

Bug #558 Restructure includes to pick up proper header
@fklassen
Copy link
Member

fklassen commented Jun 4, 2020

Issue was that 2 different queue.h headers were used during compile. Fixed in PR #601

@fklassen fklassen closed this as completed Jun 4, 2020
@ehaupt
Copy link
Author

ehaupt commented Jun 5, 2020

Thank you @fklassen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants