delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:mime-version:in-reply-to:references:date | |
:message-id:subject:from:to:content-type; q=dns; s=default; b=rc | |
le4A5dry85o3bnkhicJA5mmE+WW2DHy69P3Jisxz9nOUitsI2FuhVkARGVmfriqs | |
LU8/eJ3L6ynRZfFAI39dTh3hOPaRtmREqd38T0lfQCGibgjdVegCQa3ocH1kK8lO | |
e4+cI18cgjmnWvQuF0NbokyUjRHnTVstmMkmX3SJM= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:mime-version:in-reply-to:references:date | |
:message-id:subject:from:to:content-type; s=default; bh=RkPZZp00 | |
v6ylYtEC5O1RczFxSWQ=; b=vR6QFunRcAAHiZBD7lTSQLt1+h8h8Cgm4w6dtfXP | |
5DJMsO0dLpTSu//BCM1snkNmMoiuPbj4gZ6R+LK18oBbKfTr5SNZzDHnG/9tolLo | |
Kr1wEUNh67mujh2bJQK2MhzbhtvH4egiZUWwM5HhwWJ1c6U1h0XbguqYgjHYYW8l | |
ako= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=-2.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 |
X-HELO: | mail-wi0-f176.google.com |
MIME-Version: | 1.0 |
X-Received: | by 10.194.78.68 with SMTP id z4mr1440758wjw.126.1404463381307; Fri, 04 Jul 2014 01:43:01 -0700 (PDT) |
In-Reply-To: | <CAKEKBE5j83O+t_NQH0BE2eLD5GScvuAzMkj+xt5dnhEfyrfqpQ@mail.gmail.com> |
References: | <CAKEKBE5j83O+t_NQH0BE2eLD5GScvuAzMkj+xt5dnhEfyrfqpQ AT mail DOT gmail DOT com> |
Date: | Fri, 4 Jul 2014 10:43:01 +0200 |
Message-ID: | <CAEhDDbAY2cBUPvdy3f12zNsTGMv+OsoXDkEonT3ADVYq6h1zAg@mail.gmail.com> |
Subject: | Re: Problems with time.h from an inexperienced user? |
From: | Csaba Raduly <rcsaba AT gmail DOT com> |
To: | cygwin list <cygwin AT cygwin DOT com> |
Hi Hal, On Thu, Jul 3, 2014 at 11:37 PM, Hal Wills wrote: > Apparently there is a discrepancy between how Cygwin handles timeval.h > and how most Linux distributions handle it, because I am unable to > build htop and ncmpcpp with visualizer support on Cygwin. > > Here are the errors when I attempt to 'make' ncmpcpp and './configure' htop: > > > then mv -f ".deps/cmdargs.Tpo" ".deps/cmdargs.Po"; else rm -f > ".deps/cmdargs.Tpo"; exit 1; fi > In file included from cmdargs.cpp:41:0: > visualizer.h:72:2: error: 'timeval' does not name a type > timeval m_timer; > ^ > Makefile:444: recipe for target 'cmdargs.o' failed > make[2]: *** [cmdargs.o] Error 1 > make[2]: Leaving directory '/home/ullr/ncmpcpp/src' > Makefile:305: recipe for target 'all-recursive' failed > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory '/home/ullr/ncmpcpp' > Makefile:217: recipe for target 'all' failed > make: *** [all] Error 2 > > > In file included from Header.h:13:0, > from Settings.h:15, > from AvailableMetersPanel.h:12, > from AvailableMetersPanel.c:8: > Meter.h:88:19: error: field 'time' has incomplete type > struct timeval time; > ^ At least for htop, this is due to the very Linux-centric nature of htop, and the different way system headers include each other. htop's Meter.h uses timeval, but does not include sys/time.h This is incorrect, but htop on Linux gets away with it, because Meter.h includes Process.h, which also doesn't include sys/time.h, but includes sys/types.h On my Ubuntu 12.04 LTS, /usr/include/x86_64-linux-gnu/sys/types.h includes time.h, which drags in the declaration of timeval. Here's a report from include-what-you-use (a tool based on clang) for Meter.h: ---------------------------------------- $ make CC=iwyu Meter.o iwyu -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -MT Meter.o -MD -MP -MF .deps/Meter.Tpo -c -o Meter.o Meter.c Meter.h should add these lines: #include <ncursesw/curses.h> // for attrset, mvaddch #include <sys/time.h> // for timeval !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #include "Object.h" // for Object, ObjectClass #include "Panel.h" // for MAX #include "RichString.h" // for MIN struct Meter_; Meter.h should remove these lines: The full include-list for Meter.h: #include <ncursesw/curses.h> // for attrset, mvaddch #include <sys/time.h> // for timeval #include "ListItem.h" // for ListItem #include "Object.h" // for Object, ObjectClass #include "Panel.h" // for MAX #include "ProcessList.h" // for ProcessList #include "RichString.h" // for MIN struct Meter_; --- Meter.c should add these lines: #include <stddef.h> // for size_t #include <stdio.h> // for snprintf Meter.c should remove these lines: - #include <stdarg.h> // lines 29-29 - #include "String.h" // lines 22-22 ---------------------------------------- You should #include <sys/time.h> in your local copy of Meter.h (and similar fixes elsewhere, if needed). Then you could try convincing the author of htop to fix his program by sending the necessary diffs. Csaba -- GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++ The Tao of math: The numbers you can count are not the real numbers. Life is complex, with real and imaginary parts. "Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds "People disagree with me. I just ignore them." -- Linus Torvalds -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |