in reply to Re: Problems with Inline::C on Ubuntu
in thread Problems with Inline::C on Ubuntu

tachyon-II:

Thanks! Installing the headers worked like a champ! Kilobytes of error messages have been reduced to a single digit: 8.

"Before you go messing with Inline::C I suggest you make sure you can compile a basic C program off the command line. Can you compile hello world?"

Well, no. But I'm not interested in doing anything particularly complicated — just speeding up some Perl bit-twiddling subroutines. As you suspect, this C stuff is pretty much rote imitation for me at this point. But, with this obstacle removed, I'm confident I can slog through it.

Thanks again for your help!

-Phil

  • Comment on Re^2: Problems with Inline::C on Ubuntu

Replies are listed 'Best First'.
Re^3: Problems with Inline::C on Ubuntu
by tachyon-II (Chaplain) on Apr 22, 2008 at 08:59 UTC

    Glad it worked. The suggestion to try a command line compile was simply to make sure you had a working setup - you do so all is well. You will find an extensive C tutorial here

    As anonymous monk asks above, how did you actually install Inline::C? As a binary package? Anyway now you have C working the usual methods described in A Guide to Installing Modules should work for just about everything.

    As you note your C compiler will often spew a scary long list of errors. It pays to concentrate on fixing just the first error (or chunk or errors) as once the compiler chokes most of the rest of the output is more or less meaningless. As soon as you fix the initial problem things will either work or you will have a whole new long list of errors!

      $ apt-cache depends libinline-perl libinline-perl Depends: perl Depends: <libdigest-md5-perl> perl Depends: libparse-recdescent-perl |Recommends: gcc Recommends: <c-compiler> bcc gcc gcc-3.3 gcc-3.4 gcc-4.1 gcc-4.2
      The problem lies with the fact that Inline::C gets packaged with Inline in the debian package. So i t can't properly require that you have a C compiler or proper headers(because you might just be installing this as a dependency of Inline::Octave)
        So i t can't properly require that you have a C compiler or proper headers(because you might just be installing this as a dependency of Inline::Octave)

        Seriously ... they do that ??

        Assuming you're correct, it's laughable (in the sense of "deplorable and ridiculous") that debian would install Inline::C without ensuring that those requisite headers (and the C compiler) are also installed.

        Actually, in any case, I find it laughable that linux distros in general install broken builds of perl by default. Why do they do that ? Can't they afford the extra space on a 400GB hard drive ?

        Cheers,
        Rob
      I actually did install Inline::C using CPAN. During the install, it detected that Perl had been compiled with cc, found cc on my system, and continued with the install. It also ran two test harnesses. The only difference between them that I could detect was in the paths provided in their invocations to the C libraries. The first harness passed, with one test skipped. The second failed completely. Being a glass-half-full type of person, I decided that was good enough. It wasn't.

      While following tachyon-II's suggestion, I had to insert the Kubuntu live CD, from which the header files were extracted. So far as I could tell, nothing was downloaded from the 'net during that process.

      I do like Ubuntu, but after an install, you're left with something rather more skeletal than was the case with, say, Mandrake.

      -Phil