# [fast gelöst]java und python nicht in Ordnung...

## markusk21

Hallo,

ich habe seid tagen ein Problem mit meiner Gentoo-box.

Angefangen hat es mit einem Python-update, was aber scheinbar nicht das eigentliche Problem ist, jedenfalls hab ich, weil es durcheinander kam python-2.4* entfernt.

Jetzt versucht emerge world es wieder zu installieren, kommt aber an  sys-libs/db-4.3.29-r2 nicht vorbei:

 *Quote:*   

>  * checking db-4.3.29.tar.gz  ...                                      [ ok ]
> 
> /usr/portage/eclass/java-utils-2.eclass: line 307: /usr/bin/depend-java-query: Datei oder Verzeichnis nicht gefunden
> 
>  * Unable to determine VM for building from dependencies:
> ...

 

java-check-environment gibt:

 *Quote:*   

>  * === Java Environment Checker ===
> 
>  * The purpose of this script is to check the sanity of your Java Environment.
> 
>  * We have significantly changed and improved the way Java is handled in many
> ...

 

Folgende jdk sind installiert:

 *Quote:*   

> # eix jdk
> 
> [I] dev-java/blackdown-jdk
> 
>      Available versions:  (1.4.2)  1.4.2.03-r15 ~1.4.2.03-r16
> ...

 

emerge =virtual/jdk-1.4* ist kurz und ohne Fehler:

 *Quote:*   

> # emerge =virtual/jdk-1.4*
> 
> Calculating dependencies... done!
> 
> >>> Verifying ebuild Manifests...
> ...

 

Ich habe java-config mehrfach (!) neu installiert und zwar:

 *Quote:*   

>  # eix java-config
> 
> [U] dev-java/java-config
> 
>      Available versions:
> ...

 

Ich bekomme folgende Meldung beim mergen:

 *Quote:*   

>  * Messages for package dev-java/java-config-2.1.4:
> 
>  * The way Java is handled on Gentoo has been recently updated.
> 
>  * If you have not done so already, you should follow the
> ...

 

Das hab ich auch gemacht:

 *Quote:*   

> emerge -1 =java-config-1* =java-config-2*

 

 Folgendes passiert bei java-config:

 *Quote:*   

> laptop markus # java-config
> 
> ERROR: Expected to find /usr/bin/java-config-2
> 
> laptop markus #
> ...

 

Java hab ich natürlich auch mehrfach neu installiert:

 *Quote:*   

> emerge =dev-java/sun-jdk-1.4* sun-jdk

 

Lief ohne Fehler.

 *Quote:*   

> # emerge --info
> 
> Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r8 i686)
> 
> =================================================================
> ...

 

Oh, hab was entdeckt:

Ich habe java-config-2 in /usr/local/bin entdeckt, also:

 *Quote:*   

> ln -s /usr/local/bin/java-config-2 /usr/bin/java-config-2

 

java-config gibt jetzt folgendes:

 *Quote:*   

> # java-config --list-available-packages
> 
> [ant-core] Java-based build tool similar to 'make' that uses XML configuration files. (/usr/share/ant-core/package.env)
> 
> [cyrus-sasl-2] The Cyrus SASL (Simple Authentication and Security Layer). (/usr/share/cyrus-sasl-2/package.env)
> ...

 

Blind durchprobiert:

 *Quote:*   

> # java-config -S 3
> 
> Now using sun-jdk-1.4 as your generation-2 system JVM

 

Aber das generation-1 system läuft noch nicht.

Wie sag ich meinem Rechner, dass java-1 installiert ist? 

Vermutlich kommt dann mit python noch ein Problem, aber eins nach dem anderen.

Danke schon mal für jede Hilfe!Last edited by markusk21 on Fri Aug 08, 2008 10:31 am; edited 1 time in total

----------

## Necoro

Ehm - erste Frage: Du hast python-updater laufen lassen, bevor du dein altes python deinstalliert hast?

Weil ansonsten sind die ganzen python-pakete in den 2.4er site-packages installiert - er sucht aber nur in den 2.5ern und findet nix. Und da viel Gentoo-Zeugs in Python geschrieben ist (zB auch das java-Verwaltungs-Tool) kann das böse enden...

----------

## Max Steel

führe mal bitte python-updater --old-version 2.4 aus.

Das dürfte dabei helfen was du den python-update vor dem deinstallieren von python-2.4 nicht ausgeführt hattest.

----------

## markusk21

Hmm, jaaaaaaaa.

ich hab den python-updater laufen lassen, aber nicht durchlaufen   :Embarassed: 

ich habe auch python-updater --old-version 2.4 schon laufen lassen, jetzt hab ich es noch mal versucht mit python-updater --old-version 2.4 -i, weil bestimmte Pakete sonst nicht mehr vorhanden waren.

Er ist jetzt hängen geblieben bei pdflib:

 *Quote:*   

>  * ERROR: media-libs/pdflib-7.0.2_p8 failed.
> 
>  * Call stack:
> 
>  *                ebuild.sh, line   49:  Called pkg_setup
> ...

  (Nicht dass ich darauf auch noch verzichten könnte...)

Genauso sys-libs/db, das für python 2.4 bedingung ist:

 *Quote:*   

>  * checking patch.4.5.20.2  ...
> 
> /usr/portage/eclass/java-utils-2.eclass: line 307: /usr/bin/depend-java-query: D
> 
>  * Unable to determine VM for building from dependencies:
> ...

 

Die Pakete, die "python-updater --old-version 2.4 -i" angibt sind folgende:

 *Quote:*   

> [ebuild   R   ] dev-libs/boost-1.34.1-r2  USE="-debug -doc -icu -pyste -tools" 0 kB
> 
> [ebuild   R   ] media-libs/pdflib-7.0.2_p8  USE="cxx java perl python -doc -tcl" 0 kB
> 
> [ebuild   R   ] app-pda/pilot-link-0.12.3  USE="java perl png python readline usb (-bluetooth) -debug -threads" 0 kB
> ...

 

Macht der python-updater eigentlich noch was anderes als die Pakete neu zu mergen?

Kann man die Reihenfolge beeinflussen?

Welches Paket brauche ich denn für java-config?

Kann ich für python 2.4 dieses db-paket irgendwie umgehen? für 2.5 braucht man es ja scheinbar nicht...

----------

## Max Steel

Wenn er wo abbricht hilft es manchmal emerge --resume zu nutzen und darauf nocheinmal den python-updater

Aber nur manchmal

----------

## markusk21

Ach ja, den gibt es ja auch noch...

Aber das hilft nicht, wenn die Pakete java-1 brauchen, aber ich es nicht installiert krieg....

Bzw, installiert ist es ja wohl, wird nur nicht gefunden?

Das java-2 VM wurde ja auch nicht mehr gefunden, komischer weise. Und nach einigem hin und her (oben beschrieben) konnte java-config-2 es doch...

Nur java-config-1 gibt immer noch:

 *Quote:*   

> # java-config-1
> 
> Traceback (most recent call last):
> 
>   File "/usr/bin/java-config-1", line 14, in <module>
> ...

 

----------

## Necoro

```
emerge -av java-config:0
```

weil ich vermute mal, du hast immer nur java-config:2 neugebaut  :Smile: 

/edit: JA - der slot von java-config-1 ist 0 und nicht 1

----------

## markusk21

 *Quote:*   

>  * While we are moving towards the new Java system, we only allow
> 
>  * 1.3 or 1.4 JDKs to be used with java-config-1 to ensure
> 
>  * backwards compatibility with the old system.
> ...

 

Ist das das selbe wie  *Quote:*   

> emerge -1 =java-config-1* 

  ?

----------

## Necoro

 *markusk21 wrote:*   

> Ist das das selbe wie emerge -1 =java-config-1* ?

 

Ja --- ok ... was ist der Output von equery f java-config:0

Und der Output von python -V

----------

## AmonAmarth

evtl. auch mal dev-java/java-config-wrapper nebenn dev-java/java-config neu emergen.

----------

## markusk21

 *Quote:*   

> # equery f java-config:0
> 
> [ Searching for packages matching java-config:0... ]
> 
> * Contents of dev-java/java-config-1.3.7:
> ...

 

----------

## Necoro

Und welche java-config:2 version hast du denn nun installiert? - In den ganzen eix-Infos da oben steht was von wegen java-config-2.1.4. Aber 2.1.6 ist das aktuellste stable

/edit: Was sagt: python -c "import java_config" ?

----------

## markusk21

 *Quote:*   

> # emerge java-config -Cp
> 
> >>> These are the packages that would be unmerged:
> 
>  dev-java/java-config
> ...

 

So stelle ich immer fest welche Versionen installiert sind  :Wink: 

Das nächste kommt mir schmerzhaft bekannt vor:

 *Quote:*   

> # python -c "import java_config"
> 
> Traceback (most recent call last):
> 
>   File "<string>", line 1, in <module>
> ...

 

----------

## Necoro

Hah - ich seh das Problem: Aus irgendeinem Grund werden die java-config teile nach /usr/local installiert, anstatt nach /usr/ ... 

Sind in /usr/local/lib/python2.5/site-packages noch andere Pakete?

/edit: python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" ?

----------

## markusk21

Hmm, hilft das:

 *Quote:*   

> # ls /usr/local/lib/python2.5/site-packages/
> 
> bluetooth.py                      numpy
> 
> _bluetooth.so                     numpy-1.0.4-py2.5.egg-info
> ...

 

Ich hatte den Eindruck, dass nur einige Sachen nach local installiert werden, deshalb hab ich ja auch java-config-2 nach /usr/bin verlinkt. Ich dachte das soll so und meine PATH wäre zu alt oder so...

----------

## markusk21

Soo, also ich glaub es läuft wieder.

Das Problem war, dass ich bevor ich erkannt hab, dass es ein java-Problem ist python gelöscht habe und dann von hand mit make install eins installiert hab. Das landete dann in /usr/local und wurde scheinbar immer verwendet und es ging alles durcheinander.

Also hab ich /usr/local umbenannt nach /usr/local_alt/ und alles neu eingerichtet

java-1

java-2 

und den python-updater durchlaufen lassen (mehrmals!)

jetzt scheint es wieder zu gehen, nur dass der python-updater einige Pakete immer wieder mergen will.

Hat da noch jemand eine Idee?

```
laptop markus # python-updater

 * Starting Python Updater from 2.4 to 2.5 :

 *   Adding to list: =x11-libs/vte-0.16.13

 *   Adding to list: =media-gfx/blender-2.43-r2

 *   Adding to list: =app-office/dia-0.96.1-r1

 *   Adding to list: =dev-libs/boost-1.34.1-r2

```

----------

## Necoro

Die stable version von Blender braucht fest python:2.4 - da würde ich dir raten auf unstable zu wechseln.

Anschließend wirklich python:2.4 deinstallieren (emerge -C python:2.4), denn ich denke, dass die anderen Pakete für python:2.4 bauen anstatt für python:2.5. Scheinbar erkennen sie nicht korrekt die Versionen...

----------

