Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: Defining the C environment for "inline::c"

by syphilis (Archbishop)
on Jul 23, 2014 at 00:32 UTC ( [id://1094709]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Defining the C environment for "inline::c"
in thread Defining the C environment for "inline::c"

ERROR: Cannot copy 'C:\Perl\html\Active.css' to '\Active.css': No such file or directory

That's a pretty odd sort of error to be getting - though it's similar to an error Windows users can experience with Inline-C-0.62 towards the the end of 'dmake test' when t/27inline_maker.t is run.

What version of Inline::C do you have ?
Can you provide a simple script that generates the above (or some similar) error.

Cheers,
  • Comment on Re^3: Defining the C environment for "inline::c"

Replies are listed 'Best First'.
Re^4: Defining the C environment for "inline::c"
by murrayn (Sexton) on Jul 23, 2014 at 02:11 UTC
    This appears to be an issue with the make process trying to copy things to the root directory of the c: drive in violation of security permissions. I forced the creation of "c:\Active.css" and tried again then failed on the next file dmake wanted to copy - this is Windows saying "I can't create the file so I'll tell the user it doesn't exist." Technically it's true but it's not the root cause. I suspect there's an installation error with Inline::C since I didn't use Activestate PPM. I just downloaded the Inline-C tar.gz file from CPAN and copied the "C" folder from there under my perl\site\lib\Inline folder. I'm generating C code in the temporary _Inline folders but something is not correct in some destination path somewhere. Still looking (and listening for someone to tell me where I've been silly!).


      I just downloaded the Inline-C tar.gz


      As Anonymous Monk said, that's not the correct way.
      However, because Inline::C is, itself, a pure perl module that approach will work - but you didn't do it correctly. As well as copying the "C" folder to perl/site/lib/Inline, you should also copy C.pm and C.pod to the same location.

      Most people would install Inline::C by running something like cpan -i Inline::C
      Alternatively, having already downloaded and extracted Inline-C-0.62.tar.gz you could 'cd' to the extracted Inline-C-0.62 folder and run 'perl Makefile.PL', 'dmake test', then 'dmake install'.
      If you go down either of those 2 paths, expect to see lots of warnings (with I::C-0.62) during the 'dmake test' phase - and expect t/26fork.t and t/27inline_maker.t to fail. (But just do the 'dmake install' anyway.)
      Nearly forgot - for running dmake test you'll need Test::Warn (and its preprequisites) and File::Copy::Recursive installed.

      Cheers,
      Rob
        I've been a good novice and done as the wise ones said (or sort of anyway). I went back and ran "cpan install Inline::C" and got a nice clean result. C.pm and C.pod are also in my Inline directory now and my "Hello world" application runs from the command line but not from my Eclipse environment where it's stored in the "...\Perl<space>Code\..." directory path. If I try to run a Perl script with Inline C code from inside that directory path the build function tries to copy resources into the C: root directory and fails as described above. If I move my script into something with properly named directories everything seems to be happy. Clearly, Bill Gates is not the Messiah!, he's a very naughty boy for allowing silly file and directory names! Thanks for all the help. Time for an attempt at a real project!

      I just downloaded the Inline-C tar.gz file from CPAN and copied the "C" folder from there under my perl\site\lib\Inline folder.

      Now go ahead and delete that, and install Inline::C by running Makefile.PL ... like you're supposed to :)

Re^4: Defining the C environment for "inline::c"
by Anonymous Monk on Jul 23, 2014 at 00:41 UTC

    Active.css ... That's a pretty odd sort of error to be getting ...

    Probably ActivePerl::DocTools stuff :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1094709]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2025-06-16 06:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.