bugGNU gettext - Bugs: bug #45527, Build fails on Mac OS X 10.6 and...


You are not allowed to post comments on this tracker with your current authentication level.

bug #45527: Build fails on Mac OS X 10.6 and earlier: Undefined symbols: "_stpncpy"

Submitter:  Ryan Schmidt <ryandesign>
Submitted:  Sat 11 Jul 2015 12:39:29 PM UTC
Category:  Build Severity:  3 - Normal
Item Group:  None Status:  Fix Released
Privacy:  Public Assigned to:  ueno
Open/Closed:  Closed

( Jump to the original submission )

Fri 24 Jul 2015 06:51:11 AM UTC, comment #6: 

Now that was released, I am closing this.  Thanks for the report and confirmation.

Daiki Ueno <ueno>
Group administrator
Sun 12 Jul 2015 11:08:04 PM UTC, comment #5: 

Ok, I've confirmed your fix works too, once git is installed. I'm happy with this solution for now, but hopefully you can release a new version with the fix eventually. I'm not sure how many users on 10.6 or earlier would build gettext themselves. Probably developers are using newer systems by now, and users on those old systems would get gettext from a package manager. Looks like Fink and Homebrew haven't updated their gettext packages to this version yet—Fink is on 0.19.3 and Homebrew is on 0.19.4—so they're not affected by the problem yet.

Ryan Schmidt <ryandesign>
Sun 12 Jul 2015 08:41:45 PM UTC, comment #4: 

Oh, oops, it didn't work for us because we aren't actually running ./autogen.sh. And doing so isn't convenient because that requires the git program to be present...

Ryan Schmidt <ryandesign>
Sun 12 Jul 2015 08:35:32 PM UTC, comment #3: 

Thanks, but that doesn't seem to fix it. In the mean time, one of our developers has fixed it in MacPorts this way:


Ryan Schmidt <ryandesign>
Sat 11 Jul 2015 11:30:15 PM UTC, comment #2: 

Ugh, sorry, the gnulib stpncpy module was not imported to libgettextpo.  That should be fixed with:

If this is too severe, I can make a new minor release.

Daiki Ueno <ueno>
Group administrator
Sat 11 Jul 2015 01:10:00 PM UTC, comment #1: 

The replacement stpncpy is pulled from gnulib.  If the check or replacement code doesn't work on older Mac OS X, I'd suggest to consult the gnulib people (bug-gnulib@gnu.org).

$ tar tf gettext-0.19.5.tar.xz | grep stpncpy

Daiki Ueno <ueno>
Group administrator
Sat 11 Jul 2015 12:39:29 PM UTC, original submission:  


I'm the maintainer of gettext in MacPorts. I was recently asked to update gettext in MacPorts to 0.19.5:


After doing this, it was found that this does not compile on Mac OS X 10.6 and earlier:


The error is:

Undefined symbols:
  "_stpncpy", referenced from:
      _format_parse in format-kde-kuit.o
ld: symbol(s) not found

A full log of the build on 10.4 is attached here:


I think what's happening is that OS X 10.7 and later include an implementation of stpncpy; gettext includes an implementation of stpncpy for use on earlier systems; but in this particular instance, that gettext implementation of stpncpy isn't being used when it should be. (I see stpncpy.o being used earlier in the build, but not here.)

This is a regression since 0.19.4, which built fine on Mac OS X 10.4 and later.

Ryan Schmidt <ryandesign>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by haible (Updated the item)
  • -email is unavailable- added by ueno (Posted a comment)
  • -email is unavailable- added by ryandesign (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.




    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-01-04 haible StatusFixed Fix Released
    2016-11-27 haible CategoryNone Build
        Assigned toNone ueno
    2015-07-24 ueno StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.11