Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change in gentoo tree breaking paludis #23

Open
hlandgarten opened this issue Feb 11, 2020 · 20 comments
Open

Change in gentoo tree breaking paludis #23

hlandgarten opened this issue Feb 11, 2020 · 20 comments

Comments

@hlandgarten
Copy link

hlandgarten commented Feb 11, 2020

Starting today I get this when updating:

Deciding: 6 restarts, 22112 steps, 1 metadata (1 gentoo)

Error:

  • In program cave resolve --resume-file /tmp/resume_file -c -km -Km -Cs -P / -Si -Rn installed-packages:
  • When resolving and adding dependencies recursively:
  • When adding dependencies for 'sys-apps/paludis:0::(install_to_slash)' with 'sys-apps/paludis-9999:0::paludis-gentoo-overlay':
  • When handling dependency '>=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%]':
  • When finding slots for '>=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%]':
  • When determining resolvents for '>=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%]':
  • When finding best version in each slot from packages matching >=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%] with filter all matches filtered through installed at root /:
  • Name '%PYTHON_USEDEP-HAS-BEEN-REMOVED%' is not a valid choice name with prefix (paludis::ChoiceNameWithPrefixError)
@MageSlayer
Copy link
Owner

Do you have any idea about what portage feature might trigger that?

@hlandgarten
Copy link
Author

looks like changes to:

/usr/portage/eclass/python-single-r1.eclass: PYTHON_USEDEP='%PYTHON_USEDEP-HAS-BEEN-REMOVED%'

@MageSlayer
Copy link
Owner

Which exactly package are you trying to update?
Is paludis itself?

@hlandgarten
Copy link
Author

/usr/portage/eclass/python-single-r1.eclass changed on Feb 10 and now cave resolve installed-packages no long works.

@MageSlayer
Copy link
Owner

cave resolve installed-packages 

that's too broad and depends on your installed packages. I have the same python-single-r1.eclass file.
I don't think I can help unless your narrow down your paludis issue to something I can reproduce.

@hlandgarten
Copy link
Author

This command causes the issue for me:

sudo cave resolve ${CAVE_RESUME_FILE_OPT} -c -km -Km -Cs -P "/" -Si -Rn installed-packages

@hlandgarten
Copy link
Author

${CAVE_RESUME_FILE_OPT} is /tmp/resume_file

@MageSlayer
Copy link
Owner

Once again, "installed-packages" is a specification to re-install all your installed packages.
Unless you avoid reinstall all your packages (unknown to me) there is nothing I help you.

Try resolving "boost" first.

@hlandgarten
Copy link
Author

That command installs all packages if their ebuild has been changed. It does not rebuild world. I tried to reinstall boost and it built fine. The error is coming when the paludis ebuild is scanned for dependencies and it hits the boost dependencies. There is obviously a new prefix that paludis doesn't know about.

@hlandgarten
Copy link
Author

BTW if get the same error with cave resolve world -c

@hlandgarten
Copy link
Author

Same error trying to rebuild paludis:
cave resolve paludis -1z
Deciding: 2 steps

Error:

  • In program cave resolve paludis -1z:
  • When resolving and adding dependencies recursively:
  • When adding dependencies for 'sys-apps/paludis:0::(install_to_slash)' with 'sys-apps/paludis-9999:0::paludis-gentoo-overlay':
  • When handling dependency '>=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%]':
  • When finding slots for '>=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%]':
  • When determining resolvents for '>=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%]':
  • When finding best version in each slot from packages matching >=dev-libs/boost-1.41.0:=[python,%PYTHON_USEDEP-HAS-BEEN-REMOVED%] with filter all matches filtered through installed at root /:
  • Name '%PYTHON_USEDEP-HAS-BEEN-REMOVED%' is not a valid choice name with prefix (paludis::ChoiceNameWithPrefixError)

@kdudka
Copy link

kdudka commented Feb 14, 2020

I get a similar error from emerge when I have the compiz-reloaded overlay enabled:

!!! The following installed packages are masked:
- x11-apps/fusion-icon-0.2.4-r1::compiz-reloaded (masked by: invalid: DEPEND: Invalid atom (Invalid use dep: '%PYTHON_USEDEP-HAS-BEEN-REMOVED%'), token 11 in '/var/db/pkg/x11-apps/fusion-icon-0.2.4-r1/DEPEND', invalid: RDEPEND: Invalid atom (Invalid use dep: '%PYTHON_USEDEP-HAS-BEEN-REMOVED%'), token 11 in '/var/db/pkg/x11-apps/fusion-icon-0.2.4-r1/RDEPEND')
- x11-misc/ccsm-0.8.16::compiz-reloaded (masked by: invalid: RDEPEND: Invalid atom (Invalid use dep: '%PYTHON_USEDEP-HAS-BEEN-REMOVED%'), token 1 in '/var/db/pkg/x11-misc/ccsm-0.8.16/RDEPEND')

My guess is that this error is caused by metadata of the paludis-gentoo-overlay overlay, rather than the code of paludis. Unfortunately, I do not use paludis any more to reproduce this locally.

@MageSlayer
Copy link
Owner

This time it was much closer.
resolving paludis via

# cave resolve --lazy paludis -x

... causes

>>> Writing VDB entry keys ...

!!! ERROR in sys-apps/paludis-9999::paludis-gentoo-overlay:
!!! In paludis_pipe_command at line 5467
!!! paludis_pipe_command returned error 'E' with text 'exception 'Name '%PYTHON_USEDEP-HAS-BEEN-REMOVED%' is not a valid choice name with prefix' (paludis::ChoiceNameWithPrefixError)'

!!! Call stack:
!!!    * paludis_pipe_command (/var/tmp/paludis/sys-apps-paludis-9999/temp/loadsaveenv:5467)
!!!    * paludis_rewrite_var (/var/tmp/paludis/sys-apps-paludis-9999/temp/loadsaveenv:5480)
!!!    * main (/usr/libexec/paludis/write_vdb_entry.bash:143)
!!!    * main (/usr/libexec/paludis/write_vdb_entry.bash:170)

@MageSlayer
Copy link
Owner

MageSlayer commented Feb 15, 2020

I managed to resolve the issue at least for paludis.
It all boils down to ${PYTHON_USEDEP} dependency use flags in ebuilds.
Changing them to ${PYTHON_SINGLE_USEDEP} as in MageSlayer/paludis-gentoo-overlay@9b0ccddfd48d4e21e79cc5d2163e5ad2b2860ce8makes it starts to work right.

Thus, I believe it's not a bug in paludis, but in stale ebuilds.
Please check and close if confirm.

@hlandgarten
Copy link
Author

Changes fixed immediate issues but are now causing this error:

  * dev-libs/boost-1.72.0-r1:0::gentoo
    Did not meet >=dev-libs/boost-1.41.0:=[python,python_single_target_python2_7(-)?], use existing if same metadata, installing to / from sys-apps/paludis-9999:0::installed
        Flag 'python_single_target_python2_7' enabled if it is enabled for 'sys-apps/paludis-9999:0::installed', assuming disabled if missing

boost does not have python_single_target to enable

@MageSlayer
Copy link
Owner

Nice catch.
Try MageSlayer/paludis-gentoo-overlay@3448653

@hlandgarten
Copy link
Author

dependency issues fixed but now getting this error when building paludis:

-- Found PythonLibs: /usr/lib/libpython3.6m.so (found version "3.6.10")
-- Found PythonInterp: /usr/bin/python (found version "3.6.10")
CMake Error at CMakeLists.txt:321 (get_filename_component):
get_filename_component called with incorrect number of arguments

@hlandgarten
Copy link
Author

More info and a work-around:
setting the default python to python27 with eselect allows paludis to build normally. If the default python is python36 then paludis will not build as shown above.

@MageSlayer
Copy link
Owner

Yes. Your are right.
I need to check if paludis can actually be built with 3+ Python and if no, limit it to 2.7 only.

@hlandgarten
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants