Dependência circular, como resolver? [RESOLVIDO]

1. Dependência circular, como resolver? [RESOLVIDO]

Xerxes
xerxeslins

(usa BigLinux)

Enviado em 31/08/2014 - 02:16h

Olá amigos,

após tentar atualizar o world no Funtoo, me deparei com o seguinte erro:


Total: 5 packages (2 upgrades, 2 new, 1 reinstall), Size of downloads: 101,487 kB

* Error: circular dependencies:

(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) depends on
(media-libs/libdvdnav-5.0.1::gentoo, ebuild scheduled for merge) (buildtime)
(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) (buildtime)

* Note that circular dependencies can often be avoided by temporarily
* disabling USE flags that trigger optional dependencies.


O libdvdread depende do libdvdnav, que depende do libdvdread... e fica nesse ciclo sem fim.

Não sei o que precisa desabilitar em flag para resolver, ou o que fazer...

Alguém tem alguma pista de como posso resolver ?

Obrigado!


  


2. MELHOR RESPOSTA

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 31/08/2014 - 14:11h

Xerxes, tentou não "puxar" as dependências?

# emerge -av --nodeps pacotes

se não forem dependências essenciais, capaz de funcionar... Depois se forem essenciais, escolhe uma e instala sem deps:

# emerge -av --nodeps pacote das dependência essencial.

Para voltar tudo para estável,pode ser que tenha que editar o make.conf e depois recompilar tudo.

No exemplo, supondo que VLC é que causou problema, tente assim:


# emerge -av --nodeps vlc
# emerge -C -p --nodeps libdvdnav
# emerge -C -av --nodeps libdvdnav
# emerge -p --nodeps libdvdread
# emerge --av --nodeps libdvdread
# emerge -av --nodeps =libdvdnav-Uma_Versão_Anterior

escolha uma versão anterior de libdvnav, que não tenha dep circular. Observe, que para versão especificada, o sinal de igual é obrigatório

se o VLC funciona, talvez nem precise mexer nas deps.

mas se precisar, ao reinstalar, tiver mensagens de colisões, repita os comando do emerge mas antes do emerge, coloque assim:

# FEATURES="-collision-protect" emerge resto do comando

Outro jeito,embora não recomendado para deps. circulares:

coloque uma opção "--keep-going" no comando emerge. Assim,ele vai tentar recompilar o pacote,sem interromper, mesmo com erros.


3. Re: Dependência circular, como resolver? [RESOLVIDO]

Jose Mario
zezaocapoeira

(usa Slackware)

Enviado em 31/08/2014 - 03:08h

xerxeslins escreveu:

Olá amigos,

após tentar atualizar o world no Funtoo, me deparei com o seguinte erro:


Total: 5 packages (2 upgrades, 2 new, 1 reinstall), Size of downloads: 101,487 kB

* Error: circular dependencies:

(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) depends on
(media-libs/libdvdnav-5.0.1::gentoo, ebuild scheduled for merge) (buildtime)
(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) (buildtime)

* Note that circular dependencies can often be avoided by temporarily
* disabling USE flags that trigger optional dependencies.


O libdvdread depende do libdvdnav, que depende do libdvdread... e fica nesse ciclo sem fim.

Não sei o que precisa desabilitar em flag para resolver, ou o que fazer...

Alguém tem alguma pista de como posso resolver ?

Obrigado!

Salve mano . Dá uma olhada aqui http://gentoo-en.vfose.ru/wiki/Circular_dependencies .



4. Re: Dependência circular, como resolver? [RESOLVIDO]

Xerxes
xerxeslins

(usa BigLinux)

Enviado em 31/08/2014 - 13:08h

Ok zezao, vou tentar aqui...

Mas o problema que vejo é que nenhum desses pacotes tem flags para desabilitar para impedir a dependência.

O único que tem flag é o libdvdread (flag css), mas essa flag, mesmo desabilitada, não impede de chamar a dependência libdvdnav.

Aqui o que aconteceu:


funtoo xerxeslins # emerge libdvdread
Calculating dependencies... done!


[nomerge ] media-video/vlc-2.1.2:0/5-7 USE="X a52 alsa avcodec avformat bidi cdda cddb dbus dts dvb dvbpsi dvd encode ffmpeg flac gcrypt gnutls jack libnotify live matroska mmx mp3 mpeg musepack ncurses ogg opengl png postproc pulseaudio qt4 sdl speex sse svg swscale theora truetype udev v4l vorbis x264 xcb xml xv -aalib (-altivec) -atmo (-audioqueue) -avahi -bluray -chromaprint -dc1394 -debug -dirac -directfb (-directx) (-dxva2) -egl -faad -fdk -fluidsynth -fontconfig -gme -gnome -growl -httpd -ieee1394 (-ios-vout) -kate -kde -libass -libcaca -libsamplerate -libtar -libtiger -linsys -lirc -lua (-macosx) (-macosx-audio) (-macosx-dialog-provider) (-macosx-eyetv) (-macosx-qtkit) (-macosx-quartztext) (-macosx-vout) (-media-library) -modplug -mtp (-neon) -omxil -opencv -optimisememory -opus -projectm (-qt5) -rdp -rtsp -run-as-root -samba -schroedinger -sdl-image -sftp -shout -sid -skins -taglib {-test} -tremor -twolame -upnp -vaapi -vcdx -vdpau -vlm -wma-fixed -zvbi"
[ebuild N ] media-libs/libdvdnav-5.0.1 347 kB
[ebuild N ] media-libs/libdvdread-5.0.0-r1 USE="css" 370 kB

Total: 2 packages (2 new), Size of downloads: 716 kB

* Error: circular dependencies:

(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) depends on
(media-libs/libdvdnav-5.0.1::gentoo, ebuild scheduled for merge) (buildtime)
(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) (buildtime)

* Note that circular dependencies can often be avoided by temporarily
* disabling USE flags that trigger optional dependencies.


Por isso eu desativei a única flag que estava ativa para o libdvdread (css):


funtoo xerxeslins # USE="-css" emerge libdvdread
Calculating dependencies... done!


[nomerge ] media-libs/libdvdread-5.0.0-r1 USE="-css"
[ebuild N ] media-libs/libdvdnav-5.0.1 347 kB
[ebuild N ] media-libs/libdvdread-5.0.0-r1 USE="-css" 370 kB

Total: 2 packages (2 new), Size of downloads: 716 kB

* Error: circular dependencies:

(media-libs/libdvdnav-5.0.1::gentoo, ebuild scheduled for merge) depends on
(media-libs/libdvdread-5.0.0-r1::gentoo, ebuild scheduled for merge) (buildtime)
(media-libs/libdvdnav-5.0.1::gentoo, ebuild scheduled for merge) (buildtime)

* Note that circular dependencies can often be avoided by temporarily
* disabling USE flags that trigger optional dependencies.


E nada.

Agora estou recompilando o VLC sem a flag "dvd" para ver se resolve.


5. Re: Dependência circular, como resolver? [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 31/08/2014 - 13:29h

Geralmente quando isso ocorre eu baixo uma das lib's na versão que se pede e instalo manualmente, copiando para a pasta /lib ou /usr/lib de acordo com a necessidade.

Depois tento instalar; a outra lib vai ver que sua dependência foi satisfeita e instala normalmente.

Já fiz várias vezes e sempre dá certo.


6. Re: Dependência circular, como resolver? [RESOLVIDO]

Xerxes
xerxeslins

(usa BigLinux)

Enviado em 31/08/2014 - 13:54h

luisrcs escreveu:

Geralmente quando isso ocorre eu baixo uma das lib's na versão que se pede e instalo manualmente, copiando para a pasta /lib ou /usr/lib de acordo com a necessidade.

Depois tento instalar; a outra lib vai ver que sua dependência foi satisfeita e instala normalmente.

Já fiz várias vezes e sempre dá certo.


Baixei o libdvdread, segui as instruções do Linux From Scratch para instalação, mas não mudou nada...

:(


7. Re: Dependência circular, como resolver? [RESOLVIDO]

Xerxes
xerxeslins

(usa BigLinux)

Enviado em 31/08/2014 - 14:01h

Vou voltar para a versão stable do Funtoo, onde não tinha esses problemas, e ver se consigo seguir em frente.




8. Re: Dependência circular, como resolver? [RESOLVIDO]

Xerxes
xerxeslins

(usa BigLinux)

Enviado em 31/08/2014 - 14:55h

albfneto escreveu:

Xerxes, tentou não "puxar" as dependências?

# emerge -av --nodeps pacotes

se não forem dependências essenciais, capaz de funcionar... Depois se forem essenciais, escolhe uma e instala sem deps:

# emerge -av --nodeps pacote das dependência essencial.

Para voltar tudo para estável,pode ser que tenha que editar o make.conf e depois recompilar tudo.

No exemplo, supondo que VLC é que causou problema, tente assim:


# emerge -av --nodeps vlc
# emerge -C -p --nodeps libdvdnav
# emerge -C -av --nodeps libdvdnav
# emerge -p --nodeps libdvdread
# emerge --av --nodeps libdvdread
# emerge -av --nodeps =libdvdnav-Uma_Versão_Anterior

escolha uma versão anterior de libdvnav, que não tenha dep circular. Observe, que para versão especificada, o sinal de igual é obrigatório

se o VLC funciona, talvez nem precise mexer nas deps.

mas se precisar, ao reinstalar, tiver mensagens de colisões, repita os comando do emerge mas antes do emerge, coloque assim:

# FEATURES="-collision-protect" emerge resto do comando

Outro jeito,embora não recomendado para deps. circulares:

coloque uma opção "--keep-going" no comando emerge. Assim,ele vai tentar recompilar o pacote,sem interromper, mesmo com erros.


Albfneto, obrigado!

Eu mudei o profile de stable para current novamente, e estou atualizando o sistema. O libdvdread e o libdvdnav foram instalados com sucesso (com --nodeps).

Abraço.


9. Re: Dependência circular, como resolver? [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 31/08/2014 - 22:02h

xerxeslins escreveu:

luisrcs escreveu:

Geralmente quando isso ocorre eu baixo uma das lib's na versão que se pede e instalo manualmente, copiando para a pasta /lib ou /usr/lib de acordo com a necessidade.

Depois tento instalar; a outra lib vai ver que sua dependência foi satisfeita e instala normalmente.

Já fiz várias vezes e sempre dá certo.


Baixei o libdvdread, segui as instruções do Linux From Scratch para instalação, mas não mudou nada...

:(


Na verdade não era para compilar do zero e sim pegar a lib já compilada. Mas se já resolveu, beleza.


10. Re: Dependência circular, como resolver? [RESOLVIDO]

Xerxes
xerxeslins

(usa BigLinux)

Enviado em 01/09/2014 - 13:02h

luisrcs escreveu:

Na verdade não era para compilar do zero e sim pegar a lib já compilada. Mas se já resolveu, beleza.


Obrigado! De toda forma essa sua solução também está anotada para futuros problemas. Valeu!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts