Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#38309 closed defect (invalid)

Compiling gettext @0.18.2.1 (devel) loops

Reported by: kotedo@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc:
Port: gettext

Description

Hi,

I am running on Mac OS X 10.8.2 build 12C3012 Boot ROM VersionMBP101.00EE.B02. Xcode version Version 4.4 (4F250)

When I run sudo install gettext or sudo install -v -d gettext it just loops in the "configure" loop and never actually builds gettext.

In the process, it broke CLISP, which I need on a daily basis.

Thank you! --Kai

Attachments (1)

gettext_log.txt (64.1 KB) - added by kotedo@… 11 years ago.
This is the shell output …

Download all attachments as: .zip

Change History (15)

comment:1 Changed 11 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to ryandesign@…
Port: gettext added
Priority: HighNormal

In the future, please fill in the Port field and Cc the port maintainer(s). The Priority field is for use by Macports team members only.

comment:2 Changed 11 years ago by kotedo@…

My bad, I am sorry. This is my first ticket for MacPorts. In the future I will fill in the required fields.

--Kai

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

What do you mean by "just loops"? Can you show me the output you get?

Changed 11 years ago by kotedo@…

Attachment: gettext_log.txt added

This is the shell output ...

comment:4 Changed 11 years ago by kotedo@…

Attached requested log.

comment:5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

I don't see any problem in that output. If your concern is that configure appears to be running multiple times, that's normal for gettext; if you look closely, you'll see that configure is being run once each in several different directories; that's just how the developers of gettext did it. Did you cancel the build at that point or did the build hang? How long did you let it run? It can take several minutes to finish configuring, and several minutes more to build, and this can of course vary quite a bit across the various Mac models. If you let it run and it hasn't finished in an hour, let me know.

comment:6 Changed 11 years ago by kotedo@…

I will let you know if it ever finishes. I have a MacBookPro with SSD, 16GB RAM and 8 cores ... I have never seen any build that lasts that long.

I "time"'d it, so I'll report how long it takes and anything out of the ordinary. Maybe there are some improvements that could be made to the build script?!

Thank you for all your efforts and looking into this! --Kai

comment:7 Changed 11 years ago by mf2k (Frank Schima)

You have a very old version of Xcode. I would update it and the command line tools and try again.

comment:8 Changed 11 years ago by kotedo@…

Installing latest version from the AppStore.

--Kai

comment:9 in reply to:  8 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to kotedo@…:

I will let you know if it ever finishes. I have a MacBookPro with SSD, 16GB RAM and 8 cores ...

So do I.

I have never seen any build that lasts that long.

If available, MacPorts downloads and installs a pre-built binary. gettext was just updated yesterday so although binaries exist for x86_64, none have yet been created for the i386 x86_64 universal combination, therefore your Mac has to build it locally. Perhaps you're used to the very fast installs possible with pre-built binaries.

I "time"'d it, so I'll report how long it takes and anything out of the ordinary.

I just rebuilt it on my system to see how long it took. 5m16s. Not bad at all; we have some ports that take hours to build.

Maybe there are some improvements that could be made to the build script?!

We simply run configure, make and make install; if there are any improvements to be made, it would be up to the developers of gettext to do so.

You requested a universal variant, and for gettext, which has problems building for multiple architectures simultaneously, we therefore unfortunately have to run everything twice, including the configure phase, so it takes twice as long as a non-universal build would.

Replying to kotedo@…:

Installing latest version from the AppStore.

After doing that, remember to open Xcode, go to Preferences, to the Downloads section, and update the command line tools from there.

comment:10 Changed 11 years ago by kotedo@…

MK324SDKQ4:~ kai$ time sudo port install gettext
--->  Computing dependencies for gettext
--->  Cleaning gettext
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     clisp @2.49 
--->  Computing dependencies for clisp
--->  Dependencies to be installed: gettext
--->  Fetching archive for gettext
--->  Attempting to fetch gettext-0.18.2.1_0+universal.darwin_12.i386-x86_64.tbz2 from http://packages.macports.org/gettext
--->  Attempting to fetch gettext-0.18.2.1_0+universal.darwin_12.i386-x86_64.tbz2 from http://lil.fr.packages.macports.org/gettext
--->  Attempting to fetch gettext-0.18.2.1_0+universal.darwin_12.i386-x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/gettext
--->  Fetching distfiles for gettext
--->  Verifying checksum(s) for gettext
--->  Extracting gettext
--->  Applying patches to gettext
--->  Configuring gettext
--->  Building gettext
--->  Staging gettext into destroot
--->  Installing gettext @0.18.2.1_0+universal
--->  Deactivating gettext @0.18.2.1_0
--->  Cleaning gettext
--->  Activating gettext @0.18.2.1_0+universal
--->  Cleaning gettext
--->  Fetching archive for clisp
--->  Attempting to fetch clisp-2.49_2.darwin_12.i386.tbz2 from http://packages.macports.org/clisp
--->  Attempting to fetch clisp-2.49_2.darwin_12.i386.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/clisp
--->  Attempting to fetch clisp-2.49_2.darwin_12.i386.tbz2 from http://lil.fr.packages.macports.org/clisp
--->  Fetching distfiles for clisp
--->  Verifying checksum(s) for clisp
--->  Extracting clisp
--->  Applying patches to clisp
--->  Configuring clisp
--->  Building clisp
--->  Staging clisp into destroot
--->  Installing clisp @2.49_2
--->  Cleaning clisp
--->  Computing dependencies for clisp
--->  Deactivating clisp @2.49_1
--->  Cleaning clisp
--->  Activating clisp @2.49_2
--->  Cleaning clisp
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.

real	60m25.429s
user	6m42.738s
sys	3m46.112s

comment:11 in reply to:  10 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Replying to kotedo@…:

MK324SDKQ4:~ kai$ time sudo port install gettext
--->  Computing dependencies for gettext
--->  Cleaning gettext

This shows gettext was already installed.

After you install or update any port, MacPorts then checks if there are any linking errors in any of the ports that are installed:

--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     clisp @2.49 

MacPorts found that clisp had linking errors and needed to be rebuilt.

--->  Computing dependencies for clisp
--->  Dependencies to be installed: gettext
--->  Fetching archive for gettext
--->  Attempting to fetch gettext-0.18.2.1_0+universal.darwin_12.i386-x86_64.tbz2 from http://packages.macports.org/gettext
--->  Attempting to fetch gettext-0.18.2.1_0+universal.darwin_12.i386-x86_64.tbz2 from http://lil.fr.packages.macports.org/gettext
--->  Attempting to fetch gettext-0.18.2.1_0+universal.darwin_12.i386-x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/gettext
--->  Fetching distfiles for gettext
--->  Verifying checksum(s) for gettext
--->  Extracting gettext
--->  Applying patches to gettext
--->  Configuring gettext
--->  Building gettext
--->  Staging gettext into destroot
--->  Installing gettext @0.18.2.1_0+universal
--->  Deactivating gettext @0.18.2.1_0
--->  Cleaning gettext
--->  Activating gettext @0.18.2.1_0+universal
--->  Cleaning gettext

MacPorts reinstalled gettext, this time with the universal variant. This is because clisp is not available in a 64-bit version. This was in fact probably the only linking error: clisp was trying to link with the non-existent 32-bit version of gettext. clisp would probably have worked fine if you interrupted the install here.

--->  Fetching archive for clisp
--->  Attempting to fetch clisp-2.49_2.darwin_12.i386.tbz2 from http://packages.macports.org/clisp
--->  Attempting to fetch clisp-2.49_2.darwin_12.i386.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/clisp
--->  Attempting to fetch clisp-2.49_2.darwin_12.i386.tbz2 from http://lil.fr.packages.macports.org/clisp
--->  Fetching distfiles for clisp
--->  Verifying checksum(s) for clisp
--->  Extracting clisp
--->  Applying patches to clisp
--->  Configuring clisp
--->  Building clisp
--->  Staging clisp into destroot
--->  Installing clisp @2.49_2
--->  Cleaning clisp
--->  Computing dependencies for clisp
--->  Deactivating clisp @2.49_1
--->  Cleaning clisp
--->  Activating clisp @2.49_2
--->  Cleaning clisp
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.

real	60m25.429s
user	6m42.738s
sys	3m46.112s

MacPorts rebuilt clisp and found it now works fine. So your 60m25s build time includes not only gettext but also clisp, which I haven't tested.

In any case it doesn't look like there is a problem building gettext or clisp.

comment:12 Changed 11 years ago by kotedo@…

Agreed, there is no obvious problem as you correctly stated.

The only problem here was between the GymBall and the Keyboard, uhm, patience ... :) CLISP built in under 5 minutes, but the (re-)build of get text was major.

Thank you very much for being such a good sport and I know now that there are real people behind MacPorts which is comforting to know,

The other tip was good, too, regarding Xcode being an old dog. I upgraded and updated the command line tools and I can see a difference, now all CPU's are pegged when the compiler kicks into gear. Good to know they are all working. :)

Thanks again, and we can close this ticket.

--Kai

comment:13 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

I just tried clisp and it built in 2m17s for me. Not sure why your gettext took so long to build! I suppose it's possible that the compilers in older versions of Xcode had some flaw that made them slower in this case. Glad you got things working now.

comment:14 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Just to check one thing: edit /opt/local/etc/macports/macports.conf and see what's set for buildmakejobs. If it's commented out, or set to 0, then MacPorts should use as many virtual CPU cores as you have (or as many virtual CPU cores as you have GB of RAM, whichever is smaller) and that's usually a good thing. If you've set buildmakejobs to a small number like 1 or 2 that would explain why MacPorts isn't making full use of your processors and takes longer to build things.

Note: See TracTickets for help on using tickets.