bugGNU gettext - Bugs: bug #58669, gettext-tools builds and installs...

 
 

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

bug #58669: gettext-tools builds and installs libintl again

Submitter:  Ryan Carsten Schmidt <ryandesign>
Submitted:  Sun 28 Jun 2020 08:48:12 PM UTC
Votes: 1
 
Category:  Build Severity:  3 - Normal
Item Group:  None Status:  Fix Released
Privacy:  Public Assigned to:  haible
Open/Closed:  Closed

Tue 05 Dec 2023 06:26:43 PM UTC, comment #4: 


> the solution that was implemented worsens rather than improves the situation


For distros that have, for source packages that produce N > 1 binary packages, a build mechanism that works essentially like this:
1. ./configure --prefix=/usr
2. make
3. make install DESTDIR=/tmp/staging
4. tar the various subsets of /tmp/staging into different packages
the file PACKAGING lists these subsets explicitly. For these distros, the change that I did in 0.22 is an improvement, because it builds libintl only once, not twice.

Many distros are of this type. For example, when a source package 'libfoo' produces different packages 'libfoo' (that contains the shared libraries), 'libfoo-dev' (that contains the header files), 'libfoo-dbg' (that contains the debugging symbols), and 'libfoo-doc' (that contains the documentation), it would be a waste of build resources to build 'libfoo' 4 times.

For distros that are not of this type, I have documented the instructions and restrictions in the PACKAGING files. In this case, gettext-runtime needs to be built twice. But it is a relatively small package.

In your first comment, you wrote:

> I want gettext-tools to use the libintl that I already built and installed previously via gettext-runtime.

But this will not be done. It would be too complicated and too fragile.

Bruno Haible <haible>
Group administrator
Tue 05 Dec 2023 05:09:15 PM UTC, comment #3: 

It appears that the motivation for this bug report has been misunderstood and the solution that was implemented worsens rather than improves the situation—unless we have misunderstood how best to build gettext now. Please read https://github.com/macports/macports-ports/pull/21372.

Ryan Carsten Schmidt <ryandesign>
Sat 17 Jun 2023 01:52:26 PM UTC, comment #2: 

The fix is contained in gettext 0.22.

Bruno Haible <haible>
Group administrator
Mon 13 Feb 2023 12:22:17 AM UTC, comment #1: 

Yes, the build system up to gettext 0.21.1 builds libintl twice. But it should install only the copy under gettext-runtime/intl/, not the one under gettext-tools/intl/

In the next release, only the copy under gettext-runtime/intl/ will be built; the other one is gone. Note that this will have the drawback that you can't build gettext-tools/ without having built gettext-runtime/ first.

Bruno Haible <haible>
Group administrator
Sun 28 Jun 2020 08:48:12 PM UTC, original submission:  

Hi, using gettext 0.20.2 on macOS 10.13.6 I've built and installed libtextstyle and gettext-runtime separately, and now I'm trying to build gettext-tools separately. It seems that this builds libintl again, and when I `make install` it wants to install libintl again. These results surprise me. I want gettext-tools to use the libintl that I already built and installed previously via gettext-runtime.

The configure output says:


checking whether included gettext is requested... no


...so you recognize that I don't want to use the included gettext...


checking for GNU gettext in libc... no
ar: /opt/local/lib/libintl.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: /opt/local/lib/libintl.a: Inappropriate file type or format
od: cannot skip past end of input
ar: /opt/local/lib/libintl.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: /opt/local/lib/libintl.a: Inappropriate file type or format
od: cannot skip past end of input
checking for GNU gettext in libintl... yes


...and you recognize that the existing libintl is present and satisfactory...


checking whether to use NLS... yes
checking where the gettext function comes from... included intl directory


...yet you're going to use the included intl directory.

Ryan Carsten 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 (Posted a comment)
  • -email is unavailable- added by egallager (Voted in favor of this item)
  • -email is unavailable- added by nieder
  • -email is unavailable- added by ryandesign (Submitted the item)
  •  

    There is 1 vote 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 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-06-17 haible StatusFixed Fix Released
    2023-02-13 haible StatusNone Fixed
        Assigned toNone haible
        Open/ClosedOpen Closed
    2021-08-07 egallager Carbon-Copy- Added egallager
    2021-01-22 nieder Carbon-Copy- Added nieder

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code