Opened 2 years ago

Closed 2 years ago

#63816 closed defect (fixed)

hunspell-en* @2020.12.07: usage: ./make-hunspell-dict -all | -one <dict-name> <parms file>

Reported by: rsrock (Ron Rock) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: cjones051073 (Chris Jones)
Port: hunspell-en

Description

When I sudo port install hunspell-en_US, I hit the following error:

Error: Failed to destroot hunspell-en_US: xinstall: Cannot stat: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_hunspell-en/hunspell-en_US/work/scowl-2020.12.07/speller/en_US.aff, No such file or directory

And indeed, when I look in that directory, there is an en.aff file but not an en_US.aff file. Perhaps something changed in the tarballs? I also hit the same error for hunspell-en_US_large and hunspell-en_GB_ise, but not hunspell-dict-sv_SE.

On macOS 12.0.1, ARM

Change History (4)

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

Please attach the main.log file.

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

Cc: cjones051073 added
Summary: hunspell-en* @ 2020.12.07 dictionary install errorshunspell-en* @2020.12.07: usage: ./make-hunspell-dict -all | -one <dict-name> <parms file>
Version: 2.7.1

Ok, I see the problem on my machine too with High Sierra. Not OS version dependent.

We have successful builds of this port on all OS versions back when the port was updated to this version in 2020, but it fails to build now.

This is because of a change in MacPorts base that occurred after that. MacPorts now adds the flag -j1 for any build systems that it believes to be make-compatible, whereas before it would only add a -j flag when the value was greater than one. The problem is that the hunspell-en subports build using the command ./make-hunspell-dict which MacPorts perceives as being make-compatible, though it is not. This results in the actual build command being, erroneously:

./make-hunspell-dict -j1 -all

and the response being:

usage: ./make-hunspell-dict -all | -one <dict-name> <parms file>

rather than an actual build occurring. That is why the file it is trying to install it not there.

We need to tell the port to suppress the addition of the -j1 flag, if I can remember how to do that.

This fallout from that MacPorts base change is yet more evidence, in addition the several times it's come up previously, of why the change should perhaps have been restricted to only ninja, since that is the only build system that needed the change.

Last edited 2 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

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

Port: hunspell-en added; hunspell-en_US hunspell_en_GB_ise hunspell_en_US_large removed

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

Owner: set to ryandesign
Resolution: fixed
Status: newclosed

In 13ba9095054b0998d75756561193c38d24875714/macports-ports (master):

hunspell-en: Don't add -j1 arg

Fixes build failure with MacPorts 2.7 and later.

Closes: #63816

Note: See TracTickets for help on using tickets.