RE: [taskjuggler] cygwin compile error

Nigel.Brown_at_qml.com.au
Date: Fri Jan 14 2005 - 07:24:16 CET


Message-ID: <F23B3BCF090CCA43A05E70C7B771E5C82342FC@qmlmail.qml.com.au>
From: Nigel.Brown@qml.com.au
Date: Fri, 14 Jan 2005 16:24:16 +1000
Subject: RE: [taskjuggler] cygwin compile error

Thanks for the fast reply - great support!

In utility.cpp I made the change:

/* struct tm t = { sec, min, hour, d, m - 1, y - 1900, 0, 0, -1, 0, 0 };
*/
    struct tm t = { sec, min, hour, d, m - 1, y - 1900, 0, 0, -1}; /* cygwin
ends at tm_isdst ? */
    time_t localTime = mktime(&t);

as on cygwin /usr/include/time.h has:
struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;
};
i.e last two members missing

and compile got past utility.cpp OK.

It seems to compile the objects but gets an error in linking:
...
*** Warning: This system can not link to static lib archive
/usr/lib/gcc-lib/i68
6-pc-cygwin/3.3.3/../../../libstdc++.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/kde3/include
-I/opt/qt/3.2/include -I
/usr/X11R6/include -DQT_THREAD_SUPPORT -Wnon-virtual-dtor
-Wno-long-long -W
undef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions
-fn
o-check-new -fno-common -MT main.o -MD -MP -MF ".deps/main.Tpo" \
  -c -o main.o `test -f 'main.cpp' || echo './'`main.cpp; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; \
else rm -f ".deps/main.Tpo"; exit 1; \
fi
/bin/bash ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor
-Wno
-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -O2
-fno-e
xceptions -fno-check-new -fno-common -o taskjuggler.exe main.o
libtaskjuggle
r.la
./.libs/libtaskjuggler.a(HTMLPrimitives.o)(.text$_ZN11QMapPrivateIt8QCString
EC1E
v+0x38):HTMLPrimitives.cpp: variable 'vtable for QCString' can't be
auto-importe
d. Please read the documentation for ld's --enable-auto-import for details.
./.libs/libtaskjuggler.a(HTMLPrimitives.o)(.text$_ZN11QMapPrivateIt8QCString
EC1E
PKS1_+0x37):HTMLPrimitives.cpp: variable 'vtable for QCString' can't be
auto-imp
orted. Please read the documentation for ld's --enable-auto-import for
details.
./.libs/libtaskjuggler.a(HTMLPrimitives.o)(.text$_ZN11QMapPrivateIt8QCString
E6in
sertEP12QMapNodeBaseS3_RKt+0x31):HTMLPrimitives.cpp: variable 'vtable for
QCStri
ng' can't be auto-imported. Please read the documentation for ld's
--enable-auto
-import for details.
./.libs/libtaskjuggler.a(HTMLPrimitives.o)(.text$_ZN11QMapPrivateIt8QCString
E4co
pyEP8QMapNodeItS0_E+0x34):HTMLPrimitives.cpp: variable 'vtable for QCString'
can
't be auto-imported. Please read the documentation for ld's
--enable-auto-import
 for details.
Info: resolving QString::shared_null by linking to
__imp___ZN7QString11sha
red_nullE (auto-import)
Info: resolving QString::null by linking to __imp___ZN7QString4nullE
(auto-
import)
Info: resolving _qApp by linking to __imp__qApp (auto-import)
Info: resolving _static_QUType_QString by linking to
__imp__static_QUType_QStrin
g (auto-import)
Info: resolving _static_QUType_int by linking to __imp__static_QUType_int
(auto-
import)
Info: resolving _static_QUType_Null by linking to __imp__static_QUType_Null
(aut
o-import)
Info: resolving QChar::null by linking to __imp___ZN5QChar4nullE
(auto-impo
rt)
Info: resolving QSqlDatabase::defaultConnection by linking to
__imp___ZN1
2QSqlDatabase17defaultConnectionE (auto-import)
Info: resolving vtable for QCStringby linking to __imp___ZTV8QCString
(auto-impo
rt)
Info: resolving QColor::colormodel by linking to
__imp___ZN6QColor10colorm
odelE (auto-import)
collect2: ld returned 1 exit status
make[2]: *** [taskjuggler.exe] Error 1
make[2]: Leaving directory `/tmp/taskjuggler-2.0.1/taskjuggler'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/taskjuggler-2.0.1'
make: *** [all] Error 2

nb8@wbribi57 /tmp/taskjuggler-2.0.1
$
Seems to be something about autoimport? QCString??

I'll stare at it a bit more and google. Any suggestions are welcome.
I've not read much KDE-cygwin docs yet so it may be in there.

At least tm seems "fixed".

Regards
Nigel

> -----Original Message-----
> From: Chris Schlaeger [mailto:cs@suse.de]
> Sent: Friday, 14 January 2005 3:31 PM
> To: skarsch@s1.karsch-net.de
> Cc: Nigel.Brown@qml.com.au
> Subject: Re: [taskjuggler] cygwin compile error
>
> Hi Nigel,
>
> On Thursday 13 January 2005 22:10, Nigel.Brown@qml.com.au wrote:
> > Utility.cpp: In function `time_t date2time(const QString&)':
> >
> > Utility.cpp:762: error: too many initializers for `tm'
>
> looks like the struct tm in time.h is different on Cygwin than on Linux.
> On
> Linux it looks like this:
>
> /* Used by other time functions. */
> struct tm
> {
> int tm_sec; /* Seconds. [0-60] (1 leap second) */
> int tm_min; /* Minutes. [0-59] */
> int tm_hour; /* Hours. [0-23] */
> int tm_mday; /* Day. [1-31] */
> int tm_mon; /* Month. [0-11] */
> int tm_year; /* Year - 1900. */
> int tm_wday; /* Day of week. [0-6] */
> int tm_yday; /* Days in year.[0-365] */
> int tm_isdst; /* DST. [-1/0/1]*/
>
> #ifdef __USE_BSD
> long int tm_gmtoff; /* Seconds east of UTC. */
> __const char *tm_zone; /* Timezone abbreviation. */
> #else
> long int __tm_gmtoff; /* Seconds east of UTC. */
> __const char *__tm_zone; /* Timezone abbreviation. */
> #endif
> };
>
> Just look at your time.h and see if you can adapt the code.
>
> Chris
>
> --
> KDE 3.3: Conquer your Enterprise Desktop! See http://www.kde.org!
> GPG Key: 1024D/0500838B A5FE C051 2AFC 9A14 768A 5125 5829 5750 0500
> 838B

-- 
To unsubscribe, email the address listed in the List-Unsubscribe header
For additional commands, email: taskjuggler-help@suse.com


This archive was generated by hypermail 2.1.7 : Fri Jan 14 2005 - 07:24:38 CET