Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Kylix in FreeBSD


Автор: remax 14.12.2003, 18:17
Я знаю, что официально Kylix позиционирован под три версии Linux (Red Hat 7.2, Mandrake ...). Есть ли возможность установить его и работать в FreeBSD.

Автор: remax 14.10.2004, 23:06
Ну вот, почти год прошел и ни какой информации. sad.gif

А хочется...

Автор: Vit 15.10.2004, 15:51
А попробовать?

Автор: remax 5.11.2004, 18:21
Цитата(Vit @ 15.10.2004, 12:51)
А попробовать?

Так пробую, пробую.... Если бы хватало знаний по администрированию и настройке FreeBSD, то возможно сам бы справился. А так, ни свои потуги, ни советы/попытки знакомых спецов по FreeBSD ничего путного не дали. smile

Автор: Vit 5.11.2004, 18:33
У тебя на ней KDE стоит?

Автор: remax 9.11.2004, 19:59
Цитата(Vit @ 5.11.2004, 15:33)
У тебя на ней KDE стоит?

Да, конечно.

KDE версия 3.0.3
FreeBSD ядро 4.7

Устанавливается Kylix 3

При запуске setup.sh Выдается сообщение "Не найден файл borland"

Именно с этой инсталляции Kylix под Red Hat установился без проблем.

Автор: remax 9.11.2004, 23:05
После многочасовых поисков в инете что то более-менее вразумительное отыскалось на http://www.opennet.ru/openforum/vsluhforumID1/11855.html
Цитата
если не ошибаюсь kylix не работает в gui-mode во FreeBSD, и требует свежих портов linux & glibc Это значит что нужно сделать cvsup до 4.Stable, пересобрать ядро чтобы заработала свежая версия
linux-emulation в ядре или модуль, после чего переустановить требуемые порты для linux-base devel и glibc

PS. Если не ошибаюсь linux-base-7.1 вроде

http://www.freebsd.org/ports/ поиск linux
http://groups.google.com/groups?q=kylix&hl=ru&meta=group=comp.unix.bsd.*

Однако, во первых меня совсем не прельщает перспектива пересборки ядра (если не уверен в результате, то даже не начинай делать!)
а во вторых, там же написано следующее:
Цитата
GUI Kylix 3 не работает даже после установки порта linux_base-7.1 при выполнении заявленных требований к ядру (user LDT, SistemV SHM/SEM/MAP) - проверялось на FreeBSD 4.7-STABLE i386 - suxx

Автор: Vit 11.11.2004, 05:37
Мдя... Ну GUI вообще у киликса очень завязаны на конкретные библиотеки... А тебе чего на нём писать-то?

Автор: remax 15.11.2004, 01:33
Цитата(Vit @ 11.11.2004, 02:37)
Мдя... Ну GUI вообще у киликса очень завязаны на конкретные библиотеки... А тебе чего на нём писать-то?

Программу для ведения системы реестров акционеров. В принципе, для Delphi/Win2K/MSSQL я уже реализовал. Но в связи с возможными лицензионными проблемами была поставлена задача перейти под Kylix/FreeBSD/FireBird.

Автор: Vit 15.11.2004, 01:49
Ну дык разрабатывай в чём-то более дружелюбном, типа Mandrake а на FreeBSD установишь только готовый код, там только QT и будет нужна

Автор: remax 16.11.2004, 00:03
Да, наверное так и придется, только не люблю я такие многозвенные системы разработки - не отладить по человечески, не проверить полноценно... А отлаживать - точно придется.

Автор: Vit 16.11.2004, 00:27
Тоже не люблю, но что делать... Только перед тем как начать делать попробуй вообще запустить хотябы hello world на FreeBSD...

Автор: remax 16.11.2004, 00:37
Так пробовал - пока что дупель пусто

Автор: Vit 16.11.2004, 07:16
Я имею ввиду запуск проекта, а не IDE:

1)Ты установил QT?
2) подправил значение переменных среды?
3) Не работает только оконное приложение или и консольное тоже?
4) Какая ошибка (если запускать из терминала)?

Автор: remax 18.11.2004, 21:09
Цитата
Я имею ввиду запуск проекта, а не IDE


И я об этом...

Цитата

1)Ты установил QT?
2) подправил значение переменных среды?


Действовал по инструкции http://forum.vingrad.ru/index.php?showtopic=23148:

1. Create Folder /usr/lib/borland - без вопросов

2. Copy File libborqt-6.9.0-qt2.3.so to /usr/lib/borland (the file is in the qt folder) - без вопросов, за исключением того, что файл пришлось слить с инета: http://grabberxcd.narod.ru/libborqt-6.9.0-qt2.3.so.tar.gz

3. Create symbolic link named libborqt-6.9-qt2.3.so for libborqt-6.9.0-qt2.3.so - не понял, в каком каталоге должен оказаться линк. На всякий случай создал в текущем (/usr/lib/borland)

4. Edit file (instead "home" your real home folder should be used)
/home/system.bash_profile

Add lines

PATH=$PATH:$HOME/bin:.
export LD_LIBRARY_PATH=/usr/lib/borland
export PATH


Тут вроде все понятно. Правда есть один ньюанс - во FreeBSD файл назывался .profile и за исключением второй строки в нем все уже было:

Код

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:$HOME/bin;
export LD_LIBRARY_PATH=/usr/lib/borland
export PATH


5) Logout and login (Do not use su/root previlages!)
Вышел и зашел не под root. (хотя и непонятно почему нельзя быть root)

В результате, при попытки запуска минимального оконного приложения в KDE (используя Konqueror) получаем информативное сообщение "не удалось найти программу project1"

Такой же результат получался без всяких доработок и настроек... smile




Автор: Vit 18.11.2004, 22:20
2. Файл возьми с инсталляции Kylix
3. Link в том же каталоге что и файл
4.

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:$HOME/bin;:.
export LD_LIBRARY_PATH=/usr/lib/borland
export PATH


Если у тебя имя пользователя Linux (логин) remax, то путь к файлу должен быть:

/home/remax/system.bash_profile

иначе система не подхватит установки...

5. Запускай программу с терминала, консоли - тогда будет расширенная информация об ошибке.

Автор: remax 18.11.2004, 22:54
Цитата(Vit @ 18.11.2004, 19:20)
2. Файл возьми с инсталляции Kylix

На FreeBSD Kylix не ставится, а линуксовой машины под рукой нет...

Цитата
3. Link в том же каталоге что и файл

Так и сделал

Цитата
4
Прикол в конце первой строки :. понял!
Цитата
/home/remax/system.bash_profile


Ну нет там у меня такого файла... Есть просто .profile
Может создать?

Автор: remax 18.11.2004, 23:23
1) Скопировал .profile в system.bash_profile
2) Logout/Login
3) Запустил KDE
4) Запустил консоль
5) зашел в нужный каталог
6) ./Project1 - Ответ ./Project1:Permission denied.


smile

Автор: Vit 18.11.2004, 23:53
Конкверор -> измени аттрибуты на Project1 с разрешением для этого пользователя его читать и запускать и тоже для qt библиотеки
Добавлено @ 23:58
Попробуй создать ещё такой файл:

#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/borland
/чего-то там/Project1
echo "Press ENTER to close"
read

сохрани этот файл с расширением sh и дай ему аттрибуты которые разрешат его выполнять, потом запусти его в терминале... У меня есть подозрения что тот скрипт который там написан в FreeBSD где-то в другом месте хранится и никак не запускается...

Впрочем можно посмотреть значение системной переменной LD_LIBRARY_PATH после перезагрузки - оно должно показывать на каталог библиотеки а не погоду
Добавлено @ 00:00
Если не будет получаться - стучи мне в асю, будем пробовать в real-time

Автор: remax 19.11.2004, 00:04
После установки прав появились сдвиги - изменился текст сообщения об ошибке:

ELF binary type "0" not known
Аварийное завершение



Из консоли KDE и из mc (без KDE) одно и тоже сообщение.

Автор: Vit 19.11.2004, 00:08
Такс, похоже бормандовские библиотеки не видит, попробуй запустить скриптом с помощью файла:

Код


#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/borland
/чего-то там/Project1
echo "Press ENTER to close"
read

Автор: Vit 19.11.2004, 00:18
Кстати, ты файл libborqt-6.9.0-qt2.3.so.tar.gz разархивировал?

Автор: remax 19.11.2004, 00:22
Команда не найдена


Похоже, что не нравится перавя строка скрипта.

Вопрос: /чего-то там - это полный путь? /usr/...

Автор: Vit 19.11.2004, 00:24
Полный путь к программе. Я скрипт поправил, добавил строку переменной, ты заметил?

Автор: remax 19.11.2004, 00:30
1) Изменения скрипта заметил - я просто его скопировал и поправил.
2) Насчет bash - не получится, вычитал что во FreeBSD по жизни командный интерпретатор tcsh
3) Скрипт
Код

!tcsh
export LD_LIBRARY_PATH=/usr/lib/borland
/usr/depo/guest/Project1
echo "Press ENTER to close"
read

Начал проявлять какие то осмысленные действия

Автор: Vit 19.11.2004, 00:31
Пошёл? В смысле хоть обычный проект с кнопкой и формой удалось запустить?

Автор: remax 19.11.2004, 00:35
Правда, получается следующее

not found
not found/usr/depo/guest/Project1
Press ENTER to close
not found

Возможно, есть различия между интерпретаторами.

На сегодня больше ничего пробовать не успеваю, иначе опаздаю на последнюю электричку метро.

Автор: Vit 19.11.2004, 00:41
Итак у тебя проблема в следующем:

LD_LIBRARY_PATH не указывает на библиотеку, в FreeBSD KDE грузит переменные среды откуда-то из другого файла

Решение: Написать скрипт в котором вначале бы загружалась переменная среды

export LD_LIBRARY_PATH=/usr/lib/borland

а затем твой файл, либо найти где в FreeBSD идёт загрузка переменных среды и дописать туда.

Примечание: "not found" - под Linux ещё иногда обозначает что к указанным файлам, программам и коммандам этот пользователь не имеет доступа в следствии своих permissions


Автор: remax 21.11.2004, 21:47
Цитата(Vit @ 18.11.2004, 21:41)
Решение: Написать скрипт в котором вначале бы загружалась переменная среды

export LD_LIBRARY_PATH=/usr/lib/borland

а затем твой файл, либо найти где в FreeBSD идёт загрузка переменных среды и дописать туда.

Меняем на командный интерпретатор sh. Скриптовый файл start.sh для запуска нашего приложения будет таким:
Код

#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/borland
export LD_LIBRARY_PATH
./Project1
echo "Press ENTER to close"
read


результат:

ELF binary type "0" not known
Abort trap
Press ENTER to close
read: arg count
Press any key to continue


Две первые строки - ругань системы на приложение
Третья строка - то что мы сами попросили написать
Четвертая строка - системе не понравилось отстутствие переменных в read
Пятая строка - заверешение скрипта

Варианты проблем:
1) Не находит библиотеку, из-за неточного наименования переменной окружения (LD_LIBRARY_PATH?)
2) Не находит библиотеку из-за неправильных ссылок:
(содержимое каталога приложения
Project1 - собственно, оно самое
libborqt-6.9-qt2.3.so - символная ссылка
libborqt-6.9.0-qt2.3.so - символьная ссылка (на всяк пожарный)
start.sh (скрипт))
3) FreeBSD тупит на бинарнике в формате Линукс (согласно теории, этого быть не должно)
4) CrossKylix создает левый тип бинарника (может кто намылит работающий пример простенького бинарника - сам исполнимый код?)
5) Возможно, что скачанная библиотека глючит. (может кто намылит и ее, родимую?)



Автор: Vit 21.11.2004, 21:52
1,2 - попробуй вывести на экран значение переменной LD_LIBRARY_PATH

что-то типа echo $LD_LIBRARY_PATH

3, 4 - не в этом дело, скорее в том что какие-то библиотеки имеют несовместивые функции. Даже не знаю чем помочь. А консольное приложение запускается?


5 - в понедельник смогу выложить на работе, если не забуду


Автор: remax 21.11.2004, 22:04
Цитата(Vit @ 21.11.2004, 18:52)
1,2 - вывести на экран значение переменной LD_LIBRARY_PATH

что-то типа echo $LD_LIBRARY_PATH

Это работает, выдается именно то, что хотели записать:
/usr/lib/borland


Добавлено @ 22:07
Цитата(Vit @ 21.11.2004, 18:52)
3, 4 - не в этом дело, скорее в том что какие-то библиотеки имеют несовместивые функции. Даже не знаю чем помочь. А консольное приложение запускается?

Консольное приложение не работает с абсолютно идентичными симптомами

Цитата

5 - в понедельник смогу выложить на работе, если не забуду

Заранее спасибо

Автор: Vit 22.11.2004, 01:22
Цитата(remax @ 21.11.2004, 13:04)
Консольное приложение не работает с абсолютно идентичными симптомами


гаплык, приехали... smile Дело на в QT, скорее всего несовместимость гораздо ниже на уровне so ядра Linux... Не знаю что и порекомендовать, тебе надо с линуксоидами говорить, может попробовать посмотреть какие библиотеки оно использыет или каким-нибуд дебуггером его трассануть... Тут я тебе уже точно не могу помочь. Посоветуйся с dargaard - он у нас спец по програмированию под Linux, может подскажет чего делать...

Автор: Vit 22.11.2004, 04:23
Попробуй в коммандной строке наблать

ldd Project1

Это выведет тебе все задействованные библиотеки, потом можно сравнить например с моими

Автор: haword 14.2.2005, 13:01
Ну что можно сказать по этой теме, РАБОТАЕТ! smile откомпилированная прога в Linux с использование Kylix запустилась с полпинка и двух ударов в бубен smile Короче, откомпилил я прогу с пропаченным Libc.pas чтоб брал libborqt-6.9.0-qt2.3.so в собственной директории, выставил права для запуска, пусканул прогу, она матюкнулась на то что ненаходит библиотеку libjpeg.so.62, я ее ей подсунул из Linux и все, запустилась и заработала! FreeBSD 5.3 с включенной поддержкой эмуляции Linux.

Автор: remax 15.2.2005, 23:14
Цитата(haword @ 14.2.2005, 10:01)
я ее ей подсунул из Linux и все, запустилась и заработала! FreeBSD 5.3 с включенной поддержкой эмуляции Linux.

С этого момента поподробнее, пожалуйста...

Автор: haword 21.2.2005, 09:02
Цитата(remax @ 15.2.2005, 23:14)
Цитата(haword @ 14.2.2005, )
я ее ей подсунул из Linux и все, запустилась и заработала! FreeBSD 5.3 с включенной поддержкой эмуляции Linux.

С этого момента поподробнее, пожалуйста...

Ну что может быть еще подробнее? Поставил себе я FreeBSD 5.3, когда устанавливал выбрал чтоб была эмуляция Linux! Проставил, запустил KDE, закачал туда прогу через ftp свою, запустил, сначало пошли маты на то что неможет найти libborqt-6.9-qt2.3.so, перекомилил прогу так чтоб она искалал эту либу у себя в директории а нигде то в другом месте, для этого из проекта кажется CrossKylix вытащил ckLibc.pas, и заменил стандартную Libc.pas на нее, опять скопирывал проект, дал разрешения на все файлы проекта для запуска, запустил и он выругался что нет либы для работы с jpeg, вытащил эту либу из линукса и всё пошло!
http://www.cracker-shym.narod.ru/program/Kylix/freebsd.jpg
FreeBSD не руссифицированная поэтому вопросики в проге показывает вместо русских букв

Автор: sly 3.2.2006, 13:58
Hi
Получилось поставить Kylix на FreeBSD 5.4 Вот только с запуском траблы
При запуске пишет следующее:

user posted image

Автор: Snowy 3.2.2006, 14:34
Ну так и пишет - система не удовлетворяет минимальным требованиям...
Поэтому и не запускается.

Автор: sly 3.2.2006, 14:55
звыняте не ту картинку вставил smile

подправил предыдущий пост

какраз установка прошла отлично, сама kylix не запускается

Автор: remax 12.2.2006, 14:41
Цитата(sly @ 3.2.2006, 11:55)
какраз установка прошла отлично, сама kylix не запускается

smile smile

А я уже обнадежился.... smile smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)