in reply to Re^3: Issue: Encode.so: undefined symbol: PL_utf8skip
in thread Issue: Encode.so: undefined symbol: PL_utf8skip

Compiled EXTERN.h before perl.h removed the errors:

/usr/lib/perl/5.18/CORE/handy.h:873:1: error: unknown type name ‘EXTCONST’
 EXTCONST U32 PL_charclass[];
 ^
..
But doesn't resolve the issue undefined symbol: PL_utf8skip.
  • Comment on Re^4: Issue: Encode.so: undefined symbol: PL_utf8skip

Replies are listed 'Best First'.
Re^5: Issue: Encode.so: undefined symbol: PL_utf8skip
by syphilis (Archbishop) on Jul 26, 2015 at 02:10 UTC
    But doesn't resolve the issue undefined symbol: PL_utf8skip

    As already intimated, the symbol should be resolved by linking to libperl.a - and you seem to be linking to that file.
    So ... you need to find out why that's not doing the trick.

    Could it be to do with the order in which you're linking to the various libraries ? I don't know.
    We do know that libperl.a (probably /usr/lib/perl/5.18/CORE/libperl.a) is being found - otherwise it's a fatal error at build time.

    Cheers,
    Rob

      I have tried only libperl and still the same.

      When I run nm on my output shared library - there is not a lot of symbols expose by libperl:

                       U perl_alloc
                       U perl_construct
                       U perl_destruct
                       U perl_free
                       U perl_parse
      000000000022f748 b my_perl
                       U Perl_call_method
                       U Perl_call_pv
                       U Perl_eval_pv
                       U Perl_free_tmps
                       U Perl_gv_add_by_type
                       U Perl_hv_clear
                       U Perl_hv_common_key_len
                       U Perl_hv_undef_flags
                       U Perl_markstack_grow
                       U Perl_newRV
                       U Perl_newRV_noinc
                       U Perl_newSViv
                       U Perl_newSVpv
                       U Perl_newSVsv
                       U Perl_newSV_type
                       U Perl_newXS
                       U Perl_pop_scope
                       U Perl_push_scope
                       U Perl_save_int
                       U Perl_stack_grow
                       U Perl_sv_2bool_flags
                       U Perl_sv_2mortal
                       U Perl_sv_2pv_flags