Re: Контейнеры и кросс-компиляция
On Thu, Jun 25, 2015 at 01:49:33PM +0300, Andrey Tataranovich wrote: On Thu, 25 Jun 2015 10:23:32 +0300 Vladimir Zhbanov vzhba...@gmail.com wrote: Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Попробуйте schroot. Прост в настройке и вполне достаточен для отката к wheezy. Собственно вопрос тот же, что и для chroot: а с другим (более старым) ядром там можно работать параллельно с ядром основной системы? Просто у меня на работе всего одна машина, и я на ней ещё и работаю иногда :) -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625120608.GB8231@localhost.localdomain
Re: Контейнеры и кросс-компиляция
25.06.2015 14:58, Vladimir Zhbanov пишет: On Thu, Jun 25, 2015 at 10:36:04AM +0300, Mikhail A Antonov wrote: 25.06.2015 10:23, Vladimir Zhbanov пишет: Здравствуйте. Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Зависит от того что делает программа. Может тебе хватит debootstrap и chroot. Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема в том, что guile создаёт объектный код в своём собственном формате, и эти объектные файлы потом используются как есть для кросс-компиляции. Она содержит свой собственный компилятор, который должен выводить одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня поломалась после обновления. И я пока подозреваю, что проблема в библиотеках mingw, но вполне допускаю, что где-то глубже, может быть даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под Windows guile необходимо сначала скомпилировать с абсолютно той же версией в Linux, чтоб она выдавала правильный объектный код. Вот такая, блин, зависимость. Создавать себе окружение и отлаживать всё это в Windows мне не улыбается. Я от неё устал ещё лет 15 как тому. Я это всё, собственно, к чему: если я правильно ничего не понимаю, chroot использует именно то ядро, которое уже загружено, а мне может понадобиться другое. Тогда удобнее всего будет виртуалбокс с гуём. Можно повозиться с всякими libvirt и их virt-manager, но мне они не понравились. Тебе нужна полноценная виртуальная машина. Всё контейнерное использует одно ядро и на систему и все контейнеры. -- Best regards, Mikhail - WWW: http://www.antmix.ru/ XMPP: ant...@stopicq.ru signature.asc Description: OpenPGP digital signature
Re: Контейнеры и кросс-компиляция
On Thu, 25 Jun 2015 10:23:32 +0300 Vladimir Zhbanov vzhba...@gmail.com wrote: Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Попробуйте schroot. Прост в настройке и вполне достаточен для отката к wheezy. -- WBR, Andrey Tataranovich -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625134933.1b11ccac@dragoncore.local
Re: Контейнеры и кросс-компиляция
On Thu, Jun 25, 2015 at 10:36:04AM +0300, Mikhail A Antonov wrote: 25.06.2015 10:23, Vladimir Zhbanov пишет: Здравствуйте. Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Зависит от того что делает программа. Может тебе хватит debootstrap и chroot. Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема в том, что guile создаёт объектный код в своём собственном формате, и эти объектные файлы потом используются как есть для кросс-компиляции. Она содержит свой собственный компилятор, который должен выводить одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня поломалась после обновления. И я пока подозреваю, что проблема в библиотеках mingw, но вполне допускаю, что где-то глубже, может быть даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под Windows guile необходимо сначала скомпилировать с абсолютно той же версией в Linux, чтоб она выдавала правильный объектный код. Вот такая, блин, зависимость. Создавать себе окружение и отлаживать всё это в Windows мне не улыбается. Я от неё устал ещё лет 15 как тому. Я это всё, собственно, к чему: если я правильно ничего не понимаю, chroot использует именно то ядро, которое уже загружено, а мне может понадобиться другое. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625115832.GA8231@localhost.localdomain
Re: Контейнеры и кросс-компиляция
On Thu, Jun 25, 2015 at 03:18:57PM +0300, Eugene Berdnikov wrote: On Thu, Jun 25, 2015 at 02:58:32PM +0300, Vladimir Zhbanov wrote: Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема в том, что guile создаёт объектный код в своём собственном формате, и эти объектные файлы потом используются как есть для кросс-компиляции. Она содержит свой собственный компилятор, который должен выводить одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня поломалась после обновления. И я пока подозреваю, что проблема в библиотеках mingw, но вполне допускаю, что где-то глубже, может быть даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под В библиотеках -- да, могут быть критичные изменения, а вот вероятность того, что на результат как-то влияет ядро (кроме зависимостей) близка к абсолютному нулю. Так что запуск полноценной ВМ вряд ли оправдан. IMHO, здесь должно хватить простого chroot'а. Вот-вот, их-то, зависимости, я и имел в виду, когда говорил о ядре. Поскольку у меня система почти всегда stable/testing с чуть-чуть или сразу много testing. И я сразу прыгнул с ядра 3.2.x на 4.0.x. Соответственно, думаю, оно что-то могло потянуть за собой. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625123421.GD8231@localhost.localdomain
Re: Контейнеры и кросс-компиляция
On Thu, 25 Jun 2015 15:06:08 +0300 Vladimir Zhbanov vzhba...@gmail.com wrote: Собственно вопрос тот же, что и для chroot: а с другим (более старым) ядром там можно работать параллельно с ядром основной системы? Просто у меня на работе всего одна машина, и я на ней ещё и работаю иногда :) Вам не нужно старое ядро в chroot. Поднимите в schroot окружение wheezy и оно будет нормально работать с ядром из jessie. У меня как раз так и работало. -- WBR, Andrey Tataranovich -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625165132.40432871@dragoncore.local
Re: Контейнеры и кросс-компиляция
On Thu, Jun 25, 2015 at 02:58:32PM +0300, Vladimir Zhbanov wrote: Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема в том, что guile создаёт объектный код в своём собственном формате, и эти объектные файлы потом используются как есть для кросс-компиляции. Она содержит свой собственный компилятор, который должен выводить одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня поломалась после обновления. И я пока подозреваю, что проблема в библиотеках mingw, но вполне допускаю, что где-то глубже, может быть даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под В библиотеках -- да, могут быть критичные изменения, а вот вероятность того, что на результат как-то влияет ядро (кроме зависимостей) близка к абсолютному нулю. Так что запуск полноценной ВМ вряд ли оправдан. IMHO, здесь должно хватить простого chroot'а. -- Eugene Berdnikov -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625121857.gp15...@protva.ru
Re: Контейнеры и кросс-компиляция
В сообщении от [Чт 2015-06-25 15:16 +0300] Vladimir Zhbanov vzhba...@gmail.com пишет: Ubuntu ставить мне некуда на работе. Я так понимаю, в Debian это docker.io? Если да, то вот что пишет 'apt-cache show docker.io': ... Using docker.io on non-amd64 hosts is not supported at this time. Please be careful when using it on anything besides amd64. ... Это правда? А то у меня всего одна i686. Видимо да, только 64-bit, но по вашим ответам я понял, что вам нужно ещё и ядро, тогда докер вам не подходит, потому что он контейнер для приложений, а вам нужен контейнер для операционной системы. В этом случае используйте debootstrap и не забудьте установить нужное ядро. Для jessie systemd-nspawn -bD ~/debian-tree/ Для wheezy (там ещё не было systemd по умолчанию). systemd-nspawn -D ~/debian-tree/ /sbin/init То есть вы можете загрузить внутри контейнера полноценную ОС, а не одну единственную оболочку как в chroot [1]. [1] http://lexpr.ru/node/504 -- http://google.com/+РусланКоротаев -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625134311.GA1920@debian
Re: Контейнеры и кросс-компиляция
On Thu, Jun 25, 2015 at 02:49:11PM +0500, Руслан Коротаев wrote: В сообщении от [Чт 2015-06-25 10:23 +0300] Vladimir Zhbanov vzhba...@gmail.com пишет: Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Вам подойдет docker, если не хотите возится с настройкой, то попробуйте Ubuntu Snappy, там всё заточено под docker. Ubuntu ставить мне некуда на работе. Я так понимаю, в Debian это docker.io? Если да, то вот что пишет 'apt-cache show docker.io': ... Using docker.io on non-amd64 hosts is not supported at this time. Please be careful when using it on anything besides amd64. ... Это правда? А то у меня всего одна i686. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625121650.GC8231@localhost.localdomain
Re: Контейнеры и кросс-компиляция
25.06.2015 16:43, Руслан Коротаев пишет: В сообщении от [Чт 2015-06-25 15:16 +0300] Vladimir Zhbanov vzhba...@gmail.com пишет: Ubuntu ставить мне некуда на работе. Я так понимаю, в Debian это docker.io? Если да, то вот что пишет 'apt-cache show docker.io': ... Using docker.io on non-amd64 hosts is not supported at this time. Please be careful when using it on anything besides amd64. ... Это правда? А то у меня всего одна i686. Видимо да, только 64-bit, но по вашим ответам я понял, что вам нужно ещё и ядро, тогда докер вам не подходит, потому что он контейнер для приложений, а вам нужен контейнер для операционной системы. В этом случае используйте debootstrap и не забудьте установить нужное ядро Не важно установишь ли ты ядро или нет. Ядро будет использоваться то, которое использует корневая ОС. В случае если само по себе ядро не нужно, а нужны только библиотеки - обычного chroot хватит. Все остальные контейнеры - это продвинутые версии chroot. На один-два раза я бы сделал chroot и ничего бы не читал. Чаще/больше - настроил бы schroot на нужные мне операции. А докер это вообще надстройка над lxc. А сам по себе lxc без проблем заводится на i686. -- Best regards, Mikhail - WWW: http://www.antmix.ru/ XMPP: ant...@stopicq.ru signature.asc Description: OpenPGP digital signature
Re: Контейнеры и кросс-компиляция
В сообщении от [Чт 2015-06-25 17:01 +0300] Mikhail A Antonov mikh...@antfam.ru пишет: Не важно установишь ли ты ядро или нет. Ядро будет использоваться то, которое использует корневая ОС. Да, вы правы, нужно было написать не ядро, а архитектуру. Но в нашем примере, если я правильно понял, нужно воссоздать окружение для сборки или компиляции на основе debian wheezy 32-bit, на хосте с jessie 32-bit. Можно использовать chroot, можно virtualbox, а можно в контейнере, тем более systemd-nspawn идет «из коробки». Кому как удобнее. -- http://google.com/+РусланКоротаев -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625160833.GA3486@debian
Re: Контейнеры и кросс-компиляция
25.06.2015 19:08, Руслан Коротаев пишет: В сообщении от [Чт 2015-06-25 17:01 +0300] Mikhail A Antonov mikh...@antfam.ru пишет: Не важно установишь ли ты ядро или нет. Ядро будет использоваться то, которое использует корневая ОС. Да, вы правы, нужно было написать не ядро, а архитектуру. Но в нашем примере, если я правильно понял, нужно воссоздать окружение для сборки или компиляции на основе debian wheezy 32-bit, на хосте с jessie 32-bit. Можно использовать chroot, можно virtualbox, а можно в контейнере, тем более systemd-nspawn идет «из коробки». Кому как удобнее. Да, всё верно. Я сторонник отсутствия systemd на своих машинах и из коробки его лучше выкинуть. Но это кому как удобнее. -- Best regards, Mikhail - WWW: http://www.antmix.ru/ XMPP: ant...@stopicq.ru signature.asc Description: OpenPGP digital signature
Контейнеры и кросс-компиляция
Здравствуйте. Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625072332.GA12061@localhost.localdomain
Re: Контейнеры и кросс-компиляция
25.06.2015 10:23, Vladimir Zhbanov пишет: Здравствуйте. Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Зависит от того что делает программа. Может тебе хватит debootstrap и chroot. -- Best regards, Mikhail - WWW: http://www.antmix.ru/ XMPP: ant...@stopicq.ru signature.asc Description: OpenPGP digital signature
Re: Контейнеры и кросс-компиляция
В сообщении от [Чт 2015-06-25 10:23 +0300] Vladimir Zhbanov vzhba...@gmail.com пишет: Возникла у меня проблема: обновился до jessy и сломалась MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что чего поломало, не получилось. Вот решил попробовать засунуть wheezy в контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не хотелось бы, обламывали уже в самый неподходящий момент. Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без чтения тонны документации? Вам подойдет docker, если не хотите возится с настройкой, то попробуйте Ubuntu Snappy, там всё заточено под docker. Запустите Snappy локально в KVM или в облаке [1]: $ kvm -m 512 -redir :8090::80 -redir :8022::22 ubuntu-15.04-snappy-amd64-generic.img $ ssh -p 8022 ubuntu@localhost Установите docker [2]: $ sudo snappy install docker Запустите контейнер с wheezy: $ docker run -t -i debian:wheezy /bin/bash Тоже самое можно сделать через debootstrap и systemd-nspawn (в мане есть пример), но у докера есть свой репозиторий с образами (Docker Hub), там вы можете найти специальный образ под вашу задачу или решить задачу самому, а потом создать образ и поделится с другими. Это не так сложно, достаточно прочитать несколько первых страниц руководства [3], оно того стоит. [1] https://developer.ubuntu.com/en/snappy/start/ [2] https://developer.ubuntu.com/en/snappy/tutorials/using-snappy/ [3] https://docs.docker.com/userguide/ -- http://google.com/+РусланКоротаев -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150625094911.GA2022@debian