in reply to Problem with compiling Inline::C on cygwin

Hi,

looking at the output, one thing becomes apparent. First, make does:

mv cygperl5_8_0.dll lib_04perlapi_t_3c76.dll.a blib/arch/auto/_04perla +pi_t_3c76/
Then it does:
chmod 755 blib/arch/auto/_04perlapi_t_3c76/_04perlapi_t_3c76.dll
Notice the missing .a . You'll probably have to root around in the Makefile as to find out why it does this, but this should give you an idea on what to look for.

CU
Robartes-

Replies are listed 'Best First'.
Re^2: Problem with compiling Inline::C on cygwin (and "lib")
by tye (Sage) on Mar 05, 2003 at 18:09 UTC

    ...and the missing "lib".

                    - tye
Re: Re: Problem with compiling Inline::C on cygwin
by zby (Vicar) on Mar 05, 2003 at 15:25 UTC
    I sow that and interpreted it as two different files - but now I think you're right.
Re: Re: Problem with compiling Inline::C on cygwin
by zby (Vicar) on Mar 06, 2003 at 09:43 UTC
    Today I tried to dig it some more and got to this:
    $ LD_RUN_PATH="" ld2 -s -L/usr/local/lib _04perlapi_t_3c76.o -o blib +/arch/auto/_04perlapi_t_3c76/_04perlapi_t_3c76.dll /usr/lib/perl5/5. +8.0/cygwin-multi-64int/CORE/libperl.dll.a gcc -shared -o cygperl5_8_0.dll -Wl,--out-implib=lib_04perlapi_t_3c76 +.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack, +8388608 \ -s -L/usr/local/lib _04perlapi_t_3c76.o /usr/lib/perl5/5.8.0/cygwin-m +ulti-64int/CORE/libperl.dll.a Creating library file: lib_04perlapi_t_3c76.dll.a mv cygperl5_8_0.dll lib_04perlapi_t_3c76.dll.a blib/arch/auto/_04perla +pi_t_3c76/
    This was run for rule to make blib/arch/auto/_04perlapi_t_3c76/_04perlapi_t_3c76.dll - so I believe the problem is with the ld2 script - cause it made lib_04perlapi_t_3c76.dll.a instead.
      Actually, and I missed this in my first reply, the ld2 line does seem to be linking the library correctly (or at least without errors):
      LD_RUN_PATH="" ld2 -s -L/usr/local/lib _04perlapi_t_3c76.o -o blib/a +rch/auto/_04perlapi_t_3c76/_04perlapi_t_3c76.dll /usr/lib/perl5/5.8.0 +/cygwin-multi-64int/CORE/libperl.dll.a
      It does -o blib/arch/auto/_O4perlapi_t_3c76/_04perlapi_t_3c76.dll. This creates the dll in that directory (-o specifies the output file of the linking operation). So the problem occurs somewhere between this line (inclusive) and the chmod line further downstream. What's in blib/arch/auto/_04perlapi_t_c76 after you did the above steps?

      CU
      Robartes-

        There is lib_04perlapi_t_3c76.dll.a - thats why I say there is something wrong with the ld2.