пятница, 21 апреля 2017 г.

Kubuntu 16.04 + VirtualBox 5.1.18

Kubuntu 16.04 + VirtualBox 5.1.18
после установки дополнения гостевой ОС, рабочий стол накрылся.
Да и прочие экраны логина накрылись.
Бэкап рулит.

среда, 19 апреля 2017 г.

Firebird + Ubuntu

Запуск firebird 2.5 под Убунтой (16.04):

service firebird2.5-super start

ну или какую другую версию вы выбрали

Каталог для UDF:
/usr/lib/firebird/2.5/UDF
Каталог для конфига:
/etc/firebird/2.5/


Импорт библиотек под Linux

Чтобы можно было слинковать наше приложение или библиотеку с другой - она должна быть в каталоге с соответствующей SDK.
(например, C:\Users\User\Documents\Embarcadero\Studio\SDKs\ubuntu16.04.sdk\)
Так что, боюсь, написание многобиблиотечных приложений под Linux пока будет непростым.


Посмотрим же почему у нас приложения под Linux такие большие:
1) Большой самый основной модуль - System (релизный) - 1280 Кб
причём импортируются всего две бибилотеки:
libicuuc.so
libicui18n.so
Ну и в сам System включается куча всяческих POSIX.XXX модулей

SysInit - 300Кб

Как говорится, во-первых, не было снарядов...

воскресенье, 16 апреля 2017 г.

Delphi + Linux

Один из клиентов пожаловался, что для нашей базы под Firebird нужна UDF, а её нет под линукс.
Решил взяться за это, сделал себе виртуалку, ставлю на неё последнюю KUbuntu 17.04 (наверно, все баги исправлены, все дела))))

Из коробки - подхватился роутер, получил IP
Сайты не открываются.
Ок, прописал гугловский красивый ДНС.
Яндекс открывается, Лазарус открывается, ubuntu.com - нет.

стал рыть,  - ifconfig из коробки нет.
Нашел таки что это какой-то новый механизм разрешения имён:
http://news.softpedia.com/news/ubuntu-16-10-yakkety-yak-switches-to-a-universal-local-dns-resolver-service-504770.shtml
рецепт из  https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320  не помог.

Решил попробовать PAServer от новой дельфи - на OpenSuse x64 42.3 - падает с Segmentation fault из под обычного юзера
из под рута - молча ничего не делает и сразу закрывается.
Так как Embarcadero задекларировали что поддерживают с Ubuntu 16.04 LTS, поставил её.
Однако тут не всё так хорошо - в отличие от Suse, она не берет адрес от роутера (настройки VirtualBox такие же как и у Suse)
Хотя прекрасно пингует и роутер и хост Win8

Оказалось, что Ubuntu не приемлет NAT (который подходит для Suse)  - только сетевой мост.

В итоге, после заведения SDK для Линукса
В процессе которого вы, наверняка, увидите не одно сообщение о дублировании имен файлов, получим такой вот
После того как я скомпилировал и запустил приложение из среды, я...
Ничего не увидел! :)
Видимо, не предусмотрели опций для ввода/вывода из под отладчика.
потому что надо было:
1) Enabling Use launcher application in the Run|Parameters
2) Установить XTerm 

(наверняка можно использовать и другой терминал, если помнять по умолчанию опцию в проекте (раздел Debugger, "Use launcher application") с "/usr/bin/xterm -e "%debuggee%" на что-то другое")

простой пример
program LinuxTest;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, Classes;

var
  s: TStringList;
begin
  try

    { TODO -oUser -cConsole Main : Insert code here }
    s := TStringList.Create;
    try
      s.Add('Проверка!');
      s.SaveToFile('/home/user1/UTF8.txt', TEncoding.UTF8);
      s.SaveToFile('/home/user1/win1251.txt', TEncoding.GetEncoding(1251));
    finally
      s.Free;
    end;
  except

    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
прекрасно создал файлы, который Kate - Advanced Text Editor прекрасно понял и распознал кодировку.

Кстати, а запускается программа под отладку из каталога
/home/user1/PAServer/scratch-dir/User-Ubuntu/LinuxTest
/home/user1/PAServer/ - здесь у меня распакован PAServer

А еще скоро будет семинар - 19 апреля