Skip Menu |

This queue is for tickets about the Time-y2038 CPAN distribution.

Report information
The Basics
Id: 55225
Status: resolved
Priority: 0/
Queue: Time-y2038

People
Owner: Nobody in particular
Requestors: markus.jansen [...] ericsson.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



CC: "Markus Jansen" <markus.jansen [...] ericsson.com>
Subject: Time::y2038-20100218-25 does not compile on Solaris with Sun C compiler
Date: Thu, 4 Mar 2010 12:31:51 +0100
To: <bug-Time-y2038 [...] rt.cpan.org>
From: "Markus Jansen" <markus.jansen [...] ericsson.com>
Hi Michael and others, starting with Time::y2038-20100218 (also checked Time::y2038-20100225), Time::y2038 does not compile on Solaris using the Sun C compiler (versions 5.9 and 5.10). Perl / Solaris versions tested (all failed): Perl 5.8.8 on Solaris 5.8 sparc Perl 5.10.1 on Solaris 10 sparc + i386 Output from Build is: Probing time.h capabilities. You may see some C errors, that's ok. Building Time-y2038 "try.c", line 9: undefined struct/union member: tm_gmtoff cc: acomp failed for try.c "try.c", line 8: warning: implicit function declaration: timegm Undefined first referenced symbol in file timegm try.o ld: fatal: Symbol referencing errors. No output written to try "try.c", line 9: undefined struct/union member: tm_zone "try.c", line 9: warning: improper pointer/integer combination: op "=" cc: acomp failed for try.c cc -Iy2038 -Iy2038 -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/prod/lib/5.10.1/i86pc-solaris-thread-multi-64int/CORE -KPIC -c -D_REENTRANT -mt -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/plib/include -DPERL_IMPLICIT_CONTEXT -DPERL_USE_SAFE_PUTENV -Xa -xtransition -xstrconst -mr -Qn -v -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED,E_STATEMENT_NOT_REACHED,E_SLASH_STAR_IN_CMNT -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/plib/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xO4 -fns -fsingle -fsimple=2 -ftrap=%none -xtarget=generic -xbuiltin=%all -xdepend -xlibmil -xlibmopt -xunroll=3 -xalias_level=basic -o y2038/time64.o y2038/time64.c "y2038/time64.c", line 69: too many struct/union initializers "y2038/time64.c", line 91: too many struct/union initializers "y2038/time64.c", line 777: warning: constant promoted according to the 1999 ISO C standard "y2038/time64.c", line 777: warning: ANSI C treats constant as unsigned: op ">=" cc: acomp failed for y2038/time64.c Best regards, Markus Jansen Markus Jansen Master Methods & Tools Engineer, PM & IT Ericsson GmbH Eurolab R&D Ericsson Allee 1 52134 Herzogenrath, Germany www.ericsson.com Office: +49 2407 575 5157 Fax: +49 2407 575 98452 Mobile: +49 172 274 2003 Email: Markus.Jansen@ericsson.com Ericsson GmbH. Sitz: Düsseldorf. Registergericht: Amtsgericht Düsseldorf, HRB 33012. Geschäftsführer: Carsten Ahrens. Aufsichtsratsvorsitzender: Anders Olin This communication is confidential and intended solely for the addressee(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you believe this message has been sent to you in error, please notify the sender by replying to this transmission and delete the message without disclosing it. Thank you. E-mail including attachments is susceptible to data corruption, interception, unauthorized amendment, tampering and viruses, and we only send and receive emails on the basis that we are not liable for any such corruption, interception, amendment, tampering or viruses or any consequences thereof.
Subject: Re: [rt.cpan.org #55225] Time::y2038-20100218-25 does not compile on Solaris with Sun C compiler
Date: Thu, 04 Mar 2010 14:37:01 -0800
To: bug-Time-y2038 [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Markus Jansen via RT wrote: Show quoted text
> starting with Time::y2038-20100218 (also checked Time::y2038-20100225), Time::y2038 > does not compile on Solaris using the Sun C compiler (versions 5.9 and 5.10). > > Perl / Solaris versions tested (all failed): > Perl 5.8.8 on Solaris 5.8 sparc > Perl 5.10.1 on Solaris 10 sparc + i386 > > Output from Build is: > > Probing time.h capabilities. > You may see some C errors, that's ok. > Building Time-y2038 > "try.c", line 9: undefined struct/union member: tm_gmtoff > cc: acomp failed for try.c > "try.c", line 8: warning: implicit function declaration: timegm > Undefined first referenced > symbol in file > timegm try.o > ld: fatal: Symbol referencing errors. No output written to try > "try.c", line 9: undefined struct/union member: tm_zone > "try.c", line 9: warning: improper pointer/integer combination: op "=" > cc: acomp failed for try.c
That's ok, its just compiler noise from our failed attempt to detect tm->tm_gmtoff and tm->tm_zone. Show quoted text
> cc -Iy2038 -Iy2038 -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/prod/lib/5.10.1/i86pc-solaris-thread-multi-64int/CORE -KPIC -c -D_REENTRANT -mt -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/plib/include -DPERL_IMPLICIT_CONTEXT -DPERL_USE_SAFE_PUTENV -Xa -xtransition -xstrconst -mr -Qn -v -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED,E_STATEMENT_NOT_REACHED,E_SLASH_STAR_IN_CMNT -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/plib/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xO4 -fns -fsingle -fsimple=2 -ftrap=%none -xtarget=generic -xbuiltin=%all -xdepend -xlibmil -xlibmopt -xunroll=3 -xalias_level=basic -o y2038/time64.o y2038/time64.c > "y2038/time64.c", line 69: too many struct/union initializers > "y2038/time64.c", line 91: too many struct/union initializers > "y2038/time64.c", line 777: warning: constant promoted according to the 1999 ISO C standard > "y2038/time64.c", line 777: warning: ANSI C treats constant as unsigned: op ">=" > cc: acomp failed for y2038/time64.c
That's not ok. Other compilers have warned about it, I guess Sun's compiler is more strict. Please try the attached patch and let me know. -- 7. Not allowed to add "In accordance with the prophesy" to the end of answers I give to a question an officer asks me. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/
diff --git a/time64.c b/time64.c index aba5efb..e8bdd20 100644 --- a/time64.c +++ b/time64.c @@ -60,13 +60,9 @@ SYSTEM_MKTIME_MAX_TM_YDAY, SYSTEM_MKTIME_MAX_TM_ISDST #ifdef HAS_TM_TM_GMTOFF ,SYSTEM_MKTIME_MAX_TM_GMTOFF -#else -,0 #endif #ifdef HAS_TM_TM_ZONE ,SYSTEM_MKTIME_MAX_TM_ZONE -#else -,"" #endif }; @@ -82,13 +78,9 @@ SYSTEM_MKTIME_MIN_TM_YDAY, SYSTEM_MKTIME_MIN_TM_ISDST #ifdef HAS_TM_TM_GMTOFF ,SYSTEM_MKTIME_MIN_TM_GMTOFF -#else -,0 #endif #ifdef HAS_TM_TM_ZONE ,SYSTEM_MKTIME_MIN_TM_ZONE -#else -,"" #endif }; @@ -105,13 +97,9 @@ SYSTEM_TIMEGM_MAX_TM_YDAY, SYSTEM_TIMEGM_MAX_TM_ISDST #ifdef HAS_TM_TM_GMTOFF ,SYSTEM_TIMEGM_MAX_TM_GMTOFF -#else -,0 #endif #ifdef HAS_TM_TM_ZONE ,SYSTEM_TIMEGM_MAX_TM_ZONE -#else -,"" #endif }; @@ -127,13 +115,9 @@ SYSTEM_TIMEGM_MIN_TM_YDAY, SYSTEM_TIMEGM_MIN_TM_ISDST #ifdef HAS_TM_TM_GMTOFF ,SYSTEM_TIMEGM_MIN_TM_GMTOFF -#else -,0 #endif #ifdef HAS_TM_TM_ZONE ,SYSTEM_TIMEGM_MIN_TM_ZONE -#else -,"" #endif }; #endif /* HAS_TIMEGM */
CC: "Markus Jansen" <markus.jansen [...] ericsson.com>
Subject: RE: [rt.cpan.org #55225] Time::y2038-20100218-25 does not compile on Solaris with Sun C compiler
Date: Fri, 5 Mar 2010 11:03:03 +0100
To: <bug-Time-y2038 [...] rt.cpan.org>
From: "Markus Jansen" <markus.jansen [...] ericsson.com>
Hello Michael, your patch works without problems. Thanks for the fast fix. Best regards, Markus -- Markus Jansen Master Methods & Tools Engineer, PM&IT Ericsson GmbH Eurolab R&D Ericsson Allee 1 52134 Herzogenrath, Germany www.ericsson.com Office: +49 2407 575 5157 Fax: +49 2407 575 98452 Mobile: +49 172 274 2003 Email: Markus.Jansen@ericsson.com Ericsson GmbH. Sitz: Düsseldorf. Registergericht: Amtsgericht Düsseldorf, HRB 33012. Geschäftsführer: Carsten Ahrens. Aufsichtsratsvorsitzender: Anders Olin This communication is confidential and intended solely for the addressee(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you believe this message has been sent to you in error, please notify the sender by replying to this transmission and delete the message without disclosing it. Thank you. E-mail including attachments is susceptible to data corruption, interception, unauthorized amendment, tampering and viruses, and we only send and receive emails on the basis that we are not liable for any such corruption, interception, amendment, tampering or viruses or any consequences thereof. Show quoted text
-----Original Message----- From: Michael G Schwern via RT [mailto:bug-Time-y2038@rt.cpan.org] Sent: Thursday, March 04, 2010 11:38 PM To: Markus Jansen Subject: Re: [rt.cpan.org #55225] Time::y2038-20100218-25 does not compile on Solaris with Sun C compiler <URL: http://rt.cpan.org/Ticket/Display.html?id=55225 > Markus Jansen via RT wrote:
> starting with Time::y2038-20100218 (also checked > Time::y2038-20100225), Time::y2038 does not compile on Solaris using the Sun C compiler (versions 5.9 and 5.10). > > Perl / Solaris versions tested (all failed): > Perl 5.8.8 on Solaris 5.8 sparc > Perl 5.10.1 on Solaris 10 sparc + i386 > > Output from Build is: > > Probing time.h capabilities. > You may see some C errors, that's ok. > Building Time-y2038 > "try.c", line 9: undefined struct/union member: tm_gmtoff > cc: acomp failed for try.c > "try.c", line 8: warning: implicit function declaration: timegm > Undefined first referenced > symbol in file > timegm try.o > ld: fatal: Symbol referencing errors. No output written to try > "try.c", line 9: undefined struct/union member: tm_zone "try.c", line > 9: warning: improper pointer/integer combination: op "=" > cc: acomp failed for try.c
That's ok, its just compiler noise from our failed attempt to detect tm->tm_gmtoff and tm->tm_zone.
> cc -Iy2038 -Iy2038 > -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/pro > d/lib/5.10.1/i86pc-solaris-thread-multi-64int/CORE -KPIC -c > -D_REENTRANT -mt > -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/plib/include -DPERL_IMPLICIT_CONTEXT -DPERL_USE_SAFE_PUTENV -Xa -xtransition -xstrconst -mr -Qn -v -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED,E_STATEMENT_NOT_REACHED,E_SLASH_STAR_IN_CMNT -I/vobs/cc/CCA-perl01/perl5_SunOS_i386_________sixtyfive_char_path/plib/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xO4 -fns -fsingle -fsimple=2 -ftrap=%none -xtarget=generic -xbuiltin=%all -xdepend -xlibmil -xlibmopt -xunroll=3 -xalias_level=basic -o y2038/time64.o y2038/time64.c "y2038/time64.c", line 69: too many struct/union initializers "y2038/time64.c", line 91: too many struct/union initializers "y2038/time64.c", line 777: warning: constant promoted according to the 1999 ISO C standard "y2038/time64.c", line 777: warning: ANSI C treats constant as unsigned: op ">=" > cc: acomp failed for y2038/time64.c
That's not ok. Other compilers have warned about it, I guess Sun's compiler is more strict. Please try the attached patch and let me know. -- 7. Not allowed to add "In accordance with the prophesy" to the end of answers I give to a question an officer asks me. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/
This patch will be included in the next release, coming shortly.