Opened 6 years ago

Last modified 6 years ago

#48329 new defect

aspell not installed as a dependency

Reported by: graziosi.angelo@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: jochen@…
Port: aspell

Description

After a clean installation of Yosemite, I am reinstalling Macports and noticed that installing some aspell-dict packages DO NOT install aspell. For example:

$ sudo port install aspell-dict-en
--->  Fetching archive for aspell-dict-en
--->  Attempting to fetch aspell-dict-en-7.1_0.darwin_14.noarch.tbz2 from http://nue.de.packages.macports.org/macports/packages/aspell-dict-en
--->  Attempting to fetch aspell-dict-en-7.1_0.darwin_14.noarch.tbz2.rmd160 from http://nue.de.packages.macports.org/macports/packages/aspell-dict-en
--->  Installing aspell-dict-en @7.1_0
--->  Activating aspell-dict-en @7.1_0
--->  Cleaning aspell-dict-en
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.

$ sudo port install aspell-dict-it
[...]

$ port installed | grep -i aspel
  aspell-dict-en @7.1_0 (active)
  aspell-dict-it @2.2_20050523-0_0 (active)

$ port installed requested | grep -i spel
  aspell-dict-en @7.1_0 (active)
  aspell-dict-it @2.2_20050523-0_0 (active)

which looks wrong to me...

In my old installation I had:

$ cat ports/macports/ports_installed-Yosemite.log | grep -i aspel
  aspell @0.60.6.1_0 (active)
  aspell-dict-en @7.1_0 (active)
  aspell-dict-it @2.2_20050523-0_0 (active)

$ cat ports/macports/ports_requested-Yosemite.log | grep -i aspel
  aspell-dict-en @7.1_0 (active)
  aspell-dict-it @2.2_20050523-0_0 (active)

which looks right to me...

So, what am I missing?

Thanks, Angelo.

Change History (5)

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

Cc: jochen@… added
Port: aspell added

The aspell-dict-* ports declare a build dependency on the aspell port. If you received binaries of these ports from our build server, then MacPorts would not have installed build dependencies on your system, so you would not have aspell itself installed.

Is aspell itself required to use the aspell-dict-* ports? If so, the aspell dependency in the aspell-dict-* ports should be changed from a build dependency to something else, such as a library dependency.

comment:2 in reply to:  1 ; Changed 6 years ago by graziosi.angelo@…

Replying to ryandesign@…:

The aspell-dict-* ports declare a build dependency on the aspell port. If you received binaries of these ports from our build server, then MacPorts would not have installed build dependencies on your system, so you would not have aspell itself installed.

Is aspell itself required to use the aspell-dict-* ports? If so, the aspell dependency in the aspell-dict-* ports should be changed from a build dependency to something else, such as a library dependency.

I don't know, but I need the aspell-dict* to be used with Emacs and Emacs does not work if it does not find the aspell[.exe]. For example, if it is configured with

(setq ispell-program-name "/opt/local/bin/aspell")

it will produce the message:

Error enabling Flyspell mode:
(Searching for program No such file or directory /opt/local/bin/aspell)

when aspell is not found/installed...

May be it is only Emacs that needs it..

Angelo

Last edited 6 years ago by graziosi.angelo@… (previous) (diff)

comment:3 in reply to:  2 ; Changed 6 years ago by dbevans (David B. Evans)

Replying to graziosi.angelo@…:

Replying to ryandesign@…:

The aspell-dict-* ports declare a build dependency on the aspell port. If you received binaries of these ports from our build server, then MacPorts would not have installed build dependencies on your system, so you would not have aspell itself installed.

Is aspell itself required to use the aspell-dict-* ports? If so, the aspell dependency in the aspell-dict-* ports should be changed from a build dependency to something else, such as a library dependency.

I don't know, but I need the aspell-dict* to be used with Emacs and Emacs does not work if it does not find the aspell[.exe]. For example, if it is configured with

(setq ispell-program-name "/opt/local/bin/aspell")

it will produce the message:

Error enabling Flyspell mode:
(Searching for program No such file or directory /opt/local/bin/aspell)

when aspell is not found/installed...

May be it is only Emacs that needs it..

Angelo

aspell is used by a number of programs typically via the port enchant which provides a common API for several different spelling libraries. An example of a program that uses aspell (via gtkspell3 -> enchant -> aspell) is gedit.

I don't think that it makes much sense to have the dictionaries without aspell unless your program uses its own code to access them.

It's definitely true that aspell will not do anything useful unless at least one dictionary is installed. This is pointed out in its notes.

So it makes more sense that emacs would have a dependency on aspell (or one of the other libs that use it) rather than any specific aspell dictionary file.

comment:4 in reply to:  3 Changed 6 years ago by graziosi.angelo@…

Replying to devans@…:

So it makes more sense that emacs would have a dependency on aspell (or one of the other libs that use it) rather than any specific aspell dictionary file.

Really, Emacs does not depend on specific dictionaries. It is capable of spelling if it finds the right tools on the system.

It needs an ispell program, as aspell,

(setq ispell-program-name "/opt/local/bin/aspell")

and, obviously, one or more dictionaries. Usually, I install the dictionaries, assuming that also the "engine" is installed.

If I understand, this is what happens on Ubuntu: http://packages.ubuntu.com/trusty/aspell-en, but I am not sure all systems adopt the same approach..

comment:5 in reply to:  2 Changed 6 years ago by ryandesign (Ryan Schmidt)

Replying to graziosi.angelo@…:

I don't know, but I need the aspell-dict* to be used with Emacs and Emacs does not work if it does not find the aspell[.exe]. For example, if it is configured with

(setq ispell-program-name "/opt/local/bin/aspell")

it will produce the message:

Error enabling Flyspell mode:
(Searching for program No such file or directory /opt/local/bin/aspell)

when aspell is not found/installed...

Are you saying you placed the line "(setq ispell-program-name "/opt/local/bin/aspell")" into some configuration file? If so, it should not be a surprise that that will not work if the aspell program is not installed, and to solve the problem, you should install the aspell port.

Note: See TracTickets for help on using tickets.