• 0
Belov.V.

Сборка приложений под Linux

Вопросы

Предлагаю поделиться практикой сборки приложений под Linux, набором ошибок и глюков.

Решил сделать пару экспериментов в связке RAD-Linux.

1) Есть рабочий Debian7. На нем не пошел PAServer. Требует glib версии 2.14 или 2.17 (на 7-ке 2.12). Добавил в репозиторий ссылку на пакеты от debian 8. Обновил. PAServer стартует, но тут же валится по ошибке сокета (не записал как звучит). Пока все пакеты подряд.

2) Поднял Debian8. Чистый.

  • PAServer стартует, SDK в RAD студию загружается.
  • При попытке сборки ошибка "[DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lgcc_s"
  • При обновлении кеша файлов SDK ругается:
Directory does not exist: /usr/include/c++/
Directory does not exist: /usr/include/x86_64-linux-gnu/ (исчезла после gcc-6)
Directory does not exist: /usr/include/x86_64-linux-gnu/c++/
Directory does not exist: /usr/include/c++/
Directory does not exist: /usr/lib/gcc/x86_64-redhat-linux/
Directory does not exist: /usr/lib/gcc/x86_64-redhat-linux/
Directory does not exist: /usr/lib64/
  • Доставил пакеты gcc-6 и linux-compiler-gcc-6-x86, обновил файлы кеша SDK (исчезла вторая строчка в предупреждении при обновлении).

Ура!  Простейший пример собирается и стартует. Под отладчиком работает. Но остались шесть предупреждений при обновлении linux SDK.

Где это может вылезти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 ответа на этот вопрос

  • 0

Еще в документации нашел рекомендацию для возможности использовать System.zLib установить пакет zlib-deve.

Для Debian9 это zlib1g-dev. Установил, обновил SDK, количество предупреждений о не найденных путях по прежнему 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

А вот чуть бы подробнее можно? Указанная ошибка не желает никуда уходить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

У меня PASserver нормально стартует на CentOS 7, пишет что повесился на порт. Но слушает он только интерфейс 127.0.0.1, на внешние интерфейсы он даже не пытается биндить прослушку порта. Что делать и как дальше жить?

 

Изменено пользователем Евгений Корепов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
22 часа назад, Евгений Корепов сказал:

У меня PASserver нормально стартует на CentOS 7, пишет что повесился на порт. Но слушает он только интерфейс 127.0.0.1, на внешние интерфейсы он даже не пытается биндить прослушку порта. Что делать и как дальше жить?

 

Проблему решил. Сам дурак. Прописал в iptables разрешающее правило - все заработало. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От R.is
      Господа, нужна помощь.
      Запилил приложение, протестировал, все работает на ура и радостный иду загружать в Google Play, по требованию Google Play перед загрузкой в  AndroidManifest.template.xml нужно поставить targetSdkVersion не ниже 26.
      Как только ставлю targetSdkVersion="26", то  некоторые функции приложения перестают работать, а если обратно изменить  targetSdkVersion на 16, то все начинает работать.
      В чем может быть проблема?
       
      1) Кнопка "Поделиться" - использую стандартный ActionList
      procedure TForm2.ShowShareSheetAction1BeforeExecute(Sender: TObject); begin ShowShareSheetAction1.Bitmap.Assign(Image1.Bitmap); end;  и получаю вот что: 
      2) Кнопка "Сохранить" - сохраняю картинку в папку Pictures:
      Uses Permissions:
      Read external storage = true
      Write external storage = true
      procedure TForm2.Button2Click(Sender: TObject); begin Image1.Bitmap.SaveToFile(TPath.Combine(TPath.GetSharedPicturesPath,'phone.jpg')); end; и получаю следующую ошибку
       
      Прикрепляю тестовый проект.
      demo.rar
    • От Вадим Смоленский
      В феврале я сетовал, что мое Windows-приложение не хочет нормально запускаться в Linux под Wine 3.0. Но время идет, вышел Wine 3.6 - и теперь один из тестировщиков радостно сообщил, что всё заработало, за вычетом одного досадного момента. А именно: приложение способно сохранять фокус ввода лишь долю секунды, потом теряет. Соответственно, невозможно ничего ввести в текстовые боксы, разве только одну-две буквы. Можно щелкнуть по заголовку приложения, оно опять получит фокус - и через мгновение снова потеряет. Куда именно при этом переходит фокус, непонятно. Тестировщик утверждает, что только мое приложение ведет себя так, все остальные работают нормально.
      Нет ли у кого-нибудь идей? Что нужно проверить?
    • От x11
      Если установлена версия (Rev) 25.0.3 то можно ли удалять предыдущие: 25, 25.0.1 и 25.0.2?
       

    • От x11
      Не знаю, может глупый вопрос задам. Виной тому - понедельник
      Если приложение должно запускаться и на Android 4, и на Android 5, 6, 7.
      Нужно ли и как правильно быть с SDK?
       
      Или каждый раз менять в приложении SDK и пересобирать проект и тогда APK как-то именовать?
    • От Вадим Смоленский
      Когда мое приложение для Windows компилировалось в Delphi 6, линуксоиды успешно запускали его в Wine. Рапортовали, что неидеально, но работать можно. Теперь, после перевода на FireMonkey, один тестировщик попробовал запустить его в Wine 3.0 и сообщает:
      "Результат неутешителен - программа в нём практически не работает. Интерфейс сломан, кнопки интерфейса не нажимаются (в большинстве; а если и нажимаются, то возникают всякие ошибки)."
      Не сталкивался ли кто-нибудь здесь с этой проблемой? Я тихо надеюсь, что существует некая волшебная кнопка, которая поможет всё наладить.
      Приложение использует FireDAC и SQLite. Сторонних компонентов никаких.
    • От x11
      Delphi Tokyo не видит устройство. Нажимаю Refresh там, где Target в менеджере проекта, появляется сообщение:
       
      Что не так?
      Что нужно доустановить?



    • От Виталий Иванов
      Ошибка при запуске программы на отладку:
       
      "
      Can't open socket: Permission denied 
      Exiting
      .
      "
       
      кто знает как побороть ? 
       
      Отладку запускаю на OnePlus3 с Android 8.0.0, драйвера Google USB переустанавливал. 

    • От Pulsarius
      Здравствуйте, Ярослав! Скажите, пожалуйста, есть ли какая либо информация о планах поддержки Linux в C++ Builder? Нашей компании очень подходит RAD Studio для наших целей и быстрой разработки. Планируем приобрести лицензию. В ближайшее время планируем разрабатывать наше решение для Windows, macOS и Android, пока этого достаточно. Но есть некоторые сомнения о выборе RAD Studio и всё из-за того, что примерно через год потребуется наше решение реализовать и для Linux. Какова вероятность, что C++ Builder обзаведётся поддержкой Linux'а в течении 1 - 1,5 года? Delphi не рассматриваем. Заранее спасибо за ответ.
    • От chaplin.u@gmail.com
      Освежите в памяти для того чтобы аппликация была совместима с Лоллипопом ( Андроид 5) какие версии SDK NDK должны стоять ?
       
    • От Martifan
      Доброго времени сутки.
      вовремя запуска аппликации выдаёт такую ошибку и телефоне аппликация не запускается хотя если его запустить вручную то он работает я перерыл интернет ничего полезного не нашел может кто знает как с этим бороться.
      раньше работал нормально но через какой то время перестал.
      заранее спасибо 

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу