If I can fix lyx: sabayon is where I'll spend most my time!

Anything that pertains to Portage

Moderator: Moderators

If I can fix lyx: sabayon is where I'll spend most my time!

Postby joe3 » Wed Feb 20, 2008 3:56

I'm a multi-linux-boot man. My laptop has 3 linux distros on it. currently that's kubuntu, fedora, and of course sabayon... I like different things about each of them. But the one I like enough to make my default boot is sabayon. It works well, and it neither tries to cram sudo down my throat like kubuntu, nor does it push gnome features into my chosen (and only!) desktop environment (kde) like fedora. Thus it's the one I'll most often use when I start projects that I intend to leave open for days at a time.

One of the most time consuming things I like to do with my computer is something I'm using lyx to write. Trouble is I managed to emerge a dis-functional copy of lyx. (it complains about it's layout files, suggests that some latex class or style files might not be available, and informs that it won't be able to produce output...)

I think this is because I was dumb enough to emerge lyx after a new install of sabayon before I was reminded of the need to do an

emerge --sync && layman -S

I've tried unmergeing and then re-emergeing lyx but it doesn't unmerge as many things as lyx needed the first time. Probably I have a broke {library?} somewhere. I'm thinking I need to unmerge everything latex related (latex, tetex, etc???) then re-merge them after a fresh --sync, but I don't know the package names to unmerge...

Suggestions anyone???

--
joe3
joe3
Advanced Hen
 
Posts: 200
Joined: Sun May 06, 2007 21:28

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby eshum » Wed Feb 20, 2008 6:20

I have only used this once but you might try revdep-rebuild I would look at the help file and check the wiki also. Myself I would do a fresh install then emerge --sync && layman -S then emerge portage if required. Then install the files you need from there with nothing broken to get in the way.

ed
eshum
Technological Hen
 
Posts: 312
Joined: Tue Feb 20, 2007 20:42
Location: Oregon

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby joe3 » Wed Feb 20, 2008 20:56

The re-install again is an option of last resort...I just finished setting up and configuring my
actual user accounts... And I'm guessing that even if I really break something I can still go
back to the dvd and start over... Any way, lets try this.

revdep-rebuild --ignore --pretend -X tetex


All prepared. Starting rebuild...
emerge --oneshot --pretend tetex =dev-libs/openobex-1.3 =dev-python/PyQt4-4.3.3
=x11-wm/compiz-0.6.2-r1

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild U ] dev-libs/glib-2.14.6 [2.12.11]
[ebuild U ] dev-python/sip-4.7.3 [4.5.2-r1]
[ebuild N ] app-text/tetex-3.0_p1-r6 USE="X -Xaw3d -doc -motif -neXt -tk"
[ebuild R ] dev-libs/openobex-1.3
[ebuild U ] x11-libs/pango-1.18.4 [1.16.3]
[ebuild U ] dev-python/PyQt4-4.3.3 [4.1.1]
[ebuild U ] x11-libs/gtk+-2.12.8 [2.10.11] USE="cups%* -vim-syntax%"
[ebuild U ] x11-libs/libwnck-2.20.3 [2.18.0]
[ebuild U ] x11-wm/compiz-0.6.2-r1 [0.5.2] USE="-debug% -gnome*"
[blocks B ] app-text/tetex (is blocking app-text/texlive-core-2007-r12)
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
localhost snip #


- - - - - - - - -< s n i p >- - - - - - - - - -
excerpt from "man emerge"

[blocks B ] app-text/dos2unix (from pkg app-text/hd2u-0.8.0)
Dos2unix is Blocking hd2u from being emerged. Blockers are
defined when two packages will clobber each others files, or
otherwise cause some form of breakage in your system. However,
blockers usually do not need to be simultaneously emerged
because they usually provide the same functionality.

OK so perhaps app-text/texlive-core-2007-r12 provides whatever
app-text/dos2unix would have... lets see what an unmerge would do...

- - - - - - - - -< s n i p >- - - - - - - - - -


localhost snip # emerge --pretend --unmerge app-text/tetex

>>> These are the packages that would be unmerged:

--- Couldn't find 'app-text/tetex' to unmerge.

>>> No packages selected for removal by unmerge
localhost snip #

OK so maybe the prefix 'app-text/' isn't included in an unmerge of the
blocking package (blocker?)
"


localhost snip # emerge --pretend --unmerge tetex

>>> These are the packages that would be unmerged:

--- Couldn't find 'tetex' to unmerge.

>>> No packages selected for removal by unmerge
localhost snip #


But if tetex isn't installed, how can it be blocking texlive-core-2007-r12 ???
joe3
Advanced Hen
 
Posts: 200
Joined: Sun May 06, 2007 21:28

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby eshum » Wed Feb 20, 2008 21:27

This is the best clue I could find--- [gentoo-user] Hooks for Portage 2.1?
All of a sudden it decides that some items block each other: [blocks B ] app-text/tetex (from pkg app-text/ptex-3.1.3) [blocks B ...
forum.soft32.com/linux/gentoo-user-Hooks-Portage-ftopict333319.html - 37k - Cached - Similar pages - Note this
More results from forum.soft32.com »

ed
eshum
Technological Hen
 
Posts: 312
Joined: Tue Feb 20, 2007 20:42
Location: Oregon

LyX is FiXed: sabayon IS where I'll spend most my time!

Postby joe3 » Fri Feb 22, 2008 15:18

Well Ed, I'd like to thank you for pointing me at revdep-rebuild...

It eventually did fix the problem I had with lyx. I'm not sure if it was an accumulative effect of all the revdep-rebuild and emerge commands I tried or just the last one in the sequence. But lyx is fixed... Thanks!

I think portage / emerge / revdep-rebuild are powerful and dangerous tools. Of which my understanding is minimal at best. But since the alternative was to re-install and then after an "emerge --sync && layman -S" to laboriously re-emerge and re-configure all my favorite applications I figured what the heck, the worst I could do was break something so badly that I was forced to re-install...

What I did understand was to use options like --ignore --pretend to do a dry run first. But every time it seamed like it would succeed (unblocked etc...) I immediately reran it without those options.

I can't remember all the combinations, but I remember that a

revdep-rebuild --ignore --pretend

Without an -X option led to an manually altered emerge command that I removed the package that seamed to be about something called 'portato'


And then I did

revdep-rebuild --ignore --pretend -X lyx

And finally lyx can output. Now I can use sabayon to do MY stuff...

But for future reference I wonder if you would let me pick your brain on the meanings of a few (flags?) in the output of an emerge --pretend run

When it says: These are the packages that would be merged, in order:

the listed packages are prefixed with things like:

[blocks B ]
[ebuild N ]
[ebuild R ]
[ebuild U ]

The only one I have a clue about is the one that tells me something is blocking something... What do the other three mean??? I notice that the "B,N,R,U" are all in separate columns. Is the position significant, or just which letter is used???

--
joe3
joe3
Advanced Hen
 
Posts: 200
Joined: Sun May 06, 2007 21:28

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby eshum » Fri Feb 22, 2008 20:01

Okay good to hear I pointed you in the right direction. Now I will give you another lead to great Sabayon/ Gentoo help that is a lot clearer and much less messy then mucking around in my brain! :) Gentoo:emerge
From Linux 101, The beginner's guide to all things Linux.
Jump to: navigation, search

emerge is a very powerful command in Gentoo Linux, so it is important that we know how to use it.

Generally to install a program (and any dependencies it requires) onto your computer, you can type:

# emerge <program name>

and it will do its job. However, there is a lot more beyond this basic useage, so let's look at some special cases and some good uses for the program.
Contents
[hide]

* 1 Special emerge uses
o 1.1 Syncing
o 1.2 Gathering information
* 2 emerge command-line arguments
o 2.1 What is the emerge output telling me?
* 3 emerge and .ebuild files
* 4 The emerge installation process
* 5 An important note

[edit] Special emerge uses
[edit] Syncing

We have already discussed portage and that you sync the portage tree. You accomplish this with the command:

# emerge --sync

And emerge will sync your portage tree for you.
[edit] Gathering information

There is another useful special emerge command that does not install anything. This is useful for debugging information, or determining the settings that emerge uses when it is installing programs. This command is:

emerge --info

Note: The emerge command has had all action options (info, sync, metadata, etc.) not prefixed with a double-hyphen deprecated in favor of the above formatting.
[edit] emerge command-line arguments

emerge has a lot of useful command-line options, so let's explore a few.

after an emerge sync, you should do the following:


# emerge -Dup world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild NS ] sys-kernel/gentoo-dev-sources-2.6.9-r6
[ebuild U ] gnome-base/gnome-mime-data-2.4.2 [2.4.1]
[ebuild U ] gnome-base/gconf-2.8.1 [2.8.0.1]
[ebuild U ] x11-themes/gnome-themes-2.8.1 [2.8.0]
[ebuild U ] media-libs/nas-1.7-r1 [1.7]
[ebuild U ] dev-libs/nspr-4.4.1-r2 [4.4.1-r1]
[ebuild U ] dev-libs/nss-3.9.2-r2 [3.9.2-r1]
[ebuild U ] mail-client/mutt-1.5.6-r5 [1.5.6-r4]

We ran emerge with 3 command-line options: D, u, and p. It would not have mattered what order we did them in (examples: Dup, uDp, puD, etc)

The D means check deep into the dependency tree. This means do not just check for the first level dependency applications/libraries, but check all the way down. If any application or library has been updated, then it is applicable to what we're about to do. This option doesn't tell emerge to perform an action, it qualifies the action to perform.

The u means update. This is how you tell emerge not to install all programs again, but to just update the ones that need updating. This option is telling emerge to perform an action (The D from above is qualifying this u).

The p means pretend. This is why emerge outputed a list of packages that it "would merge." This is just telling you what would be updated on your system, but it will not actually do the updating. If you ran this command without the p, then it would actually go through the install process.


# emerge -Dupv world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild NS ] sys-kernel/gentoo-dev-sources-2.6.9-r6 -build -doc (-ultra1) 35000 kB
[ebuild U ] gnome-base/gnome-mime-data-2.4.2 [2.4.1] -debug 0 kB
[ebuild U ] gnome-base/gconf-2.8.1 [2.8.0.1] -debug -doc 0 kB
[ebuild U ] x11-themes/gnome-themes-2.8.1 [2.8.0] -accessibility -debug 0 kB
[ebuild U ] media-libs/nas-1.7-r1 [1.7] -static 0 kB
[ebuild U ] dev-libs/nspr-4.4.1-r2 [4.4.1-r1] 0 kB
[ebuild U ] dev-libs/nss-3.9.2-r2 [3.9.2-r1] 0 kB
[ebuild U ] mail-client/mutt-1.5.6-r5 [1.5.6-r4] -cjk +crypt -debug -imap -mbox +nls -nntp +slang +ssl -vanilla 0 kB

Here we have added the v option for verbose output. This is very useful, because it shows what USE flags each program uses, and how you currently have them set. For example, to compile mutt with support for IMAP, edit make.conf to add imap into the USE flags.
[edit] What is the emerge output telling me?

Let's discuss what the emerge output means.

[ebuild NS ] sys-kernel/gentoo-dev-sources-2.6.9-r6 -build -doc (-ultra1) 0 kB

The information in the brackets tell us two important things: N means it is a new install, and S is telling us it is in a different Slot. The information after that is telling us the category, sys-kernel specific package name, gentoo-dev-sources, and the version of what is new, 2.6.9-r6. Next are the USE flags, all of which I do not personally have set on my computer, -build, -doc, (-ultra1). The 35000 kB is telling us how much we have to download from the internet to install this. The S also means that prior versions of the package that were installed will not be uninstalled.

[ebuild U ] dev-libs/nspr-4.4.1-r2 [4.4.1-r1] 0 kB

We can pull the same information off this line just like the other. The differences here are that this is an U updated package. This means I have already installed dev-libs/nspr, but now a new version is available. In fact, the information in the second brackets tells us that I already have version 4.4.1-r1 installed, but version 4.4.1-r2 is available. Notice that there are no USE flags that affect this ebuild. Also, the 0 kB means I do not need to download anything in order to update this package.

[ebuild UD] net-misc/openssh-4.1_p1-r1 [4.2_p1]

While not in the above output, here we can see an instance of a package needing to be downgraded. This can occur for any number of reasons including the package being added to your package.mask file for security or stability reasons, or because there was the usage of ACCEPT_KEYWORDS on the command line to install an unstable version and it was not added to package.keywords
[edit] emerge and .ebuild files

In the past you could have downloaded an .ebuild file from somewhere (online, Gentoo forums, someone on IRC) and ran

# emerge whatever-it-was-called.ebuild

and it would have read the .ebuild file out of the current directory (or if you /used/an/absolute/directory/path.ebuild, it would work too) and go ahead and install it.

However, since those days this ability has been marked as deprecated and it will soon find its way out of the emerge code. This is just here for historical information.
[edit] The emerge installation process

The emerge installation process is like any other source distribution install, except it automates a lot of the difficult procedures that you would be doing otherwise.

1. Check for dependencies
2. Install dependencies as required
3. Download the source package
4. Decompress the source package
5. Configure the package
6. Compile the package
7. Test the package (as required or requested)
8. Install the package
9. Clean up the install directory (usually just remove it)

If you were to install programs by hand, usually you would have to start with the downloading of the source package. Then you would read the README and/or the INSTALL file. After that you could then determine any dependencies and the actual commands you would use to install the particular package.

Usually steps one and two are the ones that people hate so much. Because when you go to install a dependency, what if it also has dependencies? The dependency tree can quickly grow. This is why Gentoo's dependency solving is wonderful.

Configuring usually just revolves around the ./configure command. On some specially built packages this can get much more tedious.

After you configure, you would usually run make. Sometimes it is make linux, sometimes other things. It's nice that Gentoo knows and you don't need to.

After that its usually a make install. Perhaps you would need to run some other commands. Again, not your problem, emerge solves them for you.

Finally, you would usually cd ..; rm -rf sourcedirectory. But you don't need to.
[edit] An important note

emerge is not a root-user only program!! It is important that you notice this. You will only need root's permissions to install, uninstall, and sync. Commands to query what's installed, settings, and the like can all be run by normal users. However, to avoid permission errors regarding portage's cache, these users should be members of the portage group (emerge will produce a warning to this effect if run by a user not in the portage group).

The Portage Articles Series
portage | emerge | make.conf | use flags | cflags | Overlays


Navigation: Gentoo Index
Retrieved from "http://learn.clemsonlinux.org/wiki/Gentoo:emerge"
Views

* Article
* Discussion
* Edit this page
* History

Personal tools

* Log in / create account

Navigation

* Main Page
* Community portal
* Current events
* Recent changes
* Random page
* Help

Distributions

* Ubuntu Linux
* Gentoo Linux
* Slackware Linux
* Debian GNU/Linux
* Mandrake Linux

Search

Toolbox

* What links here
* Related changes
* Upload file
* Special pages
* Printable version
* Permanent link

Powered by MediaWiki
GNU Free Documentation License 1.2

* This page was last modified 04:56, 18 January 2007.
* This page has been accessed 29,632 times.
* Content is available under GNU Free Documentation License 1.2.
* Privacy policy
* About Lnx101
* Disclaimers

Joost, Wolfden, and many others here have taught me to lean on the Gentoo and Sabayon wikis they are great learning tools and easy to search and the info is solid.

ed
eshum
Technological Hen
 
Posts: 312
Joined: Tue Feb 20, 2007 20:42
Location: Oregon

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby eshum » Sun Feb 24, 2008 6:00

"B,N,R,U" ebuild B blocked, ebuild N new, ebuild R ? revision, ebuild U update and S is Slot see that quite often in portage.

ed
eshum
Technological Hen
 
Posts: 312
Joined: Tue Feb 20, 2007 20:42
Location: Oregon

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby joe3 » Fri Feb 29, 2008 16:33

Well I thank you again Ed...

The Gentoo:emerge / Linux 101 hint was great!

It's now in my bookmarks...

I just might now have enough of an understanding to begin to make effective use of the wiki... Which I'll try to remember to check before I fall back on the forum for help next time. (though, knowing me, there most likely will always be a next time that I need some help...[sigh])

--
joe3
joe3
Advanced Hen
 
Posts: 200
Joined: Sun May 06, 2007 21:28

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby eshum » Fri Feb 29, 2008 18:47

Soon you will be here exchanging information and just chatting in general about Sabayon. The forum is a great place to meet other Sabayon users and talk about your Sabayon experience. :)

ed
eshum
Technological Hen
 
Posts: 312
Joined: Tue Feb 20, 2007 20:42
Location: Oregon

Re: If I can fix lyx: sabayon is where I'll spend most my time!

Postby ddbb » Wed Jun 11, 2008 5:18

Hi,

Found this "old" thread looking for a solution to the same problem (circular blocking between tetex & texlive-core).

My solution:
# equery depends texlive-core
showed that the only stuff depending on this were other texlive components. So, it's as simple as removing all of the packages listed by the above command. Then emerge tetex if needed...

In fact, I didn't have to do this...apparently I got away with tetex and texlive concurently installed :(.
ddbb
Baby Hen
 
Posts: 1
Joined: Wed Jun 11, 2008 5:04


Return to Portage|Emerge Package Managers

Who is online

Users browsing this forum: No registered users and 3 guests

cron