Речник

Тук е обяснено как се инсталират и настройват програми под Linux.

Модератори: Freya, Kulu Ngile

Мнениеот Kulu Ngile » Сря 10, Сеп, 2008 2:08

Най-добре почни начисто... инсталирай gcc, намери го къде е (предполагаме в /usr/bin/gcc-XXX -> така е в дебиан, но при теб може да е различно: за търсенето използвай find /usr -name gcc*).

Принципно съм против правенето на софт линкове (ln -s), но нека все пак да ти го обясня:

Имаш файл, който се намира в root директорията, примерно /root/file1... искаш да му направиш софт линк в /tmp, като името му да е file77 => командата е:

ln -s /root/file1 /tmp/file77

Ако изпълниш ls -al /tmp/file77, ще видиш следната информация:
lrwxrwxrwx 1 user user blablabla /tmp/file77 -> /root/file1

l - показва, че е симилинк (ln)
rwx rwx rwx - права на собственика, групата и всички останали, като
r - е право за четене
w - е право за писане
x - е право за ипълнение
В твоята безмолостна борба, а именно
ln -sv /usr/bin/gcc-4.3 /usr/bin/gcc
правиш файл /usr/bin/gcc, който сочи (води) към /usr/bin/gcc-4.3, а ти такъв файл нямаш ( /usr/bin/gcc-4.3)

В общи линии е това.... голяма беля си хвана с това местене и линкване :-D
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Мнениеот Jork » Чет 11, Сеп, 2008 8:32

Ако се чудите какво стана с gbgoffice-а - инсталирах го. :) А как го инсталирах - след няколкодневни мъки покрай компилацията му изтеглих от сайта rpm пакет с офиса цъкнах два пъти върху него и работата заспа. Сега си имам речник. :D Само да вметна, че на сайта http://gbgoffice.info/ има само програмата gbgoffice, комплектът с речници, които тя ползва може да си свалите от тук.
Поздрави на всички. :)
Огромни благодарности отправям към Kulu Ngile, а също така и към phantomlord за съветите, напътствията и помощта, кото ми оказаха.
*worship*
Аватар
Jork
Участник
 
Мнения: 54
Регистриран на: Чет 18, Окт, 2007 17:48
Местоположение: София/Монтана

Мнениеот Kulu Ngile » Чет 11, Сеп, 2008 14:46

Браво за успеха с програмата... все пак аз да си дам рапорта или по-точно за това, което го мъчихме вчера:

1. Подразбиращата се версия в FC9 е 4.3, a в Дебиан 4.3.1 (нарочно го споменавам)
2. При опит за компилиране:
2.1. Първата грешка, поради която пропада make е:
Код за потвърждение: Избери целия код
translator_manager.cpp:314: error: ‘strlen’ was not declared in this scope


Решението е да се промени #include <string> на #include <string.h> в translator_manager.cpp, който се намира в директорията src на gbgoffice, т.е. трябва да изглежда така:
Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# grep "\#include" src/translator_manager.cpp
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include "properties.h"
#include "translator_manager.h"
[root gbgoffice-1.4]#

2.2. При опит за make, ще видиме много warning-и от типа:
Код за потвърждение: Избери целия код
language_tools.h:218: warning: deprecated conversion from string constant to ‘char*’
language_tools.h:224: warning: deprecated conversion from string constant to ‘char*’
language_tools.h:224: warning: deprecated conversion from string constant to ‘char*’
language_tools.h:229: warning: deprecated conversion from string constant to ‘char*’
language_tools.h:229: warning: deprecated conversion from string constant to ‘char*’
language_tools.h:234: warning: deprecated conversion from string constant to ‘char*’

Причината е, че трябва да се добави const преди char *. ЗА целта изпълняваме:
Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# sed 's/char/const char/g' src/language_tools.h >src/temp
[root gbgoffice-1.4]# mv src/temp src/language_tools.h
mv: overwrite `src/language_tools.h'? y
[root gbgoffice-1.4]#


2.3. Warning-те изчезнаха, но сега компилацията пропада с
Код за потвърждение: Избери целия код
workhelper.h:62: error: ‘SigC’ has not been declared
workhelper.h:62: error: ISO C++ forbids declaration of ‘Connection’ with no type
workhelper.h:62: error: expected ‘;’ before ‘con_wait’
In file included from trayicon.cpp:25:
dictgui.h:150: error: ‘SigC’ has not been declared
dictgui.h:150: error: ISO C++ forbids declaration of ‘Connection’ with no type


В дебиан, след 2.2. няма проблем да се компилира речника, но във федората проблемите продължават. Причината е по-малката версия на gcc-то и разликите в декларирането, а именно:
- workhelper.h
Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# grep SigC src/workhelper.h
        SigC::Connection con_wait;
[root gbgoffice-1.4]#

- dictgui.h
Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# grep SigC src/dictgui.h
        SigC::Connection con_entry;
        SigC::Connection con_timer;
[root gbgoffice-1.4]#


Проблема е, че SigC::Connection, трябва да е с малки букви, т.е. sigc::connection. Ето и как може да го промениме:
Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# sed 's/SigC::Connection/sigc::connection/g' src/workhelper.h >src/temp
[root gbgoffice-1.4]# mv src/temp src/workhelper.h
mv: overwrite `src/workhelper.h'? y
[root gbgoffice-1.4]# sed 's/SigC::Connection/sigc::connection/g' src/dictgui.h >src/temp
[root gbgoffice-1.4]# mv src/temp src/dictgui.h
mv: overwrite `src/dictgui.h'? y
[root gbgoffice-1.4]#


След тази операция всичко изглежда както трябва и няма проблем да се продължи с make install или checkinstall.

Тествах го на FC9 и работи :D

Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# cat /etc/redhat-release
Fedora release 9 (Sulphur)
[root gbgoffice-1.4]# gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-cpu=generic --build=i386-redhat-linux
Thread model: posix
gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)
[root gbgoffice-1.4]#


Само ще вмъкна и още нещо... във FC9 /usr/bin/gcc не е ln, а си е директен бинарен пакет на версията 4.3.0 :D

Код за потвърждение: Избери целия код
[root gbgoffice-1.4]# ls -al /usr/bin/gcc*
-rwxr-xr-x 2 root root 219144 2008-04-28 21:37 /usr/bin/gcc
-rwxr-xr-x 1 root root   2018 2008-02-20 08:54 /usr/bin/gccmakedep
[root gbgoffice-1.4]#
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Мнениеот Jork » Чет 11, Сеп, 2008 15:32

Браво Kulu, Браво Български Джедай! *worship*
Пожелавам ти винаги и във всичко да показваш този борбен дух, който влагаш в борбата с Линукс и съответно винаги да успяваш!
Приеми още веднъж моите адмирации и благодарности. *worship*
Искам да изкажа своето възхищение и към останалите участници във форума. Напоследък в България рядко се срещат толкова знаещи и можещи хора на едно място. При това готови да помогнат. Поздрав към всички вас! :)
И специален поздрав към phantomlord за прекрасното местенце, което е създал. :)

П.С. Доста офтопик го докарах, но не се сдържах да изкажа възхищението си. :oops:
Аватар
Jork
Участник
 
Мнения: 54
Регистриран на: Чет 18, Окт, 2007 17:48
Местоположение: София/Монтана

Мнениеот Kulu Ngile » Пет 12, Сеп, 2008 0:59

Благодаря от името на всички... просто гледаме с каквото може да помогнем.

В началото фантома ми помогна, след това аз помогнах на няколко човека... надяваме се и те да помогнат на още няколко и така да станем милиони... както беше ония цитат "Викай ми луд, но ще те питам пак, като станем милиони" :D
Последна промяна Kulu Ngile на Пет 12, Сеп, 2008 17:13, променена общо 1 път
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Мнениеот phantomlord » Пет 12, Сеп, 2008 1:52

Ами нямам какво да допълня. освен, че се стараем и се радваме, че сме помогнали :)

П.П.: btw, дали във Федора ако има повече от една версия на gcc, /usr/bin/gcc няма да стане ln? Може би и навсякъде е така...
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 1:16
Местоположение: София

Предишна

Назад към Инсталиране и работа с приложения

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron