Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2015, 21:46   #11
BOEHKOM
 
Регистрация: 04.04.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Rik Посмотреть сообщение
Вы симлинки на какие библиотеки делали? У меня либы лежат в системном каталоге /lib (/usr/lib тоже подойдет) для Linux x64 /lib64 или /usr/lib64,
У меня симлинки:
libssl.so на /lib/i386-linux-gnu/libssl.so.1.0.0
и
libcrypto.so на /lib/i386-linux-gnu/libcrypto.so.1.0.0

Цитата:
Сообщение от Rik Посмотреть сообщение
симлинки там-же, все отлично работает.
Вот пожалуйста, с этого места ПО-ПОД-РОБ-НЕ-Е!!!
То есть у ВАС РАБОТАЕТ при той конфигурации системы, что я указал выше?

Цитата:
Сообщение от Rik Посмотреть сообщение
Вы написали что либы у Вас в каталоге с программой, если Вы симлинки там-же храните, предполагаю, что синапс их оттуда возможно загружать не умеет (я даже ни пытался не разу их из каталога с программой загружать, у линукса все либы обычно в комплекте либо можно доустановить, поэтому нет необходимости на Linux таскать их с собой)..
Все либы по Вашему замечанию снёс с текущего с программой каталога.
Сейчас есть новая програмная папка, в которой скомпилированный файл программы и два симлинка на файлы описанные абзацем выше.

Но , УВЫ, на манеже всё те же!!!
BOEHKOM вне форума Ответить с цитированием
Старый 09.04.2015, 20:49   #12
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от BOEHKOM Посмотреть сообщение
То есть у ВАС РАБОТАЕТ при той конфигурации системы, что я указал выше?
Мне пока не встретились конфигурации, где бы не работало..

Цитата:
Сообщение от BOEHKOM Посмотреть сообщение
У
Сейчас есть новая програмная папка, в которой скомпилированный файл программы и два симлинка на файлы описанные абзацем выше.
Но , УВЫ, на манеже всё те же!!!
Хм, по Вашему тексту я понял, что симлинки в папке с программой? Симлинки должны лежать в системном каталоге.
Ваш Linux x32 или x64? Почему там каталог i386?
Цитата:
У меня симлинки:
libssl.so на /lib/i386-linux-gnu/libssl.so.1.0.0
и
libcrypto.so на /lib/i386-linux-gnu/libcrypto.so.1.0.0
Могу ещё предположить, что Вы пытаетесь для приложения x64 загрузить либы от x32..
Проверьте в синаптике по поиску, libssl и libcrypto установлены?(обычно по умолчанию должны стоять)
Запустите в mc поиск файла libssl.so* начиная от каталога /
У меня выдает: см. скриншот, либы разных версий в системных каталогах (и симлинки там-же).
Притачил свой пример synapse-smtp для Lazarus
Изображения
Тип файла: jpg libssl.jpg (46.7 Кб, 135 просмотров)
Вложения
Тип файла: zip synasmtp.zip (128.0 Кб, 18 просмотров)

Последний раз редактировалось Rik; 09.04.2015 в 21:54.
Rik вне форума Ответить с цитированием
Старый 11.04.2015, 19:06   #13
BOEHKOM
 
Регистрация: 04.04.2015
Сообщений: 7
Смущение

Цитата:
Сообщение от Rik Посмотреть сообщение
Хм, по Вашему тексту я понял, что симлинки в папке с программой? Симлинки должны лежать в системном каталоге.
Ваш Linux x32 или x64? Почему там каталог i386?
Моё авторское предположение упорно переходящее в умозаключение:
"Двубитность мышления - вот что объединяет программиста и военного человека"
подталкивает меня к следующему:

1. Немного перефразируя К.Пруткова скажу так: "Если в уважаемом и полезном сообщении по адресу http://freepascal.ru/forum/viewtopic...=10169&p=84816 написано следующее:
"Чтобы работал SSL, надо к своему проекту подключить модуль ssl_openssl(из synapse) в раздел uses любого модуля.
В папке с вашей программой или системном каталоге должны быть:
для windows - ssleay32.dll, libssl32.dll или libeay32.dll
для Linux - libssl.so, libcrypto.so (под Linux имена библиотек обычно отличаются, там ещё версия дописана, поэтому надо создавать симлинки, если либа обновится и будет под новым именем, надо процесс создания симлинков повторить)" -
НЕ ВЕРЬ ГЛАЗАМ СВОИМ".
Вот я и положил симлинки в папку с программой, а не создал их в папке /lib/
Почему там каталог i386-linux-gnu? Не знаю. Но созданные по Вашему замечанию симлинки в папке /lib/ указывают на папку i386-linux-gnu. В каталоге с программой симлинков уже нет.

2. "Стою на асфальте я в лыжи обутый. То ль лыжи не едут, то ль я е....тый"
Свершилось!!! Передача почты через SMTP с помощью Synapse40 в Lazarus v 1.2.6, что в Xubuntu 12.04 32bit при наличии симлинков в папке /lib/ libssl.so на /lib/i386-linux-gnu/libssl.so.1.0.0 и libcrypto.so на /lib/i386-linux-gnu/libcrypto.so.1.0.0 работает, НО...

Теперь не работает модуль передачи почты через SMTP с помощью Indy10 в Lazarus v 1.2.6, что в Xubuntu 12.04 32bit. Выскакивает программное сообщение о невозможности найти SSL библиотеку.

Убираю симлинки - всё наоборот: с Indy пашет, с Synapse - виснет на авторизации.
Вот такие, вот, пироги!

3. "От нашего стола к Вашемку столу"

Цитата:
Сообщение от Rik Посмотреть сообщение
Притачил свой пример synapse-smtp для Lazarus
Спасибо за пример. Теперь ловите мой пример с Indy и попробуйте его выполнить с симлинками в папке /lib/ и без них.
Вложения
Тип файла: zip indy-smtp.zip (129.7 Кб, 11 просмотров)
BOEHKOM вне форума Ответить с цитированием
Старый 12.04.2015, 22:56   #14
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от BOEHKOM Посмотреть сообщение
"Двубитность мышления - вот что объединяет программиста и военного человека"
Я тоже был когда-то на службе.. Я и сейчас военнообязанный..

Цитата:
Сообщение от BOEHKOM Посмотреть сообщение
Теперь не работает модуль передачи почты через SMTP с помощью Indy10 в Lazarus v 1.2.6, что в Xubuntu 12.04 32bit. Выскакивает программное сообщение о невозможности найти SSL библиотеку.

Убираю симлинки - всё наоборот: с Indy пашет, с Synapse - виснет на авторизации.
Вот такие, вот, пироги!
ХЗ. Если в Lazarus по поиску запустить искать libssl.so (Поиск->Поиск в файлах) и найти в Synapse и Indy процедуру загрузки библиотеки, видно что технически разницы для Indy и Synapse нет, должно работать одинаково. Indy я ставить не стал, поэтому Ваш пример проверить не могу. Когда-то я использовал Indy на Delphi, но в fpc/lazarus с ней не очень всё хорошо, с Synapse проще и надежнее, каких-то изъянов в работе с протоколами http, https, ftp, smtp, pop3 я не нашел, поэтому на счет Indy я больше не заморачивался, Synapse покрывает все мои потребности.

Последний раз редактировалось Rik; 12.04.2015 в 23:04.
Rik вне форума Ответить с цитированием
Старый 13.04.2015, 19:03   #15
BOEHKOM
 
Регистрация: 04.04.2015
Сообщений: 7
Хорошо Цель поражена - проблема решена!!!

Ура! Свершилось!
Спустя 10 нелёгких, боевых и потопроливных дней под большим напряжением и сном по 4-5 часов в сутки после обозначенной мною в начале проблемы, мною лично, НАЙДЕНО РЕШЕНИЕ передачи почты используя компоненты SMTP представленные в пакетах Synapse40 и Indy-10.2.0.3 в Lazarus v 1.2.6 под Xubuntu 12.04 32bit или Xubuntu 14.04 64bit.

Вам интересно?
Но сначала дам волю эмоциям!
Авторское:
«Все наши субъективные беды в окружающем мире ТОЛЬКО от НАШЕГО РАЗГИЛЬДЯЙСТВА и СЛОВОБЛУДСТВА»

Итак, напомню проблему:
«Проблема:
1. При соединении с SMTP сервером происходит зависание компьютера на 1,5-2 минуты, и выводится сообщение о невозможности создания подключения, не говоря уже о том, чтобы отослать письмо или, чего более, отослать письмо с прикреплёнными файлами.
2. При использовании компоненты idSMTP c Indy (в аналогичных примерах разработанных специально под Indy, а не Synapse) - выскакивает сообщение о невозможности найти SSL библиотеку. Программа не логинится и почта, естественно, не отправляется.»

Проверяя моё предположение о двубитности мышления программистов я призвал не науку, а здравый смыл, учитывая фактор разгильдяйства разработчиков софта и вот что получилось.

1. Вместе с установкой Xubuntu 12.04 32bit (Xubuntu 14.04 64bit) устанавливается и libssl1.0.0
Эта библиотека нужна для многих системных и прикладных программ (cups-daemon, python, apache2, abiword, firefox …) при этом НЕ СОЗДАЮТСЯ файлы-символьные ссылки libssl.so, libcrypto.so на файлы-библиотеки для libssl.so.1.0.0, libcrypto.so.1.0.0 которые находятся для 32 битной системы в папке /usr/lib/i386-linux-gnu/ , а для 64 битной в папке - /usr/lib/x86_64-linux-gnu/

2. Для создания символьных ссылок необходимо установить пакет libssl-dev или же создать их вручную. Файл-символьная ссылка (симлинк) должен присутствовать в каталоге
/lib/ или /usr/lib/i386-linux-gnu/ или /usr/lib/x86_64-linux-gnu/, но ни в коем случае в папке с программой (без толку).

А теперь самое вкусное:
3. При обозначенной конфигурации системы (состоянием на 13 апреля 2015 года) указанные выше симлинки ДОЛЖНЫ ССЫЛАТЬСЯ НЕ НА libssl.so.1.0.0 и libcrypto.so.1.0.0, А НА libssl.so.0.9.8 и libcrypto.so. 0.9.8 !!!!!!!

Да! Да! Да! Именно на libssl.so.0.9.8 и libcrypto.so. 0.9.8

Поэтому через Синаптик, Центр приложений или мозолистыми руками в терминале устанавливается libssl.so.0.9.8 и libcrypto.so. 0.9.8 Тогда в программах, без понтов, будут работать компоненты SMTP представленные в пакетах Synapse40 и Indy-10.2.0.3 в Lazarus v 1.2.6 под Xubuntu 12.04 32bit или Xubuntu 14.04 64bit.

Почему именно libssl.so.0.9.8 и libcrypto.so. 0.9.8, а не libssl.so.1.0.0 и libcrypto.so.1.0.0 ??? Это уже, действительно, взывайте к спецам, к Google — но, увы, не ко мне!!!

Скажу только, что таким образом отрицается умозаключение:
«Иногда эти библиотеки обновляются вместе с линуксом и после этого симлинки перестают работать, т.к. старые библиотеки удаляются, новые приходят с новыми именами. Если это произойдет, Вам нужно будет создавать симлинки по новой.»

Симлинки на новые версии библиотек создавать не надо.

4. Используя скорее не знания, а «двубитный метод научного тыка» программа моя заработала и вся почта пошла как бойцы в столовку.

5. Учитывая важность момента за оказанную посильную помощь выношу:

1) благодарность СуперМодератору Виталию Викторовичу Белику, он же Stilet из г.Краматорска, который только: «I'm learning to live...» за подсказку по проверке ошибки;

2) благодарность с занесением в личное дело Форумчанину Rik с репутацией: 270, за то, что указал место дислокации нужных объектов (libssl.so, libcrypto.so), а именно на территории директории /lib/;

3) огромнейшую, от всей души, благодарность с троекратным «Ура» всему личному составу админов и модераторов которые позволили выложить на форуме наболевшее, форумчан и посетителей, которые на момент написания этой реплики как «завершающего аккорда» просмотрели данную тему 644 раза и, при этом, удержались от ненужного понтообразного словоблудия;

4) себе любимому за то, что программируя только по нужде и доблестно ломясь в открытую дверь САМОСТОЯТЕЛЬНО (кобура меня не подвела ), вопреки всем невзгодам, лишениям и ехидному молчанию спецов, решил поставленную задачу, объявляю отпуск длительностью не менее 10 дней за пределами этого форума без учёта трафика.

Тему предлагаю закрыть как исчерпывающе решённую.
Всем пока.

P.S. Кто может лучше объяснить или проще создать отправку почты - пусть сделает это!

Последний раз редактировалось BOEHKOM; 13.04.2015 в 19:07.
BOEHKOM вне форума Ответить с цитированием
Старый 17.08.2015, 22:51   #16
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

<<Почему именно libssl.so.0.9.8 и libcrypto.so. 0.9.8, а не libssl.so.1.0.0 и libcrypto.so.1.0.0 ???>>
У меня Debian 8 и также мучаясь я пришел к выводу что нужна именно все версии 0.9.8 а старше.

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

export LD_LIBRARY_PATH=.
./<Имя исполняемого файла программы>
Avazart вне форума Ответить с цитированием
Старый 17.08.2015, 23:06   #17
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

Кстати бинарная несовместимость библиотек вполне ожидаема при смене мажорной версии(первой цифры).
Avazart вне форума Ответить с цитированием
Старый 17.08.2015, 23:12   #18
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

И симлинки в системных папках не советую менять ибо теоретически могут отвалится другие программы которые используют версию 1.x.x и не совместимы со старой нулевой версией.
Avazart вне форума Ответить с цитированием
Старый 17.08.2015, 23:17   #19
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

>Rik, Synapse покрывает все мои потребности.
Не покрывает, Synapse по большей части велосипедный из-за чего код порой длинный и выглядит преужасно. К примеру http multipart или разбор imap/pop3 писем.
Avazart вне форума Ответить с цитированием
Старый 17.08.2015, 23:18   #20
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от Avazart Посмотреть сообщение
И симлинки в системных папках не советую менять ибо теоретически могут отвалится другие программы которые используют версию 1.x.x и не совместимы со старой нулевой версией.
Уже существующие симлинки в системных папках никто и не менеяет, новые делаем с именами, которые ищет Synapse.
Rik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Synapse. Отправка писем, используя SMTP. Кольша Работа с сетью в Delphi 12 15.12.2012 20:18
Отправка почты через SMTP с использованием Synapse chandrasecar Работа с сетью в Delphi 5 26.06.2012 13:04
Indy или Synapse. кусками забрать файл. КАК? Человек_Борща Работа с сетью в Delphi 2 07.04.2012 12:13
У меня borland developer studio delphi 2006 так вот как вставить на вкладку tool palette компоненты Indy Clients и Indy Misc Artem_host Общие вопросы Delphi 0 01.02.2012 09:55