Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#55896 closed defect (fixed)

lz4 @1.8.1.2_0: ar: liblz4.a: Resource temporarily unavailable

Reported by: kencu (Ken) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: lz4

Description

<https://build.macports.org/builders/ports-10.5_ppc_legacy-builder/builds/55269>

This build fails on the buildbot, but builds without trouble on my 10.5 PPC machine at home.

ar: liblz4.a: Resource temporarily unavailable
make[1]: *** [liblz4.a] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_archivers_lz4/lz4/work/lz4-1.8.1.2/lib'
make: *** [liblz4.a] Error 2

Change History (9)

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

Cc: ryandesign added
Summary: lz4-1.8.1.2_0: ar: liblz4.a: Resource temporarily unavailablelz4 @1.8.1.2_0: ar: liblz4.a: Resource temporarily unavailable

I found a post that someone solved "Resource temporarily unavailable" by restarting their computer. I restarted the 10.5-ppc-legacy worker, but it has not restarted. I'll have to powercycle it and see if that helps.

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

Didn't help.

comment:3 Changed 3 years ago by kencu (Ken)

I must have some missing dep installed. It builds on Tiger PPC too.

I tried disabling cctools, but it still builds. Maybe I have a newer bash installed.... will check.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

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

Cc: ryandesign removed
Keywords: leopard tiger added; powerpc removed
Owner: set to ryandesign
Status: newaccepted

It has now built successfully on the buildbot. The portfile hasn't changed and it has no dependencies.

I believe it's a parallel build problem. The log says:

compiling static library
compiling static library
lz4.c:220: warning: ‘LZ4_write32’ defined but not used
lz4.c:253: warning: ‘LZ4_readLE16’ defined but not used
lz4hc.c:125: warning: ‘LZ4HC_countBack’ defined but not used
lz4.c:220: warning: ‘LZ4_write32’ defined but not used
lz4.c:253: warning: ‘LZ4_readLE16’ defined but not used
lz4hc.c:125: warning: ‘LZ4HC_countBack’ defined but not used
ar: liblz4.a: Resource temporarily unavailable
make[1]: *** [liblz4.a] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_archivers_lz4/lz4/work/lz4-1.8.1.2/lib'
make: *** [liblz4.a] Error 2
make: *** Waiting for unfinished jobs....

Note that the line compiling static library, and the three warnings resulting from compiling it, appear twice each. Two processes are trying to write the same library at the same time; one of them is prevented from doing so.

I should have read the Google search results more carefully when I searched last week. The first hit for a search for ar "Resource temporarily unavailable" was a duplicate of #27247, which discusses the same error being the result of a parallel build problem on Leopard and earlier.

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

Resolution: fixed
Status: acceptedclosed

In b215dae3252f5ba368150cf84d1ed0d05a23b8a3/macports-ports:

lz4: Disable parallel build

Closes: #55896

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

I did see the problem once on a newer Mac running Sierra. I filed an upstream bug report.

comment:7 in reply to:  4 Changed 3 years ago by ryandesign (Ryan Schmidt)

Keywords: leopard tiger removed

Replying to ryandesign:

Two processes are trying to write the same library at the same time; one of them is prevented from doing so.

Actually they probably both succeed, but a third process, started after the first static library compilation finished, is trying to use the library at the exact moment that the second static library compilation is overwriting it.

comment:8 Changed 3 years ago by raimue (Rainer Müller)

lz4 failed again on the buildbot due to a parallel build issue: https://build.macports.org/builders/ports-10.6_x86_64_legacy-builder/builds/59550

comment:9 Changed 3 years ago by raimue (Rainer Müller)

In af77ab1d96a87e05d1ad1ae42f8a5bc9958de607/macports-ports:

lz4: Fix parallel build, again

The 'test' target in the examples directory tries to execute the lz4
binary. This may fail if the build for this binary is still running.
Partly backport an upstream commit that moves the test execution of
examples to the 'make test' target.

See: #55896

Note: See TracTickets for help on using tickets.