Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: peran - 12.01.07 - klo:10.45
-
Siis kuinkahan rhytmbox:n kääntäminen onnistuisi?
1. Olen asentanut BuildEssential paketin ja muitakin paketteja
2. hakenut sorsat: sudo apt-get source rhytmbox
3. yrittänyt ajaa configurea, ja tällaista erroria pukkaa
sudo ./configure
checking for RHYTHMBOX... configure: error: Package requirements ( gtk+-2.0 >= 2.6.0 libgnomeui-2.0 libglade-2.0 gnome-vfs-2.0 >= 2.7.4 gnome-vfs-module-2.0) were not met:
No package 'gtk+-2.0' found
No package 'libgnomeui-2.0' found
No package 'libglade-2.0' found
Ongelma on, etten löydä ko. paketteja pakettienhallinnasta. Pitääkö tässä vaiheessa ruveta metsästämään internetistä?
-
Luulisin että :
gtk+-2.0 = libgtk2.0-dev
libgnomeui-2.0 = libgnomeui-dev
libglade-2.0 = libglade2-dev
Löytyy kätevimmin ehkä komennolla: sudo apt-get search paketinalkuosa
Toivottavasti auttaa.
-
Luulisin että :
gtk+-2.0 = libgtk2.0-dev
libgnomeui-2.0 = libgnomeui-dev
libglade-2.0 = libglade2-dev
Kiitokset kovasti, olen aiemmin luullut, että -dev-paketit otetaan käyttöön vasta, kun kehitetään ko. paketteja. Esim. Jos muokattaisiin gladea, otettaisiin käyttöön libglade jne.
Tarvitsin näköjään muitakin -dev paketteja, mutta nyt menee läpi ./configure.
Kiitokset avusta.
Kyselen lisää, mikäli ei käänny.
-
Luulisin että :
gtk+-2.0 = libgtk2.0-dev
libgnomeui-2.0 = libgnomeui-dev
libglade-2.0 = libglade2-dev
Löytyy kätevimmin ehkä komennolla: sudo apt-get search paketinalkuosa
jotain tuollaista tosiaan. mutta koska lähdekoodipaketti on väkisinkin debianisoitu, koska se haettiin apt-getin kautta ja koska koneella on asennettuna paketti dpkg-dev, valmiin vastauksen saa komentamalla lähdekoodihakemistossa:
$ dpkg-checkbuilddeps
tietty koska lähdekoodipaketti on debianisoitu, on kääntäminenkin ehkä kivempaa hoitaa komennolla (asenna ensin fakeroot jos sitä ei ole jo asennettu):
$ dpkg-buildpackage -rfakeroot
tuo komento kääntää softan ja pullauttaa siitä automaattisesti debian-paketin.
-
Kiitokset kovasti, olen aiemmin luullut, että -dev-paketit otetaan käyttöön vasta, kun kehitetään ko. paketteja. Esim. Jos muokattaisiin gladea, otettaisiin käyttöön libglade jne.
Nuo dev-paketit sisältävät header-tiedostot, joiden avulla käännettävä ohjelma osaa käyttää kirjastojen funktioita.
jotain tuollaista tosiaan. mutta koska lähdekoodipaketti on väkisinkin debianisoitu, koska se haettiin apt-getin kautta ja koska koneella on asennettuna paketti dpkg-dev, valmiin vastauksen saa komentamalla lähdekoodihakemistossa:
$ dpkg-checkbuilddeps
tietty koska lähdekoodipaketti on debianisoitu, on kääntäminenkin ehkä kivempaa hoitaa komennolla (asenna ensin fakeroot jos sitä ei ole jo asennettu):
$ dpkg-buildpackage -rfakeroot
tuo komento kääntää softan ja pullauttaa siitä automaattisesti debian-paketin.
Hmm, aina sitä oppii uutta ja ihmeellistä :) En ole koskaan kääntänyt noita deb-sourceja mutta hyvä tietää tämäkin.
-
$ dpkg-buildpackage -rfakeroot
tuo komento kääntää softan ja pullauttaa siitä automaattisesti debian-paketin.
Öh, ilmeisesti jossain pitäisi määrittää pgp-avain, jotta kääntyy. Mitenkähän se tehdään?
Nyt kun ajoin ton heitti herjaa...
dpkg-deb: building package `rhythmbox-dbg' in `../rhythmbox-dbg_0.9.6-0ubuntu4_i386.deb'.
tar: -: file name read contains nul character
signfile rhythmbox_0.9.6-0ubuntu4.dsc
gpg: failed to create temporary file `/home/sami/.gnupg/.#lk0x811bd60.sami-laptop.19218': Permission denied
gpg: keyblock resource `/home/sami/.gnupg/secring.gpg': yleinen virhe
gpg: failed to create temporary file `/home/sami/.gnupg/.#lk0x811cdb8.sami-laptop.19218': Permission denied
gpg: keyblock resource `/home/sami/.gnupg/pubring.gpg': yleinen virhe
gpg: skipped "Sebastien Bacher <seb128@canonical.com>": salaista avainta ei löydy
gpg: [stdin]: clearsign failed: salaista avainta ei löydy
dpkg-genchanges
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: binary and diff upload (original source NOT included)
(WARNING: Failed to sign .dsc and .changes file)
Öh, kyllä se näytti luovan .deb-paketin, muttei pystynyt todentamaan pgp-avainta. (No oikeaa avainta ei mulla pidäkään olla, koska tämähän on henkilökohtainen viritelmä).
-
Nyt sain jo tehtyä hallitun muutoksen Rhytmbox:iin. (Alkuun peelo-tervehdyksen). ;D
Nyt voikin sitten ryhtyä tutkimaan toimintaa. ;)
Näyttää ohjelmointi olevan yleisemmällä tasolla, kuin itse olen tottunut ohjelmoimaan. Ei ainakaan mitään purkkakoodia ole.
Kommentteja vaan on laiskasti kirjoiteltu.
-
Nyt jo löytyi sopivannäköinen hakkerointikohta. :D
Tää on hauskaa... :D :D :D
Kuinkas C:ssä varataan dynaamisesti muistia? (free ilmeisesti vapauttaa muistin).
No, sen pitäisi löytyä vanhoista ohjelmistani, joten ei ole välttämätöntä vastata. ;)
-
Nyt jo löytyi sopivannäköinen hakkerointikohta. :D
Tää on hauskaa... :D :D :D
hyvä kuulla :)
Kuinkas C:ssä varataan dynaamisesti muistia? (free ilmeisesti vapauttaa muistin).
C:ssä komento on malloc, mutta koska rhythmbox on gtk-softa ja se käyttää glibiä, kannattaa ehkä käyttää funktioita g_new, g_new0, g_malloc, jne. ja vapauttamiseen tietty vastaavia wrappereita ;)
-
No, nyt olen sitten jonkinnäköisen räpellyksen saanut aikaiseksi.
Jos joku on kiinnostunut, niin sen voi ladata seuraavasta.
http://peran.kapsi.fi/ubuntuhack/
Olen yrittänyt vähän ratkaista ääkkösongelmaa rhytmbox:ssa.
Toivottavasti ko. hakemistosta löytyy myös sorsat.
Palautetta voi antaa.
En tiijä toimiiko, mutta tämä on oma räpellykseni.
- Edit saattaa vuotaa, tosin yritin tehdä niin ettei vuotaisi enempää kuin alkuperäinenkään.
-
Nyt sitten sain kyhättyä pelkän patch:n, joka toimineen Edgy:ssä. ;)
http://peran.kapsi.fi/ubuntuhack/rhythmbox-0.9.6_fix_utf8_patch.diff
Eli en ole paljoa muutellut rhythmbox:ia. Suodatan vain titlen, Albumin, Artistin ja Genren luettavampaan muotoon.
Ongelma, joka esiintyy vain kappaleissa, joiden nimet on kahdesti muutettu UTF8:ksi.
Tämä saadaan aikaan esim. abcde:llä, kun ajetaan UTF8-päätteeltä, ja kirjoitetaan itse kappaleiden nimet.