# [SOLVED] libxml2 nie chce się kompilować z flagą python

## bazzaar

Podczas kompilowania libxml2 z flagą python pojawia mi się następujący błąd:

 *Quote:*   

> (...)
> 
>  * Building of dev-libs/libxml2-2.7.8-r5 with CPython 2.7...
> 
> make -j17 -l24 PYTHON_INCLUDES=/usr/include/python2.7 PYTHON_SITE_PACKAGES=/usr/lib64/python2.7/site-packages 
> ...

 

z -python skompilowało się bez problemu, ale niestety ta flaga jest wymagana do zainstalowania X-ów.

emerge --info libxml2

 *Quote:*   

> Portage 2.1.10.44 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2 x86_64)
> 
> =================================================================
> 
>                          System Settings
> ...

 

Rozwiązanie:

Okazało się, że problemem były flagi. Ciężko mi powiedzieć, dokładnie które, ale przywróciłem USE w /etc/make.conf do domyślnej wartości oraz usunąłem /etc/portage/package.use po czym przemergowałem wszystko z nowymi flagami i wszystko się ładnie skompilowało.Last edited by bazzaar on Fri Mar 02, 2012 8:24 am; edited 3 times in total

----------

## Garrappachc

Pokaż

```
eselect python list
```

i powiedz, którą wersję pythona masz skompilowaną.

----------

## bazzaar

 *Quote:*   

> [1]   python2.6
> 
> [2]   python2.7
> 
> [3]   python3.2 *

 

Skompilowane mam te trzy wersje.

----------

## Pryka

O matko... a czemu przełączyłeś na 3.2?

Zrób

```
eselect python set 2
```

I wtedy spróbuj skompilować i broń boże nie wracaj na 3.2 znowu...

----------

## bazzaar

Próbowałem to kompilować na wszystkich 3 ustawieniach i za każdym razem to samo. Tym niemniej niezależnie od tego czy wybierałem 2.7, czy 3.2 (2.6 doinstalowałem później, ale na tym też się nie kompiluje) próbowało kompilować korzystając z 2.7.

Chciałbym podkreślić, że z flagą -python się skompilowało, problem jest przy ustawieniu flagi python, która niestety jest wymagana.

----------

## Jacekalex

```
qlist -IvUq libxml

dev-cpp/libxmlpp-2.34.2

dev-libs/libxml2-2.7.8-r5 icu python readline static-libs test

dev-perl/libxml-perl-0.80.0
```

```
root  #  eselect python list

Available Python interpreters:

  [1]   python2.7 *

root  #

```

Melduje posłusznie, że kilka dni temu stawiałem Gentoo Hardened amd64-multilib  na gcc-4.6.2 - i wsio ruszyło.

Przypuszczam, że jakieś inne rzeczy w pythonie zbudowały się do Pythona-3.2, i teraz są jaja.

Radziłbym wybrać na stałe jedną wersje pythona, potem odpalić 

```
python-updater
```

 żeby posprawdzał i przeinstalował wszystko, co od tego pythona zależy.

Ewentualnie albo inna wersja, albo paczka z Tinderobxa.

Pozdro

 :Cool: 

----------

## bazzaar

Próbowałem już z python-updater z każdą z tych 3 wersji, ale niestety nic to nie dało.

Co do Tinderboxa to w make.conf powinno być:

```
PORTAGE_BINHOST="http://tinderbox.dev.gentoo.org/default-linux/amd64/"
```

?

Bo jeżeli tak, to emerge to olewa i próbuje mimo wszystko kompilować.

----------

## Pryka

No i właśnie to Twoje próbowanie z każdą z trzech wersji prawdopodobnie wbiło już całkiem gwóźdź do trumny, a szczególnie python-updater odpalony na 3.2 O_o

----------

## Jacekalex

 *bazzaar wrote:*   

> Próbowałem już z python-updater z każdą z tych 3 wersji, ale niestety nic to nie dało.
> 
> Co do Tinderboxa to w make.conf powinno być:
> 
> ```
> ...

 

Ja mam

```
PORTAGE_BINHOST="http://tinderbox.dev.gentoo.org/default-linux/amd64/"
```

I jak wrzucam 

```
emerge -G paczka
```

 to najpierw sprawdza w $PKGDIR, a jak tam nie znajdzie, to z Tinderboxa.

Także najpierw radziłbym poczytać o funkcjach emerge, albo w manie, albo w dokumentacji na necie.

To by było na tyle

 :Cool: Last edited by Jacekalex on Wed Feb 29, 2012 6:20 pm; edited 2 times in total

----------

## bazzaar

Problem w tym, że ja najpierw próbowałem zainstalować libxml2 z pythonem ustawionym na 2.7, a dopiero potem zmieniłem na 3.2, więc to nie jest powód.

----------

## Jacekalex

 *bazzaar wrote:*   

> Problem w tym, że ja najpierw próbowałem zainstalować libxml2 z pythonem ustawionym na 2.7, a dopiero potem zmieniłem na 3.2, więc to nie jest powód.

 

Jest powód.

 Jak przy pythonie 2.7 nie chciał się skompilować, to wtedy powinieneś się zająć libxml, i albo skompilować inną wersję, albo zaciągnąć gotową paczkę.

Jeśli natomiast zacząłeś przełączać się między wersjami pythona, i włączyłeś mocno nieprzewidywalną wersję 3.2 - to narobiłeś sobie bajzlu, jaki trudno sobie wyobraźić.

Python - to język programowania, zabawa interpreterami pythona  zawsze przypomina zabawą  zapałkami na stogu z sianem  :Wink: 

To by było na tyle

 :Cool: 

----------

## bazzaar

Do X wymagana jest wersja libxml2-2.7.8-r5. Na tinderboxie jest wersja 2.7.8-r3. W systemie miałem 2.7.8-r4. Jak zamaskowałem r5 to X krzyczały o odmaskowanie i koniecznie chciały wersje r5 z flagą python.

----------

## Jacekalex

To poszukaj w logu z budowania libxml2 odpowiedzi, dlaczego się wykłada z flagą python.

Może wystarczy go zbudować przez polecenie ebuild (ręcznie), czasem coś poprawić w ebuildzie (to skrypt basha - można go edytować),  najczęsciej przebudować jakieś zależności budowanego pakietu, ale za każdym razem dowiedzieć się z logu, co się właściwie stało.

Diabelnie dziwny i dość tajemniczy ten Twój problem.

U mnie:

```
dev-libs/libxml2

     Available versions:  (2) 2.7.3-r2[1] ~2.7.7[1] 2.7.7[3] 2.7.8[3] 2.7.8-r4{tbz2} 2.7.8-r5{tbz2} ~2.7.8-r5{tbz2}[4]

   {debug doc examples icu ipv6 lib32 python readline static-libs test}

     Installed versions:  2.7.8-r5(2){tbz2}(07:14:09 28.02.2012)(icu python readline static-libs test -debug -doc -examples -ipv6)

     Homepage:            http://www.xmlsoft.org/

     Description:         Version 2 of the library to manipulate XML files
```

```
genlop -ti dev-libs/libxml2-2.7.8-r5

 * dev-libs/libxml2

     Tue Feb 28 07:14:25 2012 >>> dev-libs/libxml2-2.7.8-r5

       merge time: 2 minutes and 49 seconds.

   Total builds: 1

   Global build time: 2 minutes and 49 seconds.

   Info about currently installed ebuild:

   * dev-libs/libxml2-2.7.8-r5

   Install date: Tue Feb 28 07:14:25 2012

   USE="icu python readline static-libs test -debug -doc -examples -ipv6"

   CFLAGS="-march=native -O2 -pipe"
```

Budowany przy pomocy testowego (zamaskowanego) kompilatora:

```
gcc version 4.6.2 (Gentoo Hardened 4.6.2 p1.3, pie-0.5.0)
```

I działa.

Tak samo na drugiej partycji - Gentoo hardened x86 z gcc-4.5.3-r1.

Tym sposobem podejrzewam, że masz coś gruntownie namieszane w pythonie.

RTFM:

https://forums.gentoo.org/viewtopic-t-832908.html

Pozdrawiam

 :Cool: 

----------

