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

compile failures on multiple OSes with perl-5.8.8 #115

Closed
veripoolbot opened this issue Jul 27, 2009 · 1 comment
Closed

compile failures on multiple OSes with perl-5.8.8 #115

veripoolbot opened this issue Jul 27, 2009 · 1 comment
Assignees

Comments

@veripoolbot
Copy link
Collaborator


Author Name: Marek Rouchal
Original Redmine Issue: 115 from https://www.veripool.org
Original Date: 2009-07-27
Original Assignee: Wilson Snyder (@wsnyder)


This bug was cloned from Perl-RT, rt48226.

Email addresses have have been truncated.

Id:   48226
Status:		open
Queue: 		Verilog-Perl
Severity:	Critical
Broken in: 	3.212
Requestors:	MAREKR <Marek.Rouchal@>

Created:	Mon Jul 27 04:06:25 2009
Last Contact: 	Mon Sep 14 13:14:11 2009
Closed: 	Tue Jul 28 08:41:02 2009
Updated: 	Mon Sep 14 13:14:11 2009 by WSNYDER

Mon Jul 27 04:06:30 2009 MAREKR - Ticket created

Subject:  compile failures on multiple OSes with perl-5.8.8
With our perl-5.8.8 (no threads, shared libperl, built with gcc-4.1.2)
the latest version of Verilog-Perl (3.212) shows the following compile
problem:

g++ -c -fno-strict-aliasing -pipe -I/opt/perl_5.8.8/ext/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV
-I../Preproc -O2 -march=pentium4 -DVERSION=\"3.212\"
-DXS_VERSION=\"3.212\" -fPIC "-I/opt/perl_5.8.8/lib/CORE" Parser_cleaned.c
Parser.c: In function 'void boot_Verilog__Parser(CV*)':
Parser.c:711: error: invalid conversion from 'const char*' to 'char*'
Parser.c:711: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:712: error: invalid conversion from 'const char*' to 'char*'
Parser.c:712: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:713: error: invalid conversion from 'const char*' to 'char*'
Parser.c:713: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:714: error: invalid conversion from 'const char*' to 'char*'
Parser.c:714: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:715: error: invalid conversion from 'const char*' to 'char*'
Parser.c:715: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:716: error: invalid conversion from 'const char*' to 'char*'
Parser.c:716: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:717: error: invalid conversion from 'const char*' to 'char*'
Parser.c:717: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:718: error: invalid conversion from 'const char*' to 'char*'
Parser.c:718: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:719: error: invalid conversion from 'const char*' to 'char*'
Parser.c:719: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:720: error: invalid conversion from 'const char*' to 'char*'
Parser.c:720: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:721: error: invalid conversion from 'const char*' to 'char*'
Parser.c:721: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
Parser.c:722: error: invalid conversion from 'const char*' to 'char*'
Parser.c:722: error: initializing argument 3 of 'CV* Perl_newXS(char*,void (*)(CV*), char*)'
gmake[4]: *** [Parser_cleaned.o] Error 1
gmake[4]: Leaving directory `/home/hwadm/.cpan/build/Verilog-Perl-3.212-pGo2U0/Parser'
gmake[3]: *** [subdirs] Error 2

The Perl installation is updated to all the latest versions from CPAN -
so it could be a side-effect of some ExtUtils::* or Devel::* updates - I
tried the previous 3.211 and that shows the same issue; here is what I
installed recently (i.e., after Verilog-Perl-3.211):

DBD::mysql 4.012
HTML::Parser 3.61
Mail::IMAPClient 3.19
Module::ScanDeps 0.91
base 2.14
Archive::Extract 0.34
Config::IniFiles 2.52
Locale-Maketext-Gettext 1.28
PadWalker 1.9
Safe 2.17
Time::Piece 1.15
CPAN 1.9402
File::Fetch 0.20
Archive::Zip 1.30
DateTime::Locale 0.43
File::Temp 0.22
Test::MinimumVersion 0.011
Template-Plugin-Autoformat 2.71
Data::Section 0.091820
Devel::FindRef 1.42
CPANPLUS::Dist::Build 0.36
IO::Socket::SSL 1.26
Proc::Background 1.10
Test::Simple 0.92
autodie 2.06
Term::ANSIColor 2.01
CPANPLUS 0.88
ExtUtils::MakeMaker 6.54
Locale::Maketext::Simple 0.20
LWP 5.829
GD 2.44
Log::Log4perl 1.24
Module::CPANTS::Analyse 0.85
RPC::XML 0.67
DateTime::Format::Strptime 1.1000
Encode 2.35
IPC::Run 0.84
Test::ClassAPI 1.06
Test::Pod 1.40
WWW::Mechanize 1.58
Devel::StackTrace 1.22
Config::General 2.43
ExtUtils::CBuilder 0.2603
ExtUtils::ParseXS 2.2002
File::Find::Rule::Perl 1.08
IO::Zlib 1.10
PAR 0.993
Perl::Critic 1.100
Pod::Simple 3.08
Test::Inline 2.211
Test::Manifest 1.23
Text::Diff 1.37
SystemC::Netlist 1.330
DateTime::TimeZone 0.93
HTTP::Proxy 0.24
prefork 1.04
Template 2.22

I suppose it is probably the ExtUtils::CBuilder and/or ExtUtils::ParseXS
which cause the issues. Please feel free to reassign this ticket if the
root cause is there.

Many thanks and keep up the good work,

Marek

Mon Jul 27 07:52:36 2009 WSNYDER - Correspondence added

Grrr, the Perl_newXS prototype is missing a const, but it's too late to
change the perl internals, so please try the below patch. You'll need
to "make clean" then start from scratch.

BTW if you have additional bugs, please use
http://www.veripool.org/projects/verilog-perl/issues

diff --git a/Preproc/xsubppfix b/Preproc/xsubppfix
index be13899..e13063f 100755
--- a/Preproc/xsubppfix
+++ b/Preproc/xsubppfix
@@ -13,6 +13,7 @@ foreach my $line (<STDIN>) {
1. "warning: deprecated conversion from string constant to âchar*â"
$line =~ s/^ *char\* file = __FILE__;/char* file = (char*)__FILE__;/;
$line =~ s/newXSproto\(\"/newXSproto((char*)\"/;
+ $line =~ s/(newXSproto.*), *\"/$1, (char*)\"/;
#
print "$line";
}

Mon Jul 27 07:52:37 2009 RT_System - Status changed from 'new' to 'open'

Tue Jul 28 07:54:29 2009 MAREKR - Correspondence added

Thank you for the patch - I had to edit it a bit, and with the script
below the build and all tests pass OK.
Cheers,
Marek

#!/usr/bin/perl -w
#
1. Copyright 2008-2009 by Wilson Snyder. This program is free software;
1. you can redistribute it and/or modify it under the terms of either the GNU
1. Lesser General Public License Version 3 or the Perl Artistic License
Version 2.0.
#
######################################################################

1. DESCRIPTION: Edits xsubpp output to get around various issues.

foreach my $line (<STDIN>) {
1. Fix xsubpp 1.9508 and GCC 4.2.1 warning
1. "warning: deprecated conversion from string constant to
â<80><98>char*â<80><99>"
$line =~
s/^(\s*)(?:const\s*|)char\*\s*file\s*=\s*__FILE__;/${1}char* file =
(char*)__FILE__;/;
if($line =~ /newXSproto/) {
$line =~ s/([(,]\s*)"/$1(char*)"/g;
}
#
print "$line";
}

Tue Jul 28 08:41:00 2009 WSNYDER - Correspondence added

Thanks for your work on the fix.

I've committed this to git, and it will be in the next release; 3.213.
If you need it on CPAN immediately let me know.

Tue Jul 28 08:41:02 2009 WSNYDER - Status changed from 'open' to 'resolved'

Mon Sep 14 13:14:09 2009 WSNYDER - Correspondence added

The git version missed one line of the new patch, sorry about that.

Please download it from git and insure it's ok for the next release, thanks.

Mon Sep 14 13:14:10 2009 RT_System - Status changed from 'resolved' to 'open'

@veripoolbot
Copy link
Collaborator Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2009-09-30T16:03:05Z


Fixed in 3.220

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

2 participants