LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Package group E selected but Emacs not quite installed (https://www.linuxquestions.org/questions/slackware-14/package-group-e-selected-but-emacs-not-quite-installed-4175456003/)

TommyC7 03-29-2013 11:01 AM

I would also like to note that /usr/bin/emacs is actually a symlink to /usr/bin/emacs-${TARBALLVER}-with-x11 as per the emacs.SlackBuild.

You might be able to use emacs without those x11 shared objects if you recreate the symlink.

rkfb 03-29-2013 01:08 PM

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.

Looking at
http://docs.slackware.com/slackware:install

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)'

ponce 03-29-2013 01:21 PM

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). :)

rkfb 03-29-2013 01:41 PM

Quote:

Originally Posted by ponce (Post 4921181)
but you don't need the whole XAP, so that too it's not correct. ;)

It's overkill, I know :-)

Maybe a note on the wiki then? If you select E but not XAP then please install imagemagick<version> post install? I would have seen that.

ponce 03-29-2013 01:45 PM

it will be filled with notes like that and then people will react with "TLDR" :D
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

http://www.tomas-m.com/blog/upload/s...deps-13.37.php

rkfb 03-29-2013 02:15 PM

Quote:

Originally Posted by ponce (Post 4921197)
it will be filled with notes like that and then people will react with "TLDR" :D
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

http://www.tomas-m.com/blog/upload/s...deps-13.37.php

And you're right of course.

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.

Myk267 03-29-2013 03:03 PM

Quote:

Originally Posted by rkfb (Post 4921216)
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.

rkfb 03-29-2013 04:17 PM

Quote:

Originally Posted by Myk267 (Post 4921241)
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.

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.

astrogeek 03-29-2013 04:49 PM

Quote:

Originally Posted by rkfb (Post 4921278)
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.

rkfb 03-29-2013 04:58 PM

Quote:

Originally Posted by astrogeek (Post 4921292)
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.

GazL 03-29-2013 05:20 PM

Just pretend the emacs package is part of 'xap'. Problem solved.

T3slider 03-29-2013 05:36 PM

Quote:

Originally Posted by rkfb (Post 4921296)
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.

rkfb 03-29-2013 06:15 PM

Quote:

Originally Posted by T3slider (Post 4921322)
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.

GazL 03-29-2013 06:20 PM

Quote:

Originally Posted by rkfb (Post 4921336)
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).

rkfb 03-29-2013 06:37 PM

Quote:

Originally Posted by GazL (Post 4921338)
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'


All times are GMT -5. The time now is 08:38 AM.