Hello

I'm compiling a proprietary lib on FreeBSD that offers a Perl API via XS. The package comes with an ar archive for Linux 64 but I need to compile it and run it on FreeBSD. FreeBSD make process makes no complaints about the object files in the ar in the make process, and everything makes without an error.

The lib compiles fine, but when the dynaloader is loading I get:

/libexec/ld-elf.so.1: (undisclosed).so: Undefined symbol "__errno_location"

Is this ld-elf complaining that it does not find the symbol in (undisclosed), or is it (undisclosed) not finding the symbol in it's dependencies?

I've been trying to learn more about __errno_location but some say it's relates to the pthreads lib, some that it's libm and should be defined in errno.h, but nope, it's not defined in any .h in Linux or FreeBSD!

As you can see, the lib build fine and satisfies all dependencies. Shouldn't the undefined symbol pop-up during linking of the shared object (during creation) instead than on dynamic linking?

ldd blib/arch/auto/<undisclosed>.so blib/arch/auto/Gateway/Gateway.so: libcurl.so.6 => /usr/local/lib/libcurl.so.6 (0x800c00000) libssl.so.6 => /usr/lib/libssl.so.6 (0x800d54000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x800ea7000) libm.so.5 => /lib/libm.so.5 (0x8010b7000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x8011d7000) libc.so.7 => /lib/libc.so.7 (0x800647000) libcrypto.so.6 => /lib/libcrypto.so.6 (0x8012e5000) libz.so.5 => /lib/libz.so.5 (0x801585000)

Thanks in advance for any comments.


In reply to Getting __errno_location when loading Perl XS module on FreeBSD by ait

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.