Package group E selected but Emacs not quite installed
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I apologise if people think I'm trying to create a major discussion on dependencies, I'm not. My first Slackware was 9.1 in 2003 and our family computer has run Slackware as a sole os for years now so I am completely comfortable with Slackware's package management and am fully aware that this has come up many many times in this forum. This only came about because someone gave me an old laptop to play with :-)
I am actually trying to make a point about what I see as a quirk in the installer, nothing else.
there is a section 'Select' followed then by a section 'Install'. It is only in the 'Install' section that it is suggested that a 'full' method is 'highly recommended'. The section before, which is the part of the installation that tripped me up here merely suggests that you may add or skip packages as you want with only the 'A' package set being required. This is where GNU Emacs is offered. I think it should actually say something like
'E GNU Emacs (must be installed in conjunction with XAP)'
but you don't need the whole XAP, so that too it's not correct.
the smallest set of packages to have a working install I've seen around is vbatts' list: as you can see it has packages belonging to different sets, not just the A serie.
also Alien Bob posted some tagfiles to use with the installer (you can see the list of packages he uses for his minimal server installs here).
but also starting with these packages installed then you are still on your own on which package to add (the two are for non-X setups).
it will be filled with notes like that and then people will react with "TLDR"
also it will be dynamic, so it will have to be changed between different versions of Slackware: it will mean to add dependency resolution to a distro that is made not to have it (a nightmare to maintain).
if can be useful, personally sometimes, for my convenience, I have a look also at a list Tomas of Slax has done some time ago
it will be filled with notes like that and then people will react with "TLDR"
also it will be dynamic, so it will have to be changed between different versions of Slackware: it will mean to add dependency resolution to a distro that is made not to have it (a nightmare to maintain).
if can be useful, personally sometimes, for my convenience, I have a look also at a list Tomas of Slax has done some time ago
Thanks for the link, I've bookmarked it, he must have tied himself up in knots producing that! Is he now in a madhouse? :-)
As far as the installer goes I guess it probably means rewriting that section of the code so that it automatically pulls in imagemagick from xap if required, ie if E but not XAP add imagemagick. I totally get the arguments about dependancy resolution but this is something that is being explicitily offered.
I totally get the arguments about dependancy resolution but this is something that is being explicitily offered.
Is it, though?
If Slackware is meant to be installed as a full package, then it's really only being explicitly offered as an option to remove, and not as an option to be included in a 'cherry picked' setup.
Example: People commonly leave out the E, KDE and KDEI packages, because they don't use those. In that use case, everything else works fine, because nothing else requires those to run.
I just wanted to offer that perspective, as I see it, because it seems to run a bit counter to what I'm reading in your posts.
If Slackware is meant to be installed as a full package, then it's really only being explicitly offered as an option to remove, and not as an option to be included in a 'cherry picked' setup.
Example: People commonly leave out the E, KDE and KDEI packages, because they don't use those. In that use case, everything else works fine, because nothing else requires those to run.
I just wanted to offer that perspective, as I see it, because it seems to run a bit counter to what I'm reading in your posts.
It works both ways I guess. If you deselect E then there's no problem. If you deselect XAP but not E then it doesn't fully install. The wiki only suggests that the 'A' series is required for the 'select' screen. The 'full' selection is not mentioned until the following screen as the best option to select from 'full, terse, menu' etc. This implies to me that it is best to choose full installation based on the selections I made on the previous screen. This only enforces my belief that a working Emacs will be installed.
It works both ways I guess. If you deselect E then there's no problem. If you deselect XAP but not E then it doesn't fully install. The wiki only suggests that the 'A' series is required for the 'select' screen. The 'full' selection is not mentioned until the following screen as the best option to select from 'full, terse, menu' etc. This implies to me that it is best to choose full installation based on the selections I made on the previous screen. This only enforces my belief that a working Emacs will be installed.
I always read that as 'full install of the selected groups' as opposed to 'full install of working applications and their dependencies from the selected groups'. And now that I think about it (as I never really did before), 'full install of selected groups' as opposed to applications seems to be implicit in that context. So the idea that you can really only de-select seems obvious.
I always read that as 'full install of the selected groups' as opposed to 'full install of working applications and their dependencies from the selected groups'. And now that I think about it (as I never really did before), 'full install of selected groups' as opposed to applications seems to be implicit in that context. So the idea that you can really only de-select seems obvious.
So therefore a full install of the selected group E should bring up a full install of GNU Emacs. It is titled 'GNU Emacs' so that is what it should be. I'm not asking for massive system-wide dependency tracking, just that if I select GNU Emacs (or don't deselect it) then GNU Emacs is installed.
So therefore a full install of the selected group E should bring up a full install of GNU Emacs. It is titled 'GNU Emacs' so that is what it should be. I'm not asking for massive system-wide dependency tracking, just that if I select GNU Emacs (or don't deselect it) then GNU Emacs is installed.
But GNU Emacs *was* installed when you selected it. One of its dependencies was not because you deselected it. What you are asking absolutely requires dependency resolution and if you're going to single out emacs, why not do it for everything else? And by that point you've just implemented dependency resolution in the installer, which requires a significant amount of work and testing. If you want to run emacs without installing xap, then you can use the console-only /usr/bin/emacs-24.2-no-x11 as mentioned earlier (note: I haven't tried this and only assume it works). If you want to use X-capable emacs, which depends on libraries in xap/, then you must install xap/ (or at least the individual dependencies, like ImageMagick, from xap/). Applications in Slackware are compiled on a full system, so they often will pull in optional dependencies from the rest of the system unless explicitly told otherwise (vim is explicitly compiled with --without-x, for example, which disables X clipboard support so it won't depend on X). emacs already ships with two binaries (one with X support and one without), and the one with X support depends on ImageMagick libraries. As mentioned earlier in the thread, you can either split ImageMagick into multiple packages (which I definitely do not want), create dependency resolution in the installer (which isn't going to happen), or do a full install (which is recommended). If you do not do a full install, then you must manage dependencies yourself -- which you have done with emacs. This isn't a bug in the installer -- it is an inherent product of Slackware's design. There is no dependency information in Slackware, so if you do not do a full install, you will have to manage dependencies yourself. emacs isn't a 'special' case and your arguments in this thread hold no water whatsoever.
But GNU Emacs *was* installed when you selected it. One of its dependencies was not because you deselected it. What you are asking absolutely requires dependency resolution and if you're going to single out emacs, why not do it for everything else? [ ...]
Because GNU Emacs is explicitly offered as an installation option, on screen, it's there in front of you. There are many many packages making up a Slackware install, of course there are but they are't listed by the installer as an install group or as any kind of seperate option to select/deselect. GNU Emacs is. It is package E, It is there in front of you. Deselect or select it as you please but if you leave it selected it then surely it should be installed. It's not an issue of dependencies its an issue with the installer. You leave GNU Emacs selected - it is installed and it works. You deselect it, it is not installed. If there's a situation where it can be marked for installation but it doesn't actually work then something is wrong.
Yes, what is wrong is that you haven't installed its dependences(which are in a different package-set).
Because I wasn't told that I had to install any dependencies...neither by the install docs on the wiki or by the installer itself. I just left it selected for install assuming I would therefore get a working Emacs. I didn't and yes, it is trivial for me to fix...I've been using Slackware a long time. If I was fairly new to Slackware however then it would be an issue.
If GNU Emacs is offered as a selection I shouldn't have to worry about checking whether the installer was including all the necessary files, it should just do that. Otherwise why even have it listed in the first place? It's not a group of packages offering say, various types of multimedia support or development programs, it's one program, Emacs and it's saying do you want it or not?
:edit I did was change 'Because I wasn't told that I had to install it' to 'Because I wasn't told that I had to install any dependencies'
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.