Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

HI, I have a perl module (called seqaln) that is used by one of my perl programs (called mk). seqaln uses Inline::C. When I compile mk, it fails saying that seqaln.h was not found. Here is the actual error message...
-c -I/farm/folding/opt/bin -I/farm/folding/opt/src/seqaln/src -fno-strict-aliasing -I/usr/local/include -O2 -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" -fPIC -I/usr/lib/perl5/5.6.1/i386-linux/CORE Se +qaln.c Seqaln.xs:15:20: seqaln.h: No such file or directory Seqaln.xs:60:6: invalid preprocessing directive #printf Seqaln.xs:69:6: invalid preprocessing directive #printf Seqaln.xs:73:6: invalid preprocessing directive #printf Seqaln.xs:78:6: invalid preprocessing directive #printf Seqaln.xs:86:6: invalid preprocessing directive #printf make: *** [Seqaln.o] Error 1 A problem was encountered while attempting to compile and install your + Inline C code. The command that failed was: make > out.make 2>&1
Can someone please help me out?

Replies are listed 'Best First'.
Re: Inline::C .h file not generated
by derby (Abbot) on Apr 10, 2003 at 12:07 UTC
    Well where is seqaln.h? From the compile line given and assuming it's in the source as #include <seqaln.h>, it needs to be in one of the following directories

    • /farm/folding/opt/bin
    • /farm/folding/opt/src/seqaln/src
    • /usr/lib/perl5/5.6.1/i386-linux/CORE
    • your preprocessor's default include directories

    There are many ways to find out the default directories, if gcc, just type cpp -v

    -derby

    update: And if it's not in one of those directories, you'll have to modify your script to tell Inline::C what additional directories to search.