XS compiler for Perl

B

bass150db

Hello all,

I am trying to install The module Text::CSV_XS in PERL. Apparently
since this is a ".xs" I need to run the file throught a C+ compiler. I
found some information on DJGPP, but I am not sure what to do. I read
through the documentation, however, I think I need to have a UNIX
background to fully understand it. Unfortunately, I barely know UNIX.
I was wondering if anyone knows where I can get a step by step guide to
installing this module that requires compiling for the .XS file
extension? Any help would be greatly appreciated.
 
A

A. Sinan Unur

I am trying to install The module Text::CSV_XS in PERL. Apparently
since this is a ".xs" I need to run the file throught a C+ compiler. I
found some information on DJGPP, but I am not sure what to do.

Exactly what platform are you on? Whose Perl distribution are you using?

Sinan
 
S

Sisyphus

bass150db said:
Hello all,

I am trying to install The module Text::CSV_XS in PERL. Apparently
since this is a ".xs" I need to run the file throught a C+ compiler. I
found some information on DJGPP, but I am not sure what to do. I read
through the documentation, however, I think I need to have a UNIX
background to fully understand it. Unfortunately, I barely know UNIX.
I was wondering if anyone knows where I can get a step by step guide to
installing this module that requires compiling for the .XS file
extension? Any help would be greatly appreciated.

There's some good info on this in perlmodinstall. At a command prompt,
simply enter:
perldoc perlmodinstall

It's not complete info, but it's a good starting place - I'm loathe to get
too carried away with dishing out lots of info because you haven't even told
us which OS are you using, what version of perl, and which compiler was used
to build your perl. What does running 'perl -V' report ?

If it's Win32, ActiveState-built perl 5.8 then you might save some trouble
by running:
ppm install http://theoryx5.uwinnipeg.ca/ppms/Text-CVS_XS.ppd

Cheers,
Rob
 
B

bass150db

Here is my perl -V

C:\DJGPP\bin>perl -V
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=d
fine
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32
-D_CONSOLE
DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT
-DPERL_IMP
ICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='__int64', lseeks
ze=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"C
\Perl\lib\CORE" -machine:x86'
libpth=\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg3
..lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
uuid.lib ws2
32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib com
lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
uuid.lib
ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib
gnulibc_version='undef'
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf
libpath:"C:\Perl\lib\CORE" -machine:x86'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT
CONTEXT PERL_IMPLICIT_SYS
Locally applied patches:
ActivePerl Build 811
21540 Fix backward-compatibility issues in if.pm
23565 Wrong MANIFEST.SKIP
Built under MSWin32
Compiled at Dec 13 2004 09:52:01
@INC:
C:/Perl/lib
C:/Perl/site/lib

I am running Windows XP Pro and using Activestate Perl 5.8. Sorry for
not providing this earlier.



If it's Win32, ActiveState-built perl 5.8 then you might save some
trouble
by running:
ppm install http://theoryx5.uwinnipeg.ca/ppms/Text-CVS_XS.ppd

I went to this link and I see the .ppd lines of code. Unfortunately I
do not know how to execute this yet. I will research this. Any
guidance on this will be appreciated.
 
A

A. Sinan Unur

Here is my perl -V ....
ActivePerl Build 811 ....
I am running Windows XP Pro and using Activestate Perl 5.8. Sorry for
not providing this earlier.
....

[ Please format quotations from others properly ]
I went to this link and I see the .ppd lines of code. Unfortunately I
do not know how to execute this yet. I will research this.

You are not supposed to view the URL in the web browser. You are
supposed to do exactly what was recommended. So, from the command line,
run the command

D:\Home> ppm

That will start the "Perl Package Manager (ppm)" shell. You can get help
by typing 'help'. A link to ppm is also installed in the program group:

Start -> All Programs -> ActiveState ActivePerl 5.8

Inside the ppm shell, you can search for pre-packaged modules and
install them. This eliminates the need to have access to the same
compiler as the one used to compile the ActivePerl distribution.

By the way, please click on the "Documentation" link in the same program
group and review the available help. You are supposed to research
questions before posting.

Incidentally, from http://www.activestate.com/Products/ActivePerl/

ActivePerl contains the following: core Perl, the Perl Package
Manager (PPM) for installing CPAN packages, popular modules,
and complete online help.

Sinan
 
S

Sisyphus

bass150db said:
Here is my perl -V
[snip]

Ok - now we know exactly what you've got :)
If you want to compile perl extensions for that particular perl, then you'll
want to either:
1) Use MSVC++ 6.0 compiler (aka Visual Studio);
or
2) Install ExtUtils::FakeConfig, and use either nmake or dmake, along with
the MinGW compiler - all of which is freely available.

It will, however, be simplest for you to use the ppm utility (assuming you
have an internet connection).

Open the file C:/Perl/html/index.html in your browser. That page contains
links to nearly all of the documentation (both perl and ppm) that you're
likely to need. For ppm basics, just click on the link to the "Perl Package
Manager".

Cheers,
Rob
 
B

bass150db

Thanks, it looks like the ppm shell worked. I installed from the URL
you provided and I no longer get the error message. Now to figure how
PERL script CSV2XLS.pl works. Thank you.
 
T

Tad McClellan

bass150db said:


Thanks to who?

Please quote some context in followups like everybody else does.

I installed from the URL
you provided


Who provided the URL?

Now to figure how


.... to post a proper followup.

You should learn how to do that very soon if you'd like to
avoid undesirable consequences.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,825
Latest member
VernonQuy6

Latest Threads

Top