Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Embperl

Compiling under Perl configured with 64 bit integers (use64bitint)

 

 

ModPerl embperl RSS feed   Index | Next | Previous | View Threaded


marcus at fysix

Nov 14, 2006, 9:23 AM

Post #1 of 1 (1331 views)
Permalink
Compiling under Perl configured with 64 bit integers (use64bitint)

Hi Gerald.

I ran into a problem when trying to compile Embperl 1.3.6 on a system
that was 32 bit, but had Perl compiled with the use64bitint flag.
I also found the solution and thought I should share this. It may also
affect Embperl 2.

During make I got a lot of the following errors:

warning: cast to pointer from integer of different size

Most of them are harmless, but at least one of them caused a real problem.
The one causing the problem is triggered by the following line (line 922)
in epcmd.c:

sprintf (sSubCode, " HTML::Embperl::ProcessSub (%ld, %d, %d)", (IV)r
-> Buf.pFile, nSubPos, r -> Buf.nBlockNo) ;

I found the problem occurs by (r -> Buf.pFile) being cast into an (IV)
which sprintf apparently
prints in a wrong way so that as a consequence [$ sub $] no longer works.

Here is my fix. instead of casting it into IV, I used an I32 changing
the line to:

sprintf (sSubCode, " HTML::Embperl::ProcessSub (%ld, %d, %d)", (I32)r
-> Buf.pFile, nSubPos, r -> Buf.nBlockNo) ;

This fixed it.

Hope this is useful info.

Best,
Marcus



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe [at] perl
For additional commands, e-mail: embperl-help [at] perl

ModPerl embperl RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.