[haiku-bugs] Re: [Haiku] #12225: Package daemon refuses to install some devel packages

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Thu, 23 Jul 2015 16:43:48 -0000

#12225: Package daemon refuses to install some devel packages
--------------------------------------+----------------------------
Reporter: haiqu | Owner: bonefish
Type: bug | Status: closed
Priority: normal | Milestone: Unscheduled
Component: Servers/package_daemon | Version: R1/Development
Resolution: no change required | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
--------------------------------------+----------------------------

Comment (by bonefish):

Replying to [comment:2 haiqu]:

waddlesplash already replied to most of your points, so I'll only add a
few bits.

OK, I'll write this slowly so you can understand it.

If writing slowly helps you to provide complete and consistent bug
reports, then that's much appreciated.

Reply to Para 1: Here's the syslog tail, from the time the package was
built until after installation. It's useless in this case.

If you hadn't truncated it, one would be able to see what packages were
installed at boot time, whether the installation locations were consistent
then, and what package operations had been performed since. This is very
relevant information for issues related to package installation. It is no
longer relevant for this ticket, as I was able to piece things together
sufficiently even with the limited information you provided; that's why I
started the paragraph with "On general note".

Para 2: I have not installed fftw_x86_3.3.4-4 and I have no idea where
you got that idea.

I got that idea from your description. You wrote

"Note that the first package is already installed and shows up in the
/boot/system/package_links directory."

The first of the two packages mentioned was fftw_x86-3.3.4-4.

The package daemon wanted to downgrade to fftw_x86-3.3.4-4 for some
reason.

No, it did not. It additionally want to install fftw_x86-3.3.4-4 in
system, because it -- or any other package providing what was required by
the package you requested to install -- wasn't present there yet.

The dependency solver should check for the presence of the package in
~/packages and if present accept it, not try to install it elsewhere. That
part is just nuts.

As I already explained, the point is to keep the system installation
location consistent. Why we want that should be obvious when you think
about a multi-user setting. It also makes sense in a single-user setting
e.g. with respect to safe modes that disregard packages installed in home.

Addendum: I note that once again a bug report has been prematurely
closed. I'm pointing out a single, genuine and obvious case where this
system doesn't work which you can test for yourself and see easily.

The information you have provided show only one issue, which is a bug in
the package declaration and thus belongs to HaikuPorts. Please feel
encouraged to report a bug there.

I have many more examples, such as packages not being recognised unless
they're installed in /boot/system/packages and so on. It's pretty broken,
but just keep believing it's fine and it might all go away.

Feel free to report those issues, but please provide sufficient
information.


Replying to [comment:3 waddlesplash]:
We might be able to improve our error messages, though. That could be a
real problem that is package_daemon's fault.

In case of dependency solving issues, the problem and solution analysis
comes straight from the dependency solver library (libsolv). We could add
more information in some situations, e.g. in this case what the providers
of "libfftw_x86==3.3.4" are and why they cannot be installed. However some
of that information (in this case the latter part) can be hard to come by
and may be fairly complex. It would most likely be useful only to
developers, who should be able to use `pkgman` (which has a debug mode)
anyway.

--
Ticket URL: <https://dev.haiku-os.org/ticket/12225#comment:4>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: