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

CygWin build broken pipe problem #467

Open
Nirvanatin opened this issue Mar 18, 2023 · 2 comments
Open

CygWin build broken pipe problem #467

Nirvanatin opened this issue Mar 18, 2023 · 2 comments

Comments

@Nirvanatin
Copy link

Nirvanatin commented Mar 18, 2023

I have tried this method and it appears to be ineffective for my case. What could possibly cause the error message failure starting overlapped thread pipe read (code 232) and mtr: unexpected packet generator exit: Broken pipe after running the exe files?

To adjust the formatting, I used find . -type f -exec dos2unix {} \;

$     ./bootstrap.sh && ./configure && make
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-cygwin
checking host system type... x86_64-pc-cygwin
checking for gcc... (cached) gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to enable C11 features... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking size of unsigned char... 1
checking size of unsigned short... 2
checking size of unsigned int... 4
checking size of unsigned long... 8
checking for arpa/nameser_compat.h... yes
checking for curses.h... yes
checking for cursesX.h... no
checking for error.h... yes
checking for fcntl.h... yes
checking for linux/icmp.h... no
checking for linux/errqueue.h... no
checking for ncurses.h... yes
checking for ncurses/curses.h... yes
checking for netinet/in.h... yes
checking for socket.h... no
checking for sys/cdefs.h... yes
checking for sys/limits.h... no
checking for sys/socket.h... yes
checking for stdio_ext.h... yes
checking for sys/types.h... (cached) yes
checking for sys/xti.h... no
checking for values.h... no
checking for __fpending... yes
checking for fcntl... yes
checking for error... yes
checking for getopt_long... yes
checking for floor in -lm... yes
checking for gtk+-3.0... no
checking for gtk+-2.0... no
checking for jansson... yes
checking for library containing initscr... -lncurses
checking for cap_set_proc in -lcap... no
checking for socket... yes
checking for gethostbyname... yes
checking for res_query... yes
checking for dn_expand in -lresolv... yes
checking for gcc options needed to detect all undeclared functions... none needed
checking whether errno is declared... yes
checking for socklen_t... yes
checking for time_t... yes
checking for C flags to get more warnings... -Wall -Wno-pointer-sign
build options:
--------------
libasan :
ipv6    :yes
ipinfo  :yes
ncurses :yes
gtk     :no
jansson :yes
cap     :
libs    :-lncurses -lm
cflags  :-g -O2 -Wall -Wno-pointer-sign
--------------
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make  all-am
make[1]: Entering directory '/home/USER/mtr/mtr'
  CC       ui/mtr-mtr.o
  CC       ui/mtr-net.o
  CC       ui/mtr-cmdpipe.o
  CC       ui/mtr-dns.o
  CC       ui/mtr-raw.o
  CC       ui/mtr-split.o
ui/split.c: In function ‘split_redraw’:
ui/split.c:105:52: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 255 [-Wformat-truncation=]
  105 |             snprintf(newLine, sizeof(newLine), "%s %d %d %d %d %d %d",
      |                                                    ^~
ui/split.c:105:48: note: directive argument in the range [-2147483, 2147483]
  105 |             snprintf(newLine, sizeof(newLine), "%s %d %d %d %d %d %d",
      |                                                ^~~~~~~~~~~~~~~~~~~~~~
ui/split.c:105:48: note: directive argument in the range [-2147483, 2147483]
ui/split.c:105:48: note: directive argument in the range [-2147483, 2147483]
ui/split.c:105:13: note: ‘snprintf’ output between 13 and 319 bytes into a destination of size 256
  105 |             snprintf(newLine, sizeof(newLine), "%s %d %d %d %d %d %d",
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  106 |                      name, net_loss(at), net_returned(at), net_xmit(at),
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  107 |                      net_best(at) / 1000, net_avg(at) / 1000,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  108 |                      net_worst(at) / 1000);
      |                      ~~~~~~~~~~~~~~~~~~~~~
In file included from ui/split.c:37:
In function ‘xstrncpy’,
    inlined from ‘split_redraw’ at ui/split.c:121:13:
ui/utils.h:42:5: warning: ‘strncpy’ output may be truncated copying 255 bytes from a string of length 255 [-Wstringop-truncation]
   42 |     strncpy(dest, src, n - 1);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
  CC       ui/mtr-display.o
  CC       ui/mtr-report.o
  CC       ui/mtr-select.o
  CC       packet/mtr-sockaddr.o
  CC       ui/mtr-asn.o
  CC       ui/mtr-curses.o
  CCLD     mtr.exe
  CC       packet/packet.o
  CC       packet/cmdparse.o
  CC       packet/command.o
  CC       packet/probe.o
  CC       packet/timeval.o
  CC       packet/sockaddr.o
  CC       packet/probe_cygwin.o
  CC       packet/wait_cygwin.o
  CCLD     mtr-packet.exe
  GEN      mtr.8
  GEN      mtr-packet.8
make[1]: Leaving directory '/home/USER/mtr/mtr'

@userdocs
Copy link

userdocs commented Mar 26, 2023

The same issue #465

I believe it's an issue caused by some change in a recent versions of Cygwin as I could build and use mtr (master) using Cygwin 3.3.5 but after updating to 3.4+ it can successfully build (using the IPV6 fix) but mtr-packet gives the error.

https://www.cygwin.com/cygwin-ug-net/ov-new.html

@apschultz
Copy link

In case it helps, I've resolved both the pipe and ICMP6 build issues for myself. Not sure if it is clean enough to upstream:
#465 (comment)

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

No branches or pull requests

3 participants