Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
rebuild all dependencies for an atom... but how?
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 9:31 am    Post subject: rebuild all dependencies for an atom... but how? Reply with quote

Hi

I'm trying to solve some weird compile errors which I suspect to have to do with switching from gcc 4 to gcc 5. But I believe that by now, all or at least virtually all of my 1400 packages have been reemerged at least twice so I don't want to try yet another run of 'revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc' (which by the way doesn't exclude any gcc, it reemerges all gcc versions despite...)

So what I want is to single out one problematic atom, remerge all of its deep dependencies, and then see if there's any improvement. But I can't figure out how to accomplish this...

emerge -o =media-sound/ardour-5.10 fails because the dependencies are already installed and I can't find a way to tell it to reemerge unconditionally.

browsing forums, 'emerge -ea =media-sound/ardour-5.10' is suggested to reemerge an atom and all of its dependencies, but I think --emptytree is very faulty or at the very least trolling me; it reports for example 500(!) dependencies for ardour-5. Or to give a better example, if I try 'emerge -ea glibc' it reports 400 dependencies for glibc... including ridiculous stuff like dev-qt/qtchooser, virtual/mysql and net-print/cups...
Really...? Glibc depends on cups? I think --emptytree has cause and effect reversed... :roll:

So... basically, my question is twofold... how can I reemerge all dependencies for one package, and secondly, what is wrong with --emptytree (or my use of it) ? Now it is effectively rather unusable...

regards
maarten
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9677
Location: almost Mile High in the USA

PostPosted: Thu Aug 24, 2017 2:10 pm    Post subject: Reply with quote

Do you mean dependencies (what a package needs) or reverse dependencies (what packages needs it)?

I can see glibc not really needing as many packages as ardour, but basically all packages need glibc. However glibc does have some "dependencies" in which it needs certain versions of gcc, and gcc's dependencies are now glibc's dependencies.. 400 sounds reasonable.

Revdep-rebuild is indeed the tool to fix packages that need a certain file, and should be sufficient to locate packages that require it.

Perhaps the question that needs to be asked: what is the exact error you're trying to solve?
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 3:48 pm    Post subject: Reply with quote

eccerr0r wrote:
Do you mean dependencies (what a package needs) or reverse dependencies (what packages needs it)?

I mean what a package needs; it fails building, and I suspect that is because something it uses at compile time is somehow broken.
See my example with ardour; that's a top-level package. Nothing depends on ardour (Or it would highly surprise me).

Also see the manpage section on --emptytree: "Reinstalls target atoms and their entire deep dependency tree, as though no packages are currently installed."

Well something is up, because nobody can tell me glibc needs 400 dependencies to build. (yes, obviously hundreds of packages depend ON glibc but that's reverse dependencies)

Quote:
I can see glibc not really needing as many packages as ardour, but basically all packages need glibc. However glibc does have some "dependencies" in which it needs certain versions of gcc, and gcc's dependencies are now glibc's dependencies.. 400 sounds reasonable.

400 sound reasonable? Can't be. For example, I have a webserver, 'emerge -eaD world' yields 325 packages there. Meaning, there aren't even 400 packages installed in total.

Quote:
Revdep-rebuild is indeed the tool to fix packages that need a certain file, and should be sufficient to locate packages that require it.

Yes, I know what revdep-rebuild does. But it is no use to me now; I have a package (well, several actually but let's focus on one now) that cannot be built. It gives an error. All its dependencies are there and up to date, according to revdep--rebuild. So what I want is to identify all the packages that ardour depends on, and reemerge them unconditionally, whether revdep-rebuild thinks it's needed or not doesn't interest me at this point, because I don't trust it to find a problem with them other than <absent|provided>.

If I run revdep-rebuild -p on my system, it only lists one package, which really cannot possibly be related to ardour: dev-perl/DBD-mysql-4.41.0-r1
(Or if I run the old revdep-rebuild.sh it says "Dynamic linking on your system is consistent... All done.", which is funny... it doesn't notice that dev-perl/DBD-mysql one.)
So, revdep-rebuild doesn't help. 'emerge @preserved-rebuild' does neither; also that yields only one package: media-libs/mlt-6.4.1-r3 (which I cannot build; it gives me an error, too).

Googling on these errors led/leads me to believe it might have to do with the c++ ABI change between gcc 4 and gcc 5. And indeed, I have switched compiler from 4.9 to 5.4 a few days ago. After that, I have run 'emerge -avueDN world --keep-going', amongst others, and followups to fix whatever got skipped. So my system should be 99,99% consistent... but after solving most problems, I still get errors compiling several packages I want/need.

Quote:
Perhaps the question that needs to be asked: what is the exact error you're trying to solve?

Perhaps... but I'd really rather understand how to correctly use --emptytree (or some other/better tool) to rebuild a dependency tree so I can use it in future cases, instead of a one-time fix for ardour-5.10. Also, I get errors with several packages, so it isn't just one error... So to use a metaphor, I'd prefer a fishing howto, not a tasty fish. :wink:

But, for completeness' sake: this is what ardour says: https://pastebin.com/cQFektG6

Portage 2.3.8
Timestamp of repository gentoo: Sat, 19 Aug 2017 17:00:01 +0000
ACCEPT_KEYWORDS="amd64 ~amd64"

regards,
maarten
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54212
Location: 56N 3W

PostPosted: Thu Aug 24, 2017 4:05 pm    Post subject: Reply with quote

utux,

Lets see if you need a fishing howto or not. Show us a build log or two so we can see what fails and how it fails.
Here, 'revdep-rebuild --library 'libstdc++.so.6 -- --exclude gcc' does what it claims. gcc is not rebuilt.

The gentoo repository does not specify dependences completely. Things in the @system set are assumed to be installed.
The only time dependencies on gcc and glibc are give in ebuilds are when versions are required.
ebuild authors are allowed to assume that @system is always available.

Without this simplifying assumption, it would never be possible to break circular dependencies.
e.g. gcc and glibc really do depend on each other.

A consequence of that is that its not possible to calculate the entire deptree of any package.
I'm unsure if --emptytree includes @system or not.
Notice that
Code:
 emerge -pv @system
includes lots of thing that are not specifically included in the @system set too.

Fishing ... lesson 1.
Rebuilding lots of stuff without knowing why you are doing it is not the gentoo way.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Thu Aug 24, 2017 4:10 pm    Post subject: Reply with quote

emerge -e <atom> is what you are looking for.

This will rebuild every dependency so patience is required. I really do mean everything. It will basically rebuild your entire system.

Glibc needs about 142 packages. Ardour needs about 352. This is all very use flag dependent of course. My system was intended to be minimal. 400 is not unreasonable.

EDIT: Actually, follow NeddySeagoon's suggestion. Our posts collided and his advise is much better than mine. But to clearify, @system is included in --emptytree. It rebuilds in a more or less bottom up approach but not perfectly.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.


Last edited by The Doctor on Thu Aug 24, 2017 4:15 pm; edited 1 time in total
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 4:11 pm    Post subject: Reply with quote

eccerr0r wrote:
Do you mean dependencies (what a package needs) or reverse dependencies (what packages needs it)?

I can see glibc not really needing as many packages as ardour, but basically all packages need glibc. However glibc does have some "dependencies" in which it needs certain versions of gcc, and gcc's dependencies are now glibc's dependencies.. 400 sounds reasonable.


I think the examples in my first post with glibc supposedly depending on cups, mysql and qt (which would be utterly impossible) were clear, but here's another, more extreme example of --emptytree failing:

'emerge -ea gentoo-sources' yields 400 packages. Arguably, the kernel itself has either zero dependencies, or perhaps a virtual/bootloader and an init. Or in the extreme case gentoo-sources, knowing it still needs to get compiled, would depend on a build environment. But that can never be 400 packages.
But if they would be reverse-dependencies the number is also wrong, because my system has 1400 packages installed, and you can argue every single one of them 'deep-depends' on the kernel, right?

The more I look at it, the more dysfunctional --emptytree seems. But maybe I'm missing something?

regards
Maarten
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 4:16 pm    Post subject: Reply with quote

The Doctor wrote:
emerge -e <atom> is what you are looking for.

This will rebuild every dependency so patience is required. I really do mean everything. It will basically rebuild your entire system.

Glibc needs about 142 packages. Ardour needs about 352. This is all very use flag dependent of course. My system was intended to be minimal. 400 is not unreasonable.


Hm.
How (where) did you get these numbers like 142 and 352 ? I'd like to use that tool too...

And how do you explain that 'emerge -e glibc' on my system claims it depends on qt, cups and mysql? That cannot be right. How could it? That would create a circular dependency for starters.

regards,
Maarten
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Thu Aug 24, 2017 4:18 pm    Post subject: Reply with quote

Quote:
Cairo::Context::get_text_extents(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cairo_text_extents_t&) const'
Cairo is your problem. It could be broken or a use flag problem that a dev didn't anticipate.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Thu Aug 24, 2017 4:23 pm    Post subject: Reply with quote

No, GCC-5 ABI incompatibility is still the problem.
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 4:31 pm    Post subject: Reply with quote

NeddySeagoon wrote:
utux,

Lets see if you need a fishing howto or not. Show us a build log or two so we can see what fails and how it fails.
Here, 'revdep-rebuild --library 'libstdc++.so.6 -- --exclude gcc' does what it claims. gcc is not rebuilt.


Hm. My bad. I let it run until it listed what it wanted to rebuild and I killed it at that point because it listed hundreds of packages that were just freshly emerged minutes ago, including all of kde-* and qt-* and monsters like libreoffice, firefox and chromium. So I edited the list by hand and ran that. In that list was gcc. but indeed that gets skipped later by portage. excuse me.


Quote:
The gentoo repository does not specify dependences completely. Things in the @system set are assumed to be installed.
The only time dependencies on gcc and glibc are give in ebuilds are when versions are required.
ebuild authors are allowed to assume that @system is always available.

Without this simplifying assumption, it would never be possible to break circular dependencies.
e.g. gcc and glibc really do depend on each other.

A consequence of that is that its not possible to calculate the entire deptree of any package.
I'm unsure if --emptytree includes @system or not.
Notice that
Code:
 emerge -pv @system
includes lots of thing that are not specifically included in the @system set too.

Fishing ... lesson 1.
Rebuilding lots of stuff without knowing why you are doing it is not the gentoo way.


Thanks.
Okay. Well I included the (tail of) the build log of ardour in another post... ( https://pastebin.com/cQFektG6 ). Maybe the error is solvable. googling got me nowhere...

regards,
maarten
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 4:38 pm    Post subject: Reply with quote

The Doctor wrote:
Quote:
Cairo::Context::get_text_extents(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cairo_text_extents_t&) const'
Cairo is your problem. It could be broken or a use flag problem that a dev didn't anticipate.


Okay, rebuilding cairo now... just in case...



asturm wrote:
No, GCC-5 ABI incompatibility is still the problem.


Ah. So then it's what I feared. Any suggestion to better pinpoint the culprit(s) without... rebuilding all 1400 packages? :(


regards,
maarten
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Thu Aug 24, 2017 4:43 pm    Post subject: Reply with quote

Well, if the package rebuilds kept going and you did not check package failures happening in between, such errors may still occur from time to time. But maybe cairo is just the last package on that list, who knows. These kind of ABI errors always look the same though so keep a picture of it in your brain and take future build issues on your system with a grain of salt. If you revisit your forum thread with the build.log, most of the time someone will be able to help you.
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 5:14 pm    Post subject: Reply with quote

asturm wrote:
Well, if the package rebuilds kept going and you did not check package failures happening in between, such errors may still occur from time to time. But maybe cairo is just the last package on that list, who knows. These kind of ABI errors always look the same though so keep a picture of it in your brain and take future build issues on your system with a grain of salt. If you revisit your forum thread with the build.log, most of the time someone will be able to help you.


I rebuilt cairo, which went fine. Then reemerged ardour, which failed still. When I examine the build log, rather than cairo I'd say the culprit is gdk-pixbuf... So I reemerged that too.
But building still fails.

I do not know if the error is exactly the same though, so to be sure, here it is: https://pastebin.com/gYnyHqfv


I'm not sure how to proceed now...
I have an error with building media-libs/mlt-6.4.1-r3 too. What's the best way to check if ardour somehow depends on mlt?

regards,
maarten
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Thu Aug 24, 2017 5:29 pm    Post subject: Reply with quote

Code:
libs/gtkmm2ext/libgtkmm2ext.so: undefined reference to `Cairo::Context::get_text_extents(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cairo_text_extents_t&) const'

dev-cpp/gtkmm
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 5:49 pm    Post subject: Reply with quote

asturm wrote:
Code:
libs/gtkmm2ext/libgtkmm2ext.so: undefined reference to `Cairo::Context::get_text_extents(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cairo_text_extents_t&) const'

dev-cpp/gtkmm


Ok, trying that now...


On mlt... I solved that but it leaves me with questions. I looked at mlt's dependencies and noticed movit. I had assumed movit depended on mlt, not the reverse. So I tried to reemerge movit. But to my surprise, movit was old and not updated yet. (movit-1.3.2). I updated to media-video/movit-1.5.1 (because 1.5.2 hits https://bugs.gentoo.org/show_bug.cgi?id=626692) and afterward, mlt emerged also fine...

But my question is... how could 'emerge -ueaDN world' have missed this and forgot to (attempt to) update movit? I want to make sure I avoid these situations in the future.

In fact, gtkmm has a similar issue: it now installs 3.22.1, so in a new slot. Previous was 2.24.5. Here again, an update was skipped, and despite that 'emerge -auDN world' did/does not list it... what am I doing wrong?

regards,
maarten
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 6:08 pm    Post subject: Reply with quote

utux wrote:
asturm wrote:
Code:
libs/gtkmm2ext/libgtkmm2ext.so: undefined reference to `Cairo::Context::get_text_extents(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cairo_text_extents_t&) const'

dev-cpp/gtkmm


Ok, trying that now...


Still no. Same error. :(

See... that idea of mine to just [somehow] fetch a list of ALL that ardour is dependent on and just feed that to emerge, really wasn't so stupid... :wink:

So... can it be done ? or not ? I suppose that since --emptytree is out I'll try and feed what 'equery g =media-sound/ardour-5.10' reports to emerge...

regards,
maarten
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Thu Aug 24, 2017 6:16 pm    Post subject: Reply with quote

Looks like changing between major gcc versions is causing the problem. I suggest reading Upgrading GCC would be helpful to you.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Thu Aug 24, 2017 6:18 pm    Post subject: Reply with quote

As Asturm hinted above: https://gcc.gnu.org/gcc-5/changes.html#libstdcxx

It looks to me that you are missing a lot of symbols involving the new ABI from various packages.
Where I upgraded from gcc 4 to gcc 5 (and again when going from 5 to 6 and 6 to 7), the last step was "emerge -e @world --keep-going" and I did have to resume, at least twice.
I know the wiki says you don't have to. I did it anyway, being old school. You may have to override one or more pacjages.
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 7:14 pm    Post subject: Reply with quote

Tony0945 wrote:
As Asturm hinted above: https://gcc.gnu.org/gcc-5/changes.html#libstdcxx

It looks to me that you are missing a lot of symbols involving the new ABI from various packages.
Where I upgraded from gcc 4 to gcc 5 (and again when going from 5 to 6 and 6 to 7), the last step was "emerge -e @world --keep-going" and I did have to resume, at least twice.
I know the wiki says you don't have to. I did it anyway, being old school. You may have to override one or more pacjages.


Tja... I get that.
The point is though, I have already done that. From Monday night to Wednesday afternoon. I started this emerge world 'project' on Sunday morning. I started with portage, then system, then changed compiler to gcc 5.4.0, removed all of kde and all of qt, and proceeded with emerge -aveND world --keep-going and its ensuing fallout.
So... it's been five days of pretty much non-stop compiling and recompiling. And not because the system is slow. It's a pretty okay 4 core system with an SSD and 24 G RAM...

At some point I'll just give up rather than going for another 62-hour recompile of 1400 packages... IF the problem is just limited to ardour. Obviously not if the whole system is unstable, but...

utux
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Thu Aug 24, 2017 7:30 pm    Post subject: Reply with quote

utux wrote:
Still no. Same error. :(

Did you rebuild dev-cpp/gtkmm:2.4 or dev-cpp/gtkmm:3.0? Because the error message gives a hint about the correct one...
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 7:38 pm    Post subject: Reply with quote

asturm wrote:
utux wrote:
Still no. Same error. :(

Did you rebuild dev-cpp/gtkmm:2.4 or dev-cpp/gtkmm:3.0?


Both. After realizing from the output of equery g that ardour depends on the dev-cpp/gtkmm:2.4, not the 3.0 version, I also reemerged =dev-cpp/gtkmm-2.24.5

I'm now reemerging the 41 packages that equery g claims ardour directly depends on... we'll see how that turns out...

Thanks for all your help :)
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Thu Aug 24, 2017 7:45 pm    Post subject: Reply with quote

BTW, I hope you have discovered the --oneshot option (-1 for short) to prevent these packages from ending up in world. That will give you all kinds of problems down the road.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 7:48 pm    Post subject: Reply with quote

Tony0945 wrote:
As Asturm hinted above: https://gcc.gnu.org/gcc-5/changes.html#libstdcxx

It looks to me that you are missing a lot of symbols involving the new ABI from various packages.
Where I upgraded from gcc 4 to gcc 5 (and again when going from 5 to 6 and 6 to 7), the last step was "emerge -e @world --keep-going" and I did have to resume, at least twice.
I know the wiki says you don't have to. I did it anyway, being old school. You may have to override one or more pacjages.


Hmm. I just glanced at that https://gcc.gnu.org/gcc-5/changes.html#libstdcxx page but...
is that aimed at maintainers, developers or end-users?
Because I have to admit that I cannot translate that to any concrete action I could take... or maybe I just don't understand it.

I can do system administration, but not much beyond that and certainly no clue about C++...

regards,
maarten
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Thu Aug 24, 2017 8:02 pm    Post subject: Reply with quote

I'm not understanding why you are emerging every dependency instead of just the libraries that explicitly fail.
Granted, the error messages can be pretty cryptic. I latched onto the ABI because of ASturm's hint, but it's also possible that you need certain useflags set in that dependent package. The ebuild should indicate that, but (clutching pearls) sometimes ebuilds have bugs! A missing reference in a library sure sounds like you need another useflag or it's the ABI. When I went from 6.3 to 7.1 I had to change the /etc/env.d package for one package to set the flag for the std-gnu-98 because it had fatal errors without that (stricter checking in the new ABI).

Don't waste your energy rebuilding what's linking OK and concentrate on the specific error messages. I'm sorry that I can't help more but I don't run ardour or kde.
Back to top
View user's profile Send private message
utux
n00b
n00b


Joined: 24 Aug 2017
Posts: 37

PostPosted: Thu Aug 24, 2017 8:43 pm    Post subject: Reply with quote

Tony0945 wrote:
I'm not understanding why you are emerging every dependency instead of just the libraries that explicitly fail.
Granted, the error messages can be pretty cryptic. I latched onto the ABI because of ASturm's hint, but it's also possible that you need certain useflags set in that dependent package. The ebuild should indicate that, but (clutching pearls) sometimes ebuilds have bugs! A missing reference in a library sure sounds like you need another useflag or it's the ABI. When I went from 6.3 to 7.1 I had to change the /etc/env.d package for one package to set the flag for the std-gnu-98 because it had fatal errors without that (stricter checking in the new ABI).

Don't waste your energy rebuilding what's linking OK and concentrate on the specific error messages. I'm sorry that I can't help more but I don't run ardour or kde.


Yes... well, the error message is a bit cryptic... to me at least. But reading it, I see mentions of...:
Gdk::Pixbuf, Glib::RefPtr, Gtk::SelectionData::get_target, Gtk::Image::Image, LuaInstance::bind_cairo, PluginTreeStore::row_drop_possible_vfunc, Mixer_UI::scroller_drag_data_received, Mixer_UI::plugin_drop, Gtkmm2ext::DnDTreeView, boost::shared_ptr, Cairo::Context::select_font_face, ProcessorEntry::drag_data_get, and the list goes on and on and on...

until now, I reemerged cairo, gdk-pixbuf, gtkmm I think. Other suggestions welcome I guess, although I'm now at (36 of 41) reemerging ardour's deps so it's a bit late.

Some of these I assume are internal (like Mixer_UI::scroller_drag_data_received), others are ostensibly external (like Gdk::Pixbuf). But it is not transparent to me which are which, or how to trace for example LuaInstance::bind_cairo to the atom it originates from (Which Lua package? Or is it cairo?). I also have no clue whether one of these is the 'true cause' and all the others are collateral/results... or that ALL of the mentioned items have C++ ABI problems and must all be reemerged... and the list is not short.

I may have been using linux for 20+ years but I still have a lot to learn... especially how you people can read error logs so quickly and pinpoint a cause... to me it's mostly garbled, and the format is also opaque to me... For example, an error often gets preceded with multiple pages of warnings. Or just with many many lines starting with "In ......" which do point to trouble ahead, if only because it clearly deviates from regular output. But the first mention of 'error' is way way further down. Where to look for the cause then? At the first 'error' line? The first 'warning' line? Sometimes -more often than not- it is just one gigantic haystack, and there are several needles sticking out, but most often those are just decoy needles... in short, it's rather confusing.

Oh well. Any pointers appreciated. Many thanks for helping me stumble along in the darkness anyway :)

regards
maarten
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum