Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программа на Kylix

Автор: VZ_Alexandr
Дата сообщения: 29.07.2003 17:20
Переписал прогу на Kylix, но вот в чем проблема. В оболочке Kylix все прекрасно пашет, но после как эту прогу запустить (клик не помогает)
Заранее танкс
Автор: Mamay
Дата сообщения: 29.07.2003 17:29
A ti proboval delat` chmod +x your_file
Автор: VZ_Alexandr
Дата сообщения: 29.07.2003 19:07
Mamay
Да файл предназначен для выполнения
Автор: nazaret
Дата сообщения: 01.08.2003 03:38
У меня то же самое было! Наверное, Kylix в trial-версии работает только из IDE. А покупать его - кто же на это решится. Если кто-то знает, как этот Kylix заставить работать - сообщите, плиз.
Автор: VZ_Alexandr
Дата сообщения: 01.08.2003 04:30
nazaret
Но он и лицензию проглотил и нигде ни слова о триальностине видно ...
Автор: ironwit
Дата сообщения: 01.08.2003 07:21
VZ_Alexandr

Цитата:
В оболочке Kylix все прекрасно пашет, но после как эту прогу запустить (клик не помогает)

запусти из консоли, что пишет ?
Автор: VZ_Alexandr
Дата сообщения: 01.08.2003 16:44
ironwit


Код:
[root@localhost Proba]# Project1
bash: Project1: command not found
Автор: aaabbbccc
Дата сообщения: 01.08.2003 17:13
./Projec1
Home директоия не в путях.
Автор: VZ_Alexandr
Дата сообщения: 01.08.2003 18:00
aaabbbccc


Код:
[root@localhost Proba]# ./Project1
./Project1: relocation error: ./Project1: undefined symbol: initPAnsiStrings
Автор: ironwit
Дата сообщения: 02.08.2003 08:20
VZ_Alexandr
я конечно в kylix не очень, но по аналогии с delphi - ты его собирал полностью или чтобы пакеты отдельно? Может программа просто пакеты не может подхватить? Или вот что, напиши просто болванку, абсолютно без ничего, откомпилируй и запусти. Что выйдет?
Автор: VZ_Alexandr
Дата сообщения: 05.08.2003 09:19
ironwit
Собирал все полностью. И с чистой тоже ничего не выходит
Автор: ironwit
Дата сообщения: 05.08.2003 11:19
VZ_Alexandr
чистая пишет тоже?
Автор: VZ_Alexandr
Дата сообщения: 05.08.2003 12:41
ironwit
Да И ведь поставилась без проблем и все работает в принципе нормально, но готовые проекты ни в какую. Щас думаю нести на Мандрейке и на АЛТе попробовать может там будет ОК ... хотя сомневаюсь.
Автор: ironwit
Дата сообщения: 06.08.2003 08:18
VZ_Alexandr

расскажешь когда получится сюда, ок?
Автор: redp
Дата сообщения: 06.08.2003 09:00
ты эта
проверь следующие штуки
1) LD_LIBRARY_PATH - кажет ли оно на .so от killixа
2) запусти прога под strace - оно скажет тебе до куда оно доходит и в чем затык. Можешь выход от strace сюда запостить - може скажу чего полезного
Автор: f_serg
Дата сообщения: 06.08.2003 13:57
VZ_Alexandr

Цитата:
LD_LIBRARY_PATH - кажет ли оно на .so от killixа

Угу. Судя по
Цитата:
./Project1: relocation error: ./Project1: undefined symbol: initPAnsiStrings
все динамические библиотеки находятся, но одна явно не та, хоть и с тем же именем.
Автор: VZ_Alexandr
Дата сообщения: 06.08.2003 17:20
redp
strace ??? Как под этим запускать ? По подробнее можно ?
Все прописано.
f_serg
А возможно, что KYLIX не совместим с ASPом ? Может какой патч поставить надо ?
Автор: f_serg
Дата сообщения: 07.08.2003 05:09
VZ_Alexandr

Цитата:
А возможно, что KYLIX не совместим с ASPом ?

Сильно сомневаюсь. Дай результат команды ldd Project1.
Автор: VZ_Alexandr
Дата сообщения: 07.08.2003 07:45
f_serg

Код:
[root@localhost Proba]# ldd Project1
/lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40014000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40027000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40106000)
libdl.so.2 => /lib/libdl.so.2 (0x40157000)
libc.so.6 => /lib/libc.so.6 (0x4015a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Автор: f_serg
Дата сообщения: 07.08.2003 09:37
VZ_Alexandr
Мда...
А ldd /bin/ls тоже выдает
Цитата:
/lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40014000)
?
Автор: VZ_Alexandr
Дата сообщения: 07.08.2003 10:07
f_serg
А тут этого нет

Код:
[root@localhost root]# ldd /bin/ls
librt.so.1 => /lib/librt.so.1 (0x40025000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x40037000)
libc.so.6 => /lib/libc.so.6 (0x4003b000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40162000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Автор: f_serg
Дата сообщения: 07.08.2003 10:44
VZ_Alexandr
Видимо, libNoVersion.so.1 как раз Kylix-овская библиотека. Поищи в поддиректориях, где Kylix установлен такую же.
Автор: VZ_Alexandr
Дата сообщения: 07.08.2003 11:03
f_serg
Она находится в lib
В поддиректориях Kylix ее нет
Автор: f_serg
Дата сообщения: 08.08.2003 10:19
VZ_Alexandr
Все, я иссяк. Единственное, что еще приходит в голову - это попробовать скомпилировать и собрать проект из командной строки.
Автор: Colobok
Дата сообщения: 11.08.2003 08:42
Может быть это поможет:
http://www.hardsoft.ru/cppmain/cweek/data/w12s/
Автор: VZ_Alexandr
Дата сообщения: 11.08.2003 17:44
Colobok
Да помогло. Только вот получается ... чтобы перенести проект на другую машину придется и Kylix везде ставить ?
Автор: f_serg
Дата сообщения: 12.08.2003 04:57
VZ_Alexandr

Цитата:
чтобы перенести проект на другую машину придется и Kylix везде ставить ?

kylixpath - это бинарник или скрипт? В любом случае надо посмотреть, какие он переменные окружения выставляет. Может там всего-то надо LD_PRELOAD выставить?
Автор: VZ_Alexandr
Дата сообщения: 12.08.2003 06:00
f_serg
Скрипт

Код:
#!/bin/bash

if [ -e /usr/local/kylix3/vbroker/vbroker.sh ]; then
. /usr/local/kylix3/vbroker/vbroker.sh
fi

prepath=/usr/local/kylix3
if [ -n "$1" ]; then
prepath=$1
fi
kylixpath=$prepath/
has_slash=`expr "$kylixpath" : '\(.*//\)'`
if [ -n "$has_slash" ]
then
kylixpath=$prepath
else
kylixpath=$prepath/
fi
b=bin
l=lib
h=help
hl=help/lib

path_found=
for kpath in $kylixpath$h $kylixpath$l $kylixpath$b; do
for ppath in `echo $PATH | sed s/:/\ /g`; do
if [ "$kpath" = "$ppath" ]; then
path_found="Y"
fi
done
if [ -z "$path_found" ]; then
PATH="$kpath:$PATH"
fi
done

locale=${LC_ALL:-${LC_CTYPE:-${LANG:-"C"}}}
path_found=
for kpath in $kylixpath$hl $kylixpath$hl/locale/$locale $kylixpath$b; do
for ppath in `echo $LD_LIBRARY_PATH | sed s/:/\ /g`; do
if [ "$kpath" = "$ppath" ]; then
path_found="Y"
fi
done
if [ -z "$path_found" ]; then
LD_LIBRARY_PATH="$kpath:$LD_LIBRARY_PATH"
fi
done

XPPATH="$kylixpath$h/xprinter"

HHHOME="$kylixpath$h"

XAPPLRESDIR="$kylixpath$h/app-defaults"

NLSPATH="$kylixpath$hl/locale/%L/%N.cat"

export PATH
export LD_LIBRARY_PATH
export XPPATH
export HHHOME
export XAPPLRESDIR
export NLSPATH
echo "PATH is now set to :"
echo "$PATH"
echo ""
echo "LD_LIBRARY_PATH is now set to :"
echo "$LD_LIBRARY_PATH"
echo ""
echo "XPPATH is now set to :"
echo "$XPPATH"
echo ""
echo "HHHOME is now set to :"
echo "$HHHOME"
echo ""
echo "XAPPLRESDIR is now set to :"
echo "$XAPPLRESDIR"
echo ""
echo "NLSPATH is now set to :"
echo "$NLSPATH"
Автор: f_serg
Дата сообщения: 12.08.2003 07:05
VZ_Alexandr
Все-таки LD_LIBRARY_PATH. Слушай, а статическую сборку проекта можно сделать? Попробуй, тогда мы от динамических библиотек отвяжемся.

Добавлено
Да, еще почитай man ldd, что он имеет в виду, когда говорит
Цитата:
libNoVersion.so.1
. У меня на редхате нет такой библиотеки.
Автор: VZ_Alexandr
Дата сообщения: 12.08.2003 12:48
f_serg
Сам файл увеличился в размерах, но по прежнему без скрипта ни в какую.
А версия RedHat у тебя какая ? libNoVersion.so.1 весит всего 21 байт

Страницы: 12

Предыдущая тема: TeeChart6


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.