Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

Dependancies/Tree

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
17 posts • Page 1 of 1
Author
Message
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

Dependancies/Tree

  • Quote

Post by jcb__ » Mon Sep 09, 2024 5:54 pm

Hello,

I would like to know the best way to find dependencies or the portage tree so i know what is going to be emerged as far as packages.

Example. if i'm going to do an install and want to see what media-libs/mesa pulls in is there a way to get the info without using emerge. tools like qdepends and equery are only showing me bdepenss rdependss pdependss iuse etc. also these tools are basically for installed packages. i know if i do equery d -a it will give me packages that aren't installed but it fails a lot and doesn't give me any list. also i know that packages.gentoo.org has a dependencies view and reverse dependencies view but it doesn't tell me what emerge will do. how does emerge choose that packages to install.

If this is confusing i can re-word everything

Thanks

Joe
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2183
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

Re: Dependancies/Tree

  • Quote

Post by pingtoo » Mon Sep 09, 2024 6:05 pm

jcb__ wrote:I would like to know the best way to find dependencies or the portage tree so i know what is going to be emerged as far as packages.
I am not sure I understand you so I am trying to understand from your above statement that

Code: Select all

emerge -pvt <the intended package name>
is not what you want? why?
Top
GDH-gentoo
Advocate
Advocate
User avatar
Posts: 2113
Joined: Sat Jul 20, 2019 7:02 pm
Location: South America

  • Quote

Post by GDH-gentoo » Mon Sep 09, 2024 6:30 pm

And other tools don't take into account USE flag settings, package masks, etc. emerge --pretend --verbose, as pingtoo pointed out (adding --tree can make the output easier to understand), is the only reliable way I know for telling what would be actually installed.
Ionen wrote:As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

Re: Dependancies/Tree

  • Quote

Post by jcb__ » Mon Sep 09, 2024 7:13 pm

pingtoo wrote:
jcb__ wrote:I would like to know the best way to find dependencies or the portage tree so i know what is going to be emerged as far as packages.
I am not sure I understand you so I am trying to understand from your above statement that

Code: Select all

emerge -pvt <the intended package name>
is not what you want? why?
Thanks for the reply

Is there a tool that can show me what will be installed besides emerge? Like something i can see online from a gentoo website or is emerge the only way ?
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

Re: Dependancies/Tree

  • Quote

Post by jcb__ » Mon Sep 09, 2024 7:15 pm

jcb__ wrote:
pingtoo wrote:
jcb__ wrote:I would like to know the best way to find dependencies or the portage tree so i know what is going to be emerged as far as packages.
I am not sure I understand you so I am trying to understand from your above statement that

Code: Select all

emerge -pvt <the intended package name>
is not what you want? why?
Thanks for the reply

Is there a tool that can show me what will be installed besides emerge? Like something i can see online from a gentoo website or is emerge the only way ?
Got it

The -t for tree that shows all packages that will be installed or dependencies ? qdepends or equery dosen't show me anything like that
Top
Hu
Administrator
Administrator
Posts: 24398
Joined: Tue Mar 06, 2007 5:38 am

Re: Dependancies/Tree

  • Quote

Post by Hu » Mon Sep 09, 2024 7:42 pm

jcb__ wrote:Is there a tool that can show me what will be installed besides emerge? Like something i can see online from a gentoo website or is emerge the only way ?
An online tool is not practical here, because that tool cannot know what you have already installed, so it would always show you every dependency, recursively, of the package you are contemplating.

What are you trying to do here? Why are you trying so hard to avoid using emerge?
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

Re: Dependancies/Tree

  • Quote

Post by jcb__ » Mon Sep 09, 2024 7:54 pm

Hu wrote:
jcb__ wrote:Is there a tool that can show me what will be installed besides emerge? Like something i can see online from a gentoo website or is emerge the only way ?
An online tool is not practical here, because that tool cannot know what you have already installed, so it would always show you every dependency, recursively, of the package you are contemplating.

What are you trying to do here? Why are you trying so hard to avoid using emerge?
Thanks,

Not trying to avoid emerge i like it i just want to see how it works. not just installing packages but how it determins what package to install what depenancie leads to a package being installed.

When i did an install it installed clang and llvm and it took forever about 5 hours each lol i'm trying to avoid getting packages or deps that will take forever. i want to mask them right away if i can get away with it

Joe
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2183
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

Re: Dependancies/Tree

  • Quote

Post by pingtoo » Mon Sep 09, 2024 9:48 pm

jcb__ wrote:The -t for tree that shows all packages that will be installed or dependencies ? qdepends or equery dosen't show me anything like that
I will use a sample out to illustrate the idea. Notice I also include -k option to get binary packages.

Code: Select all

rpi5 ~ # emerge -pvtk qtwebengine

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

Calculating dependencies... done!
Dependency resolution took 10.77 s (backtrack: 0/20).

[ebuild  N     ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 537985 KiB
[ebuild  N     ]  dev-qt/qtdeclarative-6.7.2:6/6.7.2::gentoo  USE="jit network opengl sql ssl svg vulkan widgets -accessibility (-qmlls)" 34795 KiB
[ebuild  N     ]   dev-qt/qtshadertools-6.7.2:6/6.7.2::gentoo  USE="-test" 1086 KiB
[ebuild  NS    ]   dev-qt/qtsvg-6.7.2:6/6.7.2::gentoo [5.15.14:5/5.15::gentoo] USE="-test (-debug%)" 1750 KiB
[ebuild  N     ]  dev-qt/qtwebchannel-6.7.2:6/6.7.2::gentoo  USE="-qml -test" 202 KiB
[nomerge       ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 
[nomerge       ]  dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 
[ebuild  N     ]   dev-qt/qttranslations-6.7.2:6/6.7.2::gentoo  1512 KiB
[ebuild  N     ]    dev-qt/qttools-6.7.2:6/6.7.2::gentoo  USE="assistant linguist opengl qdbus vulkan widgets (zstd) -clang -designer -distancefieldgenerator -gles2-only -pixeltool -qdoc -qml -qtattributionsscanner -qtdiag -qtplugininfo" LLVM_SLOT="17 -15 -16 (-18)" 8809 KiB
[ebuild  NS    ]   dev-qt/qtwayland-6.7.2-r1:6/6.7.2::gentoo [5.15.14:5/5.15.14::gentoo] USE="vulkan -accessibility% -compositor -qml% -test (-debug%)" 1097 KiB
[ebuild  N     ]    dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 48208 KiB
[ebuild  N     ]  dev-python/html5lib-1.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 266 KiB
[ebuild  N     ]   dev-python/webencodings-0.5.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 10 KiB
[nomerge       ] dev-qt/qtwebchannel-6.7.2:6/6.7.2::gentoo  USE="-qml -test" 
[nomerge       ]  dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 
[ebuild  N     ]   x11-libs/xcb-util-cursor-0.1.5::gentoo  261 KiB
[nomerge       ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 
[ebuild  N     ]  net-libs/nodejs-22.3.0:0/22::gentoo  USE="icu inspector lto npm snapshot ssl system-icu system-ssl -corepack -debug -doc -pax-kernel -test" 0 KiB
[ebuild  N     ]  app-arch/snappy-1.1.10-r1:0/1.1::gentoo  USE="-test" 1080 KiB
[nomerge       ] net-libs/nodejs-22.3.0:0/22::gentoo  USE="icu inspector lto npm snapshot ssl system-icu system-ssl -corepack -debug -doc -pax-kernel -test" 
[binary  N     ]  dev-libs/simdjson-3.9.1-1:0/22::gentoo  USE="all-impls -test -tools" 0 KiB
[binary  N     ]  net-libs/ngtcp2-1.5.0-1::gentoo  USE="gnutls (-openssl) (-ssl) -static-libs -test" 0 KiB

Total: 16 packages (14 new, 2 in new slots, 2 binaries), Size of downloads: 637055 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =net-libs/nodejs-22.3.0 -lto

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.
rpi5 ~ # 
Those with word "nomerge" are information-only. it try to help you understand how others got pull in.
Those with word "ebuild" mean emerge will build them (comple/install) on your local machine.
Those with workd "binary" mean emerge will retrire the binary version of the package from your local binary cache or (binhost if you configured one) and perform binary install.
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

Re: Dependancies/Tree

  • Quote

Post by jcb__ » Mon Sep 09, 2024 11:22 pm

pingtoo wrote:
jcb__ wrote:The -t for tree that shows all packages that will be installed or dependencies ? qdepends or equery dosen't show me anything like that
I will use a sample out to illustrate the idea. Notice I also include -k option to get binary packages.

Code: Select all

rpi5 ~ # emerge -pvtk qtwebengine

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

Calculating dependencies... done!
Dependency resolution took 10.77 s (backtrack: 0/20).

[ebuild  N     ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 537985 KiB
[ebuild  N     ]  dev-qt/qtdeclarative-6.7.2:6/6.7.2::gentoo  USE="jit network opengl sql ssl svg vulkan widgets -accessibility (-qmlls)" 34795 KiB
[ebuild  N     ]   dev-qt/qtshadertools-6.7.2:6/6.7.2::gentoo  USE="-test" 1086 KiB
[ebuild  NS    ]   dev-qt/qtsvg-6.7.2:6/6.7.2::gentoo [5.15.14:5/5.15::gentoo] USE="-test (-debug%)" 1750 KiB
[ebuild  N     ]  dev-qt/qtwebchannel-6.7.2:6/6.7.2::gentoo  USE="-qml -test" 202 KiB
[nomerge       ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 
[nomerge       ]  dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 
[ebuild  N     ]   dev-qt/qttranslations-6.7.2:6/6.7.2::gentoo  1512 KiB
[ebuild  N     ]    dev-qt/qttools-6.7.2:6/6.7.2::gentoo  USE="assistant linguist opengl qdbus vulkan widgets (zstd) -clang -designer -distancefieldgenerator -gles2-only -pixeltool -qdoc -qml -qtattributionsscanner -qtdiag -qtplugininfo" LLVM_SLOT="17 -15 -16 (-18)" 8809 KiB
[ebuild  NS    ]   dev-qt/qtwayland-6.7.2-r1:6/6.7.2::gentoo [5.15.14:5/5.15.14::gentoo] USE="vulkan -accessibility% -compositor -qml% -test (-debug%)" 1097 KiB
[ebuild  N     ]    dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 48208 KiB
[ebuild  N     ]  dev-python/html5lib-1.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 266 KiB
[ebuild  N     ]   dev-python/webencodings-0.5.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 10 KiB
[nomerge       ] dev-qt/qtwebchannel-6.7.2:6/6.7.2::gentoo  USE="-qml -test" 
[nomerge       ]  dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 
[ebuild  N     ]   x11-libs/xcb-util-cursor-0.1.5::gentoo  261 KiB
[nomerge       ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 
[ebuild  N     ]  net-libs/nodejs-22.3.0:0/22::gentoo  USE="icu inspector lto npm snapshot ssl system-icu system-ssl -corepack -debug -doc -pax-kernel -test" 0 KiB
[ebuild  N     ]  app-arch/snappy-1.1.10-r1:0/1.1::gentoo  USE="-test" 1080 KiB
[nomerge       ] net-libs/nodejs-22.3.0:0/22::gentoo  USE="icu inspector lto npm snapshot ssl system-icu system-ssl -corepack -debug -doc -pax-kernel -test" 
[binary  N     ]  dev-libs/simdjson-3.9.1-1:0/22::gentoo  USE="all-impls -test -tools" 0 KiB
[binary  N     ]  net-libs/ngtcp2-1.5.0-1::gentoo  USE="gnutls (-openssl) (-ssl) -static-libs -test" 0 KiB

Total: 16 packages (14 new, 2 in new slots, 2 binaries), Size of downloads: 637055 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =net-libs/nodejs-22.3.0 -lto

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.
rpi5 ~ # 
Those with word "nomerge" are information-only. it try to help you understand how others got pull in.
Those with word "ebuild" mean emerge will build them (comple/install) on your local machine.
Those with workd "binary" mean emerge will retrire the binary version of the package from your local binary cache or (binhost if you configured one) and perform binary install.
Thanks

I'm really trying to understand emerge and how it works. I'll just take it at face value and realize that emerge will do what it wants and thats what it does Lol. qdepends and equery are helpful but they are just tools that show what is needed

Quick question. I read somewhere that the dependencies of an atom are indented. i see in some of your output there are some indented but some are not.. What does that mean if they aren't ?

Thanks

Joe
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2183
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Tue Sep 10, 2024 12:25 am

Another output for same emerge command, please review and see if you can spot the different.

Code: Select all

rpi5 ~ # emerge -pvk qtwebengine

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

Calculating dependencies... done!
Dependency resolution took 13.62 s (backtrack: 0/20).

[binary  N     ] net-libs/ngtcp2-1.5.0-1::gentoo  USE="gnutls (-openssl) (-ssl) -static-libs -test" 0 KiB
[binary  N     ] dev-libs/simdjson-3.9.1-1:0/22::gentoo  USE="all-impls -test -tools" 0 KiB
[ebuild  N     ] x11-libs/xcb-util-cursor-0.1.5::gentoo  261 KiB
[ebuild  N     ] net-libs/nodejs-22.3.0:0/22::gentoo  USE="icu inspector lto npm snapshot ssl system-icu system-ssl -corepack -debug -doc -pax-kernel -test" 0 KiB
[ebuild  N     ] app-arch/snappy-1.1.10-r1:0/1.1::gentoo  USE="-test" 1080 KiB
[ebuild  N     ] dev-python/webencodings-0.5.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 10 KiB
[ebuild  N     ] dev-python/html5lib-1.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 266 KiB
[ebuild  N     ] dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 48208 KiB
[ebuild  NS    ] dev-qt/qtwayland-6.7.2-r1:6/6.7.2::gentoo [5.15.14:5/5.15.14::gentoo] USE="vulkan -accessibility% -compositor -qml% -test (-debug%)" 1097 KiB
[ebuild  N     ] dev-qt/qttools-6.7.2:6/6.7.2::gentoo  USE="assistant linguist opengl qdbus vulkan widgets (zstd) -clang -designer -distancefieldgenerator -gles2-only -pixeltool -qdoc -qml -qtattributionsscanner -qtdiag -qtplugininfo" LLVM_SLOT="17 -15 -16 (-18)" 8809 KiB
[ebuild  N     ] dev-qt/qttranslations-6.7.2:6/6.7.2::gentoo  1512 KiB
[ebuild  N     ] dev-qt/qtwebchannel-6.7.2:6/6.7.2::gentoo  USE="-qml -test" 202 KiB
[ebuild  NS    ] dev-qt/qtsvg-6.7.2:6/6.7.2::gentoo [5.15.14:5/5.15::gentoo] USE="-test (-debug%)" 1750 KiB
[ebuild  N     ] dev-qt/qtshadertools-6.7.2:6/6.7.2::gentoo  USE="-test" 1086 KiB
[ebuild  N     ] dev-qt/qtdeclarative-6.7.2:6/6.7.2::gentoo  USE="jit network opengl sql ssl svg vulkan widgets -accessibility (-qmlls)" 34795 KiB
[ebuild  N     ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 537985 KiB

Total: 16 packages (14 new, 2 in new slots, 2 binaries), Size of downloads: 637055 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =net-libs/nodejs-22.3.0 -lto

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.
rpi5 ~ # 
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

  • Quote

Post by jcb__ » Tue Sep 10, 2024 12:40 am

pingtoo wrote:Another output for same emerge command, please review and see if you can spot the different.

Code: Select all

rpi5 ~ # emerge -pvk qtwebengine

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

Calculating dependencies... done!
Dependency resolution took 13.62 s (backtrack: 0/20).

[binary  N     ] net-libs/ngtcp2-1.5.0-1::gentoo  USE="gnutls (-openssl) (-ssl) -static-libs -test" 0 KiB
[binary  N     ] dev-libs/simdjson-3.9.1-1:0/22::gentoo  USE="all-impls -test -tools" 0 KiB
[ebuild  N     ] x11-libs/xcb-util-cursor-0.1.5::gentoo  261 KiB
[ebuild  N     ] net-libs/nodejs-22.3.0:0/22::gentoo  USE="icu inspector lto npm snapshot ssl system-icu system-ssl -corepack -debug -doc -pax-kernel -test" 0 KiB
[ebuild  N     ] app-arch/snappy-1.1.10-r1:0/1.1::gentoo  USE="-test" 1080 KiB
[ebuild  N     ] dev-python/webencodings-0.5.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 10 KiB
[ebuild  N     ] dev-python/html5lib-1.1-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" 266 KiB
[ebuild  N     ] dev-qt/qtbase-6.7.2:6/6.7.2::gentoo  USE="X concurrent cups dbus gtk gui icu libinput libproxy network nls opengl sql sqlite ssl udev vulkan wayland widgets xml (zstd) -accessibility -brotli -eglfs -evdev -gles2-only -gssapi -mysql (-oci8) -odbc -postgres (-renderdoc) -sctp -test -tslib" 48208 KiB
[ebuild  NS    ] dev-qt/qtwayland-6.7.2-r1:6/6.7.2::gentoo [5.15.14:5/5.15.14::gentoo] USE="vulkan -accessibility% -compositor -qml% -test (-debug%)" 1097 KiB
[ebuild  N     ] dev-qt/qttools-6.7.2:6/6.7.2::gentoo  USE="assistant linguist opengl qdbus vulkan widgets (zstd) -clang -designer -distancefieldgenerator -gles2-only -pixeltool -qdoc -qml -qtattributionsscanner -qtdiag -qtplugininfo" LLVM_SLOT="17 -15 -16 (-18)" 8809 KiB
[ebuild  N     ] dev-qt/qttranslations-6.7.2:6/6.7.2::gentoo  1512 KiB
[ebuild  N     ] dev-qt/qtwebchannel-6.7.2:6/6.7.2::gentoo  USE="-qml -test" 202 KiB
[ebuild  NS    ] dev-qt/qtsvg-6.7.2:6/6.7.2::gentoo [5.15.14:5/5.15::gentoo] USE="-test (-debug%)" 1750 KiB
[ebuild  N     ] dev-qt/qtshadertools-6.7.2:6/6.7.2::gentoo  USE="-test" 1086 KiB
[ebuild  N     ] dev-qt/qtdeclarative-6.7.2:6/6.7.2::gentoo  USE="jit network opengl sql ssl svg vulkan widgets -accessibility (-qmlls)" 34795 KiB
[ebuild  N     ] dev-qt/qtwebengine-6.7.2:6/6.7.2::gentoo  USE="alsa jumbo-build opengl pulseaudio system-icu vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -pdfium -qml -screencast -test -vaapi -webdriver" 537985 KiB

Total: 16 packages (14 new, 2 in new slots, 2 binaries), Size of downloads: 637055 KiB

!!! The following binary packages have been ignored due to non matching USE:

    =net-libs/nodejs-22.3.0 -lto

NOTE: The --binpkg-respect-use=n option will prevent emerge
      from ignoring these binary packages if possible.
      Using --binpkg-respect-use=y will silence this warning.
rpi5 ~ # 
Thanks for the reply

I noticed you didn't use the -t in emerge for the tree and all the ebuilds (packages) are just regular no indents nothing. meaning they aren't deps probably ? I'm still very new to gentoo

Joe
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2183
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Tue Sep 10, 2024 3:00 pm

jcb__,
all the ebuilds (packages) are just regular no indents nothing. meaning they aren't deps probably ?
I am not able to understand this question. I got a feeling you moved away from your original question. I am under impression you want to know emerge show you how/what it will do to arrive your goal (build the argument=package).

So how do you arrive the question that "they aren't deps probably?"?

Since you notice the two output are for same package. Just one with '-t' and the other without. So they are just two different way to present same goal. The "-t" version give more information on why emerge choose to build some packages that are not argument but because dependency. The no "-t" version just indicate all listed packages will be install on to location.
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

  • Quote

Post by jcb__ » Tue Sep 10, 2024 3:46 pm

I am under impression you want to know emerge show you how/what it will do to arrive your goal (build the argument=package).
Hello,

Sorry if i'm not articulating this the way it should be coming out..

I want to know how emerge picks what the depenancies are and what packages to use.. when i use tools like qdepends and equery none of them show me the packages that emerge uses. I Just want to know the mechanics

Thanks

Joe
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2183
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Tue Sep 10, 2024 4:10 pm

jcb__ wrote:
I am under impression you want to know emerge show you how/what it will do to arrive your goal (build the argument=package).
Hello,

Sorry if i'm not articulating this the way it should be coming out..

I want to know how emerge picks what the depenancies are and what packages to use.. when i use tools like qdepends and equery none of them show me the packages that emerge uses. I Just want to know the mechanics

Thanks

Joe
emerge vs ebuild.

Emerge use a configuration file that describe what need to be done in order to fulfill the command line argument. The configuration file known as "ebuild".

Ebuild are provided by Gentoo developer/maintainer that base on the upstream program/application developer defined requirement and Gentoo's Portage guidance choose use "USE" flags to control optional components for the given program/application use during build/run time.

Sometime packages show in emerge output are build time requirement. So qdepends and equery may not show them because it is not necessary required for using the package.

A simple build time requirement would be language compiler. it is required for building the package, however it is not required for running the package.
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

  • Quote

Post by jcb__ » Tue Sep 10, 2024 7:47 pm

emerge vs ebuild.

Emerge use a configuration file that describe what need to be done in order to fulfill the command line argument. The configuration file known as "ebuild".

Ebuild are provided by Gentoo developer/maintainer that base on the upstream program/application developer defined requirement and Gentoo's Portage guidance choose use "USE" flags to control optional components for the given program/application use during build/run time.

Sometime packages show in emerge output are build time requirement. So qdepends and equery may not show them because it is not necessary required for using the package.

A simple build time requirement would be language compiler. it is required for building the package, however it is not required for running the package.
Thanks for that explination

Joe
Top
logrusx
Advocate
Advocate
User avatar
Posts: 3533
Joined: Thu Feb 22, 2018 2:29 pm

Re: Dependancies/Tree

  • Quote

Post by logrusx » Wed Sep 11, 2024 4:50 am

jcb__ wrote: Thanks

I'm really trying to understand emerge and how it works.
It creates a graph based on dependencies which reflects what is already installed and what the desired package also depends on which is not yet installed. It is a DAG (directed acyclic graph) meaning it has a topological order. Topological order is an order of vertices such that if an edge u -> v exists, v never comes before u in the sequence. Here v and u are packages and an edge v -> u is a dependency, meaning u depends on v. I might be wrong about the order as I'm not familiar with the particular implementation, the idea is the same.

It then strops that graph from dependencies already emerged and produces a topological order from the rest. This is the order in which the packages will be emerged.

However sometimes there are cyclical dependencies and on those occasions portage gives up and spits something at you to solve. It gets more complicated because there are run-time and build-time dependencies, use flags and so on. If you install binary packages, built-time dependencies will not be installed or only those that are needed to build the packages that are not available as binaries.

Other times all dependencies cannot be satisfied at once, and then again portage spits out something at you to solve.

Adding --tree option to emerge will make it display those edges which in our case are dependencies.

Best Regards,
Georgi
Top
jcb__
n00b
n00b
Posts: 19
Joined: Wed Aug 28, 2024 8:01 pm

  • Quote

Post by jcb__ » Fri Sep 13, 2024 2:11 am

@logrusx

Thanks for that explanation

The more you know right =)

Joe
Top
Post Reply

17 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic