lkde / edu

Educational repository for all sorts of experiments
2 stars 0 forks source link

KDE3 compilation and run #9

Open midenok opened 11 years ago

midenok commented 11 years ago

Goal: Build Kicker from KDE3 inside KDE4

1. Scripts

We pick all scripts from here. Please, look inside them before using to tweak paths, etc. if required. Feel free to make them more general and commit them back in case they contain specific names and paths.

2. Chrooted OS

Install chroot jail for Ubuntu Hardy (repository: hardy-updates).

Links:

Debootstrap -- a tool which will install a Debian base system into a subdirectory of another, already installed system; Ubuntu setup: DebootstrapChroot (More)

3. Dependencies

Install all prerequisite dependencies (possible inside chrooted environment since they may require outdated software).

4. Build

Build first kdelibs and then kdebase by the following scheme (running scripts from inside src dir):

  1. instantiate.sh (not required each time or not required at all)
  2. autoconf.sh (not required each time, required on autotools version change)
  3. configure.sh (required first time or if you change settings)
  4. build.sh
  5. install.sh (you will need linked-install, which you will find also in linux.git in devel/)

Note: before running everything, please check scripts for 'trinitisms' and remove them (tqtinterface)

5. Run
  1. shell.sh
  2. run.sh
kei91 commented 10 years ago

Вопрос про скрипт configure.sh PATH=${HOME}/src/kde/tqtinterface/qtinterface:${PATH}- здесь путь до директории с kdelibs, kdebase? К примеру, так PATH=${HOME}/kde3:${PATH}?

midenok commented 10 years ago

tqtinterface (тринитизм) надо вообще убирать. PATH это путь до исполняемых файлов. PATH=${HOME}/kde3:${PATH} нам ничего не даст. В данной ситуации нам PATH вообще менять не надо (т.е. надо убрать PATH=${HOME}/src/kde/tqtinterface/qtinterface:${PATH}).

kei91 commented 10 years ago

а тогда в параметрах configure ../configure --enable-closure --enable-debug --disable-warnings --without-ssl --without-arts --with-gnu-ld \ --with-extra-includes="${HOME}/src/kde/tqtinterface/qtinterface:${HOME}/src/kde/tqtinterface/qtinterface/private" \ --with-extra-libs=${HOME}/src/kde/tqtinterface CFLAGS="-O0 -g3" CXXFLAGS="-O0 -g3" \ --prefix=${HOME}/src/kde/opt-trinity INSTALL=${HOME}/src/scripts/misc/install-linker/install убрать параметр --with-extra-includes и --with-extra-libs ?

midenok commented 10 years ago

Да, всё верно!

kei91 commented 10 years ago

ок, спасибо :)

kei91 commented 10 years ago

Возникла проблема, когда запускаю configure.sh вот такое сообщение в конце появляется: error: Qt (>= Qt 3.3 and < 4.0) (headers and libraries) not found. Но не могу найти нужную версию Qt, вывод aptitude search qt3 . Вот, собственно, на этом я застряла.

midenok commented 10 years ago

Разве apt-get build-dep не помог?

Ставить надо libqt3-mt-dev.

midenok commented 10 years ago

Из чата (про смену репозитория, настройку chroot):

[14:12:35] Екатерина: Привет! Я с apt-get build-dep ступила, не могу понять, как с его помощью установить зависимости для kde3?
Например, если вот так apt-get build-dep kdelibs3
то пишет E: Unable to find a source package for kdelibs3
[14:13:26] lyosha: привет! у тебя должны быть правильно настроены репозитории в /etc/apt/sources.list
[14:14:33] lyosha: посмотри пожалуйста в каком репозитории лежат пакеты kde3 на http://packages.ubuntu.com/
[14:15:52] lyosha: опа... они исключили старые релизы из поиска... вот зас... умницы
[14:16:17] lyosha: придётся поковыряться в http://old-releases.ubuntu.com/
[14:20:02] lyosha: вот, нашёл здесь http://old-releases.ubuntu.com/ubuntu/pool/main/k/kdelibs/
[14:20:24] lyosha: kdelibs-data_3.5.10-0ubuntu1~hardy1.5_all.deb
[14:20:58] lyosha: написано:  Ubuntu 5.10 (Breezy Badger)
[14:24:02] lyosha: но не может быть чтоб breezy самое позднее
[14:24:21] lyosha: настройся на hardy и посмотри, есть ли там этот пакет
[14:26:00] Екатерина: спасибо, hardy вместо saucy поставить, а потом обратно, так?
[14:26:04] lyosha: знаешь как смотреть вручную входит ли пакет в какой-либо дистриб или нет
[14:26:21] Екатерина: нет
[14:26:21] lyosha: а зачем обратно?
[14:26:41] lyosha: у тебя jail настраивается на старый релиз
[14:27:45] Екатерина: так, сейчас, я под chroot меняю /etc/apt/sources.list, да?
[14:27:58] Екатерина: и это не как не отразится на основной системе?
[14:28:02] Екатерина: *никак
[14:28:04] lyosha: смотришь http://old-releases.ubuntu.com/ubuntu/dists/X/Contents-i386.gz, где X это какой-то релиз
[14:29:41] lyosha: стоп, это немножко не то. это поиск по файлам
[14:31:35] lyosha: вот: смотришь http://old-releases.ubuntu.com/ubuntu/dists/X/main/source/Sources.gz
[14:31:51] lyosha: там находишь строчку Package: kdelibs
[14:32:11] lyosha: в hardy Version: 4:3.5.9-0ubuntu7
[14:32:19] lyosha: http://old-releases.ubuntu.com/ubuntu/dists/hardy/main/source/Sources.gz
[14:32:41] lyosha: 3.5.9 это слишком старая
[14:32:44] lyosha: надо искать 3.5.10
[14:32:54] lyosha: значит заходим в hardy-updates
[14:34:21] lyosha: а в hardy-updates Version: 4:3.4.0-0ubuntu3.4
[14:34:28] lyosha: пипец... ещё старее
[14:34:48] Екатерина: нет, подожди, Version: 4:3.5.10-0ubuntu1~hardy1.5
[14:34:53] lyosha: тьфу... это hoary-updates :)
[14:34:57] lyosha: где?
[14:35:11] Екатерина: в hardy-updates
[14:35:17] Екатерина: http://old-releases.ubuntu.com/ubuntu/dists/hardy-updates/main/source/
[14:35:25] lyosha: точно.. я в hOAry зашёл :)
[14:35:41] lyosha: ну всё, значит настраивайся на hardy-updates
[14:36:29] Екатерина: настраивайся - это значит под chroot'ом захожу и меняю sources.list ?
[14:36:38] lyosha: да
[14:36:49] lyosha: затем apt-get update
[14:37:01] Екатерина: ок, всё спасибо))
[14:37:36] lyosha: неплохо было бы тебе под chroot-ом поменять PS1 чтобы видеть где ты в данный момент и не спутать с основной системой
[14:39:52] lyosha: зайди в chroot и добавь в .bashrc
PS1={kde3}$PS1
BadEugene commented 10 years ago

В сьюзе репы с исходниками были доступны. Но configure.sh выдает такие ошибки:

config.status: executing depfiles commands

The development package of Hspell is not installed, I couldn't find hspell.h.
Spell-checking Hebrew with libhspell will not be available.
If you need it, install hspell >= 0.9 from sources
see http://www.ivrix.org.il/projects/spell-checker/
or from packages your distribution provides.

You're missing openSSL, or your version is too old (before 0.9.5a).
KDE won't be able to access secure websites without it, so you should
consider installing or upgrading it.
Have a look at http://www.openssl.org, or find a binary package for
your platform.

Предполагаю что Hspell можно проигнорировать (установил бы но в стандартных репах отсутствует), а с openSSL что то непонятно, в системе пакеты установлены, версия 1.0.1e

midenok commented 10 years ago

Предполагаю что Hspell можно проигнорировать (установил бы но в стандартных репах отсутствует), а с openSSL что то непонятно, в системе пакеты установлены, версия 1.0.1e

Что в системе установлено? Девелоперские заголовки?

kei91 commented 10 years ago

Походу, что-то я не то делаю, вот так выглядит sources.list . Когда делаю apt-get update , такая ошибка появляется: GPG error: http://ppa.launchpad.net precise Release: The following signatures were invalid: BADSIG 409C8B51283EC8CD Launchpad PPA for Maarten Baert (вот весь вывод update) И когда пытаюсь сделать apt-get build-dep :

{kde3}root@Lenovo:/# apt-get build-dep kdelibs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have unmet dependencies:
 libart-2.0-dev : Depends: libart-2.0-2 (= 2.3.20-1) but 2.3.21-1ubuntu0.1 is to be installed
 libarts1-dev : Depends: libarts1c2a (= 1.5.10-0ubuntu1~hardy1) but it is not going to be installed
                Depends: libesd0-dev but it is not going to be installed
                Depends: libqt3-mt-dev (>= 3:3.3.5) but it is not going to be installed
 libaspell-dev : Depends: libaspell15 (= 0.60.5-1ubuntu2) but 0.60.7~20110707-1 is to be installed
 libavahi-client-dev : Depends: libavahi-client3 (= 0.6.22-2ubuntu4.3) but 0.6.30-5ubuntu2 is to be installed
                       Depends: libavahi-common-dev but it is not going to be installed
 libavahi-qt3-dev : Depends: libavahi-common-dev but it is not going to be installed
                    Depends: libqt3-mt-dev but it is not going to be installed
 libidn11-dev : Depends: libidn11 (= 1.1-1) but 1.23-2 is to be installed
 libldap2-dev : Depends: libldap-2.4-2 (= 2.4.9-0ubuntu0.8.04.5) but 2.4.28-1.1ubuntu4.3 is to be installed
 libsasl2-dev : Depends: libsasl2-modules (= 2.1.22.dfsg1-18ubuntu2.1) but 2.1.25.dfsg1-3ubuntu0.1 is to be installed
 libtiff4-dev : Depends: libtiff4 (= 3.8.2-7ubuntu3.16) but 3.9.5-2ubuntu1.5 is to be installed
E: Build-dependencies for kdelibs could not be satisfied.
midenok commented 10 years ago

Попробуй вместо apt-get build-dep aptitude build-dep. Вобщем-то это никакая не проблема и легко разрешается руками.

P.S. пытайтесь понять суть ошибки. Понять суть ошибки помогают дополнительные источники (не Google). Катя, как ты понимаешь суть этой ошибки и куда бы ты стала смотреть, чтобы убедиться что ты её понимаешь правильно? Ответишь на следующей видеовстрече.

kei91 commented 10 years ago

У меня ситуация немного изменилась, осталось разрешить эти зависимости:

{kde3}root@Lenovo:/# aptitude build-dep kdelibs
...
The following packages have unmet dependencies:
 libkrb5-3 : Breaks: libkrb53 (< 1.6.dfsg.4~beta1-9) but 1.6.dfsg.3~beta1-2ubuntu1.8 is to be installed.
 libkrb5support0 : Breaks: libkrb53 (< 1.6.dfsg.4~beta1-9) but 1.6.dfsg.3~beta1-2ubuntu1.8 is to be installed.
 libk5crypto3 : Breaks: libkrb53 (< 1.6.dfsg.4~beta1-9) but 1.6.dfsg.3~beta1-2ubuntu1.8 is to be installed.
 libgssapi-krb5-2 : Breaks: libkrb53 (< 1.8) but 1.6.dfsg.3~beta1-2ubuntu1.8 is to be installed.
...

Решение: apt-get install libkrb53

kei91 commented 10 years ago

Снова я. Когда делаю make (kdelibs):

g++: error: ./.libs/libkdeinit_dcopserver.so: No such file or directory
g++: error: /home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop/.libs/libDCOP.so: No such file or directory

Я не понимаю, почему этих файлов нет.

{kde3}root@Lenovo:/home/kei/kde3/kdelibs/obj-i486-linux-gnu# ll dcop/.libs/
total 2068
drwxr-xr-x  2 root root   4096 Nov 25 18:18 ./
drwxr-xr-x 10 root root   4096 Nov 25 18:18 ../
-rw-r--r--  1 root root 821840 Nov 25 18:18 dcopclient.o
-rw-r--r--  1 root root 212416 Nov 25 18:18 dcopobject.o
-rw-r--r--  1 root root 122836 Nov 25 18:18 dcopref.o
-rw-r--r--  1 root root  13744 Nov 25 18:18 dcopserver_dummy.o
lrwxrwxrwx  1 root root     16 Nov 25 18:18 dcopserver.la -> ../dcopserver.la
-rw-r--r--  1 root root   1237 Nov 25 18:18 dcopserver.lai
-rw-r--r--  1 root root 551776 Nov 25 18:18 dcopserver.o
-rw-r--r--  1 root root 237376 Nov 25 18:18 dcopsignals.o
-rw-r--r--  1 root root 114808 Nov 25 18:18 dcopstub.o
lrwxrwxrwx  1 root root     13 Nov 25 18:18 libDCOP.la -> ../libDCOP.la
-rw-r--r--  1 root root  11832 Nov 25 18:18 libDCOP_la_closure.o
-rw-r--r--  1 root root   1141 Nov 25 18:18 libDCOP.lai
lrwxrwxrwx  1 root root     16 Nov 25 18:18 libDCOP.so -> libDCOP.so.4.2.0
lrwxrwxrwx  1 root root     16 Nov 25 18:18 libDCOP.so.4 -> libDCOP.so.4.2.0
lrwxrwxrwx  1 root root     27 Nov 25 18:18 libkdeinit_dcopserver.la -> ../libkdeinit_dcopserver.la
-rw-r--r--  1 root root   1249 Nov 25 18:18 libkdeinit_dcopserver.lai

и еще вопрос configure в конце выдавал:

You're missing Apple mDNSResponder 85 or later, therefore
dnssd will be compiled as stub, without any real functionality.
If you want zeroconf support (www.zeroconf.org), you should install mDNSResponder first.
See dnssd/INSTALL for details.

You're missing openSSL, or your version is too old (before 0.9.5a).
KDE won't be able to access secure websites without it, so you should
consider installing or upgrading it.
Have a look at http://www.openssl.org, or find a binary package for
your platform.

но я так понимаю, что эти пакеты необязательно ставить и они никак не связаны с ошибкой выше? Или я ошибаюсь?

midenok commented 10 years ago

Привет, Кать! Нет, не связаны. Я правильно понял, что libDCOP.so это broken link? Поскольку libDCOP.so.4.2.0 не существует. А он может отстутствовать из-за ошибок, которые ты упустила выше. Попробуй откомпилировать с -j 1 (и без -k), тогда он остановится на самой первой ошибке.

kei91 commented 10 years ago

Да, libDCOP.so.4.2.0 не существует. Вот вывод make -j 1, но это получается и есть первая ошибка.

{kde3}root@Lenovo:/home/kei/kde3/kdelibs/obj-i486-linux-gnu# make -j 1
make  all-recursive
make[1]: Entering directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu'
Making all in dcop
make[2]: Entering directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop'
make  all-recursive
make[3]: Entering directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop'
Making all in KDE-ICE
make[4]: Entering directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop/KDE-ICE'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop/KDE-ICE'
Making all in .
make[4]: Entering directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop'
/bin/bash ../libtool --silent --mode=link --tag=CXX g++  -O0 -g3  -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION    -o dcopserver -R /home/kei/kde3/src/lib -R /home/kei/kde3/src/lib -R /home/opt/jail-trees/kde3/root/usr/share/qt3/lib -no-undefined -L/home/kei/kde3/src/lib -L/home/opt/jail-trees/kde3/root/usr/share/qt3/lib     dcopserver.la.o libkdeinit_dcopserver.la 
g++: error: ./.libs/libkdeinit_dcopserver.so: No such file or directory
g++: error: /home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop/.libs/libDCOP.so: No such file or directory
make[4]: *** [dcopserver] Error 1
make[4]: Leaving directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu/dcop'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kei/kde3/kdelibs/obj-i486-linux-gnu'
make: *** [all] Error 2
BadEugene commented 10 years ago

Тааакс, ну к чему пришли то с этой ошибкой? У меня то же самое

midenok commented 10 years ago

Надо разбираться. Кто-нибудь, завтра днём дайте мне доступ. Буду смотреть. Сейчас голова не соображает.

2013/11/28 Jeka notifications@github.com

Тааакс, ну к чему пришли то с этой ошибкой? У меня то же самое

Reply to this email directly or view it on GitHubhttps://github.com/lkde/git/issues/9#issuecomment-29467931 .

kei91 commented 10 years ago

Добавила в /etc/apt/sources.list : deb http://ru.archive.ubuntu.com/ubuntu/ saucy main (версия libtool теперь 2.4.2) . Но теперь непонятно почему не может запустить /bin/bash ../admin/config.sub

{kde3}root@Lenovo:/home/kei/kde3/kdelibs/obj-i486-linux-gnu# make
/bin/bash ./config.status --recheck
running CONFIG_SHELL=/bin/bash /bin/bash ../configure --enable-closure --enable-debug --disable-warnings --without-ssl --without-arts --with-gnu-ld CFLAGS=-O0 -g3 CXXFLAGS=-O0 -g3 --with-qt-dir=/home/opt/jail-trees/kde3/root/usr/share/qt3 --with-qt-includes=/home/opt/jail-trees/kde3/root/usr/share/qt3/include --with-qt-libraries=/home/opt/jail-trees/kde3/root/usr/share/qt3/lib --prefix=/home/kei/kde3/src INSTALL=/home/kei/kde3/src/install --enable-ltdl-convenience --no-create --no-recursion
configure: error: cannot run /bin/bash ../admin/config.sub
make: *** [config.status] Error 1
{kde3}root@Lenovo:/home/kei/kde3/kdelibs/obj-i486-linux-gnu# locate config.sub
/home/kei/kde3/kdebase/admin/config.sub
/home/kei/kde3/kdelibs/admin/config.sub
/home/opt/jail-trees/kde3/root/usr/share/automake-1.7/config.sub
/home/opt/jail-trees/kde3/root/usr/share/man/man1/config.sub2.59.1.gz
/usr/share/automake-1.11/config.sub
/usr/share/man/man1/config.sub.1.gz
/usr/share/misc/config.sub
midenok commented 10 years ago

Мне кажется, тебе надо попробовать заново построить jail. Можешь не удалять пока этот (переименуй jail-trees/kde3 в kde3.old и т.п.). Проверь /bin/bash на аутентичность.

BadEugene commented 10 years ago

Так, ладно, с вашим дебианом пока не получилось, но у меня в опенсюсе проблема другая. Вот ошибки в которые я упираюсь при выполнении configure.sh:

The development package of Hspell is not installed, I couldn't find hspell.h.
Spell-checking Hebrew with libhspell will not be available.
If you need it, install hspell >= 0.9 from sources
see http://www.ivrix.org.il/projects/spell-checker/
or from packages your distribution provides.

You're missing openSSL, or your version is too old (before 0.9.5a).
KDE won't be able to access secure websites without it, so you should
consider installing or upgrading it.
Have a look at http://www.openssl.org, or find a binary package for
your platform.

Первая ошибка - отсутствие какого то hspell я так понял волновать не должна, это по желанию, волнует вторая ошибка. Требуется openSLL старше 0.9.5a.

Но у меня уже есть openssl:

test@linux-dgy4:~> openssl version
OpenSSL 1.0.1e 11 Feb 2013

Как это понимать?

midenok commented 10 years ago

А при чём тут наш debian? Ваш openSUSE в aufs будет иметь те же проблемы, что и Debian. Поскольку софт одинаковый и там, и там. Какая версия aufs и ядра у тебя стоит в OpenSUSE? Сделай пожалуйста find -size 0c -type f на jail.