# apt-build source libapache2-mod-php5
-----> Updating package lists Downloading source php5 (5.2.6.dfsg.1-1 lenny2)
-----> Updating package lists Downloading source php5 (5.2.6.dfsg.1-1 lenny2)
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 20
Vanhimmat
Moi.
Tässä en kyl nyt oikeen varma tai edes.... tietoinen... :/ sillä koskaan itse käännellyt tuosta.
Eli en ihan varma että tiedätkö edes mitä olet tekemässä?
Jos haluat että tuo käännetään sulle valmiiksi niin eikös tulisi käyttää vipua --build tai --compile?
Jos haluat itse kääntää niin -> mene sinne jonnekkin kansioon missä on tuo sorsa ja käännä.
T: README at least.
# apt-get -b source libapache2-mod-php5
Luetaan pakettiluetteloita... ValmisMuodostetaan riippuvuussuhteiden puu
Luetaan tilatiedot... Valmis
Ohitetaan jo noudettu tiedosto "php5_5.2.6.dfsg.1-1 lenny2.dsc"
Ohitetaan jo noudettu tiedosto "php5_5.2.6.dfsg.1.orig.tar.gz"
Ohitetaan jo noudettu tiedosto "php5_5.2.6.dfsg.1-1 lenny2.diff.gz"
On noudettava 0t lähdekoodiarkistoja.
Ohitetaan purku jo puretun lähdekoodin php5-5.2.6.dfsg.1 kohdalla
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value:
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package php5
dpkg-buildpackage: source version 5.2.6.dfsg.1-1 lenny2
dpkg-buildpackage: source changed by Sean Finney
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: autoconf automake1.4 bison chrpath firebird2.0-dev | firebird1.5-dev | firebird2-dev flex freetds-dev libc-client-dev libcurl4-openssl-dev | libcurl-dev libgcrypt11-dev libgd2-xpm-dev libgmp3-dev libmcrypt-dev libmhash-dev (>= 0.8.8) libncurses5-dev libpam0g-dev libpspell-dev librecode-dev libsasl2-dev libsnmp-dev libsqlite0-dev libt1-dev libtidy-dev libwrap0-dev libxmltok1-dev libxslt1-dev (>= 1.0.18) quilt unixodbc-dev
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
Paketointikomento "cd php5-5.2.6.dfsg.1 && dpkg-buildpackage -b -uc" ei onnistunut.
E: Lapsiprosessi kaatui
Moi.
Siis se pahempi tapaus, et tiedä mitä teet huoh....
Eli nuo kaikki romut tuossa alla on ne riippuvuudet mitä tuo kääntäminen aiheuttaa sillä jotta voit kääntää tuon roskan pitää sulla olla noista jututista -dev versiot.
Noh... seuraavaksi varmaan teet näin ainakin veikkaan näin
#apt-get build-dep libapache2-mod-php5
Tämä siis asentaa kaikki nuo riippuvuudet ja tämän jälkeen sitten sotket tämän
#apt-get -b source libapache2-mod-php5
T: TEE("HETI") { opettele("Englanti"); lue("man apt-get");}
"Mitä on vialla? Pitäisi kääntää sorsista, koska Debianin valmis paketti ei toimi."
Onko tuo nyt ihan varmaa tietoa? Bugi-raporttia jossakin? Jos jokin on oikeasti rikki, tulee korjatut paketit varsin nopeasti tarjolle.
Aivan äärimmäisen harvoin joutuu jonkin ohjelman tms. kääntämään. Eikä yleensä siksi, että jokin on rikki vaan siksi, että haluaa joitakin ominaisuuksia, joita perusbinääriin ei ole käännetty mukaan.
Nyt on kyllä ihan pakko sanoa, että tiedätköhän oikeen mitä olet tekemässä?
Ensinnäkin tuota apt-buildia käytetään Debianin repositoryssä olevien ohjelmapakettien uudelleenkääntämiseen käyttäjän määrittelemillä optimointiasetuksilla. Eli apt-build on oikeastaan optimointityökalu, jolla voidaan optimoida jokin ohjelma käyttäjän haluamalla tavalla tietylle prosessorille. apt-build käyttää paketin kääntämiseen Debianin palvelimelta löytyviä paketin lähdekoodeja, jotka on täsmälleen samat lähdekoodit, kuin ne mistä repositorystä jo löytyvät paketit on käännetty. Toki käyttäjä voi tehdä muutoksia lähdekoodiin ennen käännöstä, mutta se sitten vaatiikin jo ohjelmointitaitoa.
Toisekseen toi "apt-build source libapache2-mod-php5" ainoastaan hakee paketin libapache2-mod-php5 lähdekoodit Debianin palvelimelta. Komento purkaa lähdekoodit hakemistoon
/var/cache/apt-build/build
Tuo komento ei tee muuta, eikä sen edes kuulu tehdä muuta. Tuo 'source' nimenomaan kertoo apt-buildille, että "Hae ja pura lähdekoodit". Tuossa sinun komennon tulosteessasi näkyy, että olet ajanut sen komennon jo ainakin kahdesti ja lähdekoodit on jo haettu eikä niitä siis turhaan haeta uudestaan. Lähdekoodit löytyy tuosta yllämainitsemastani hakemistosta, Eli mitään virhettä tuossa komentosi suorituksessa ei siis tapahdu.
Toisekseen Sulla on varmaankin käytössä Lenny? No mikäli näin on, niin sä et saauta mitään kääntämällä sen paketin uudestaan täsmälleen samoista Lennyn lähdekoodeista, kuin mistä se repositoryssa oleva paketti on käännetty. Kuten mä jo aiaksemmin sanoin, niin toi apt-build vain hakee Debianin palvelimelta paketin lähdekoodin ja kääntää sen uudelleen käyttäjän määrittelemiä optimointiasetuksia käyttäen. Se tuottaa saman paketin ehkä vain hiukan eritavalla optimoituna.
Jos nyt oletettaisiin, että paketissa libapache2-mod-php5 olisi vikaa, niin tuo uudelleenkäännös ei sitä vikaa korjaisi. Paketti käännettään samoista lähdekoodeista kuin mistä jo repositoryssa oleva paketti on käännetty. Tulpksena oleva paketti olisi vain mahdollisesti optimoitu hiukan eri tavalla.
Ylipäätänsä hyvin harvoin on mitään tarvetta käännellä uudestaan jakelussa jo olevia paketteja jakelun lähdekoodeista. Normaalisti käytännössä tuota ei tarvitse tehdä koskaan, ellei sitten esim halua muuttaa jotain käännetyn paketin käännöasetusta tai halua tehdä jonkin muutoksen lähdekoodiin.
Se mitä aina välillä tehdään on ns. backporttaaminen, sillon kyse on siitä että halutaan esimerkiksi testingissä oleva uudempi versio jostain paketista vakaaseen Debianiin. Tällöin käännetään testingissä tai unstablesa oleva paketti stablelle niistä lähdekoodesita, jotka on testingissä tai unstablessa. Sillon tosin joudutaan yleensä backporttaamaan myös ainakin osa niistä paketeista, joista stableen haluttu paketti riippuu.
"Pitäisi kääntää sorsista, koska Debianin valmis paketti ei toimi."
Kertositko millä tavalla tuo repositoryssa oleva paketti siis ei toimi? Oletko nyt ihan varma ettei vika ole itseasiassa Apachen asetuksissa ja php5 moduulia ei esimerkiksi ladata?
php5-moduuli pitää aktivoida Apachen asetuksissa ennenkuin Apache sitä käyttää.
Koetapa tehdä näin:
1) Ota php5 moduuli käyttöön Apachessa
# a2enmod php5
2) Käske Apachea lataamaan asetukset uudestaan
# /etc/init.d/apache2 reload
Tämän jälkeen php:n pitäs toimia
"2) Käske Apachea lataamaan asetukset uudestaan
# /etc/init.d/apache2 reload "
Tai vaihtoehtosesti käynnistä koko Apache uudestaan:
# /etc/init.d/apache2 restart
# apache2 -version
Server version: Apache/2.2.9 (Debian)
Server built: Jan 21 2009 00:10:51
Toimii, mutta sen jälkeen kun asentaa php5 tuen:
# apt-get install libapache2-mod-php5
# /etc/init.d/apache2 restart
#lynx localhost
Alert!: Unable to connect to remote host.
# cat /var/log/messages
Mar 27 17:09:05 biggg kernel: [17178.444133] apache2[4811]: segfault at 8 ip 7f4d51c6bcb0 sp 7fff60adbdd8 error 4 in libphp5.so[7f4d5190c000 586000]
PS: Sain käännetty php, mod-php5, apache2, jne.. sorsista, mutta sama ongelma niissäkin.
ootko sä aktivoinu sen php5 moduulin, kutn sulle sanottiin? Ainakaan tuon sanomasi perusteella et sitä tehnyt.
1. Apache ei kaatuisi siihen, jos se ei olisi aktivoituna
2. Se on oletuksena aktivoituna modulin asennuksen jälkeen
3. # a2enmod php5
Module php5 already enabled
Hm saattoi ola, että se moduuli itseasiassa asentui niin, että se on heti aktivoituna... No tossa nyt kuitenkin ohje miten sen voi aktivoida, jos ei ole.
Mulla on kyllä Apache2 ja php5 asennettuna Lennyssä, eikä tommosta ongelmaa ole. Apache ei kaadu.
Millanen sivu sulla on toi mihin yrität mennä lynxillä? Vai onko sulla vaan se apachen oletussivu mikä on heti asennuksen jälkeen? Ei se kyllä itselläni siihenkään kaadu, eikä pitäskään kaatua.
pakko kysyä, että mikä versio sulla on apachesta? onko sulla prefork_versio? Eli tämä paketti asennettuna:
apache2-mpm-prefork
Näytähäbn myös millanen /etc/apt/sources.list sulla on, ihan sen varalta ettei sulla ole jotain ylimääräsiä repoja jotka voi sotkea.
"Millanen sivu sulla on toi mihin yrität mennä lynxillä? Vai onko sulla vaan se apachen oletussivu mikä on heti asennuksen jälkeen?"
tarkotan siis sitä Debianin Apachen oletussivua, jolla lukee vain "It works!"
Sivuna on muttei sillä ole merkitystä. Koska Apache ei edes käynnisty vaan kaatuu tuohon moduuliin.
Kun poistaa libapache2-mod-php5, niin Apache taas käynnistyy.
Mikset sä voi antaa sitä sources.list:ä kun sitä pyydetään. Syy siihen miksi mä kysyn sitä on tossa alla. Ja samaten kysyn uudestaan onko sulla toi prefork-versio käytössä vai itk-versio? PHP5 vaatii jommankumman niistä.
Onko sulla ehkä, jokin muu alusta kuin i386, ehkä 64bit Debian? Ihmettelen nimittäin tota sun antamaasi Apachen version päiväystä, se ei nimittäin täsmää ainakaan i386 Debian Lennyn kanssa.
Mä saan tälläset versiotulosteet 32bit i386 Lennyssä riippuen siitä mikä mpm-versio on käytössä, huomaa päiväys:
apache2-mpm-event:
Server version: Apache/2.2.9 (Debian)
Server built: Jan 20 2009 17:30:27
apache2-mpm-worker:
Server version: Apache/2.2.9 (Debian)
Server built: Jan 20 2009 17:25:53
apache2-mpm-itk:
Server version: Apache/2.2.9 (Debian)
Server built: Jan 22 2009 22:17:58
apache2-mpm-prefork:
Server version: Apache/2.2.9 (Debian)
Server built: Jan 20 2009 17:29:25
Sä sanoit tossa aikasemmin:
Server version: Apache/2.2.9 (Debian)
Server built: Jan 21 2009 00:10:51
Eli toi Jan 21 2009 ei täsmää ainakaan 32bit Debian Lennyn kanssa. Selitys voisi ola, että sulla on esim 64bit Debian, jossa noi päiväykset voi olla eri.
Tarkotus on yksinkertasesti vain koettaa rajata pois se mahdollisuus, että sulle on asentunut viallinen Apache jostain muualta kuin Lennyn reposta. En mä muuten painostaisi tuon sources.list:n suhteen. Toi edellisessä viestissäni kuvaamani Apachen version päiväyksen täsmäämättömyys pakottaa kuitenkin kysymään tuota, Vaikka selitys voi aivan hyvin olla niin yksinkertanen, että sulla on vaikkapa 64bit Debian.
# cat sources.list
#
# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official amd64 CD Binary-1 20090214-19:11]/ lenny main
deb http://ftp.fi.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp.fi.debian.org/debian/ lenny main non-free contrib
deb http://security.debian.org/ lenny/updates main non-free contrib
deb-src http://security.debian.org/ lenny/updates main non-free contrib
deb http://volatile.debian.org/debian-volatile lenny/volatile main non-free contrib
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main non-free contrib
deb http://www.debian-multimedia.org lenny main
Oli prefork, mutta itk antaa saman virheilmoituksen.
Alusta on: Debian GNU/Linux 5.0.0 _Lenny_ - Official amd64
Moi.
Kokeiles ja kerro mitä näkyy.
#ldd /usr/lib/apache2/modules/libphp5.so
#ldd /usr/sbin/apache2
T: o
Okei eli sulla on 64bit Debian, sitä hiukan epäilinkin.Souces.listiss'ä ei ole mitään kummaa, eli ehkäpä 64bit php5:ssa tosiaan on jokin buki, outo kyllä jos sitä ei oe havaittu..