esnet/iperf

iperf3 v3.9 on macOS using deprecated 'daemon'; recommended to use posix_spawn APIs instead

Open

#1048 opened on Sep 4, 2020

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C (4,946 stars) (1,083 forks)batch import
Help Wantedportability

Description

NOTE: The iperf3 issue tracker is for registering bugs, enhancement requests, or submissions of code. It is not a means for asking questions about building or using iperf3. Those are best directed towards the iperf3 mailing list at iperf-dev@googlegroups.com or question sites such as Stack Overflow (http://www.stackoverflow.com/). A list of frequently-asked questions regarding iperf3 can be found at http://software.es.net/iperf/faq.html.

Context

  • Version of iperf3: 3.9

  • Hardware: Apple MacBook Pro (Retina, 15-inch, Mid 2014), 2.8 GHz Quad-Core Intel Core i7, 16GB RAM

  • Operating system (and distribution, if any): macOS 10.15.6 "Catalina" with all updates

Please note: iperf3 is supported on Linux, FreeBSD, and macOS. Support may be provided on a best-effort basis to other UNIX-like platforms. We cannot provide support for building and/or running iperf3 on Windows, iOS, or Android.

  • Other relevant information (for example, non-default compilers, libraries, cross-compiling, etc.):

Please fill out one of the "Bug Report" or "Enhancement Request" sections, as appropriate.

Bug Report

  • Expected Behavior

Clean compile. Have XCode 11.7 installed and using CLI tools to do build as usual.

This is more of an FYI but thought, considering the warning message and that 'daemon' was apparently first deprecated in macOS 10.5 (meaning nearly 13 years ago), you might like to know and possibly make some adjustments.

  • Actual Behavior

During the make step a warning is thrown up explaining this.

Mind you, the code compiles and still runs. But using deprecated features is always suboptimal and at risk of breaking the compile once those features are removed.

% make
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
  CC       iperf3-main.o
main.c:141:8: warning: 'daemon' is deprecated: first deprecated in macOS 10.5 -
      Use posix_spawn APIs instead. [-Wdeprecated-declarations]
                rc = daemon(0, 0);
                     ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:292:6: note: 
      'daemon' has been explicitly marked deprecated here
int      daemon(int, int) __DARWIN_1050(daemon) __OSX_AVAILABLE_BUT_DEPR...
         ^
1 warning generated.
...
  • Steps to Reproduce
  1. Download iperf3 source (iperf-3.9.tar.gz)
  2. Decompress (e.g., tar zxvf iperf-3.9.tar.gz)
  3. cd iperf-3.9
  4. configure
  5. make
  • Possible Solution

Replace the use of "daemon" with posix_spawn APIs instead as the warning states.

Please submit patches or code changes as a pull request.

Enhancement Request

  • Current behavior

  • Desired behavior

  • Implementation notes

If submitting a proposed implementation of an enhancement request, please use the pull request mechanism.

Contributor guide