Здравствуйте, CRT, Вы писали:
CRT>Я просто адаптировал под WINE. (Было несколько моментов из-за которых не работало под вайном)
Запустил вчера свое приложение под WINE. Как не странно но заработало (у меня .Net Framework 4.5.2).
Но тупо падает и закрывается при некоторых действиях. Как искать причину непонятно.
CRT>>Я просто адаптировал под WINE. (Было несколько моментов из-за которых не работало под вайном) NW>Запустил вчера свое приложение под WINE. Как не странно но заработало (у меня .Net Framework 4.5.2). NW>Но тупо падает и закрывается при некоторых действиях. Как искать причину непонятно.
Его надо из консоли запускать, тогда он будет писать туда ошибки.
Правда, он туда кучу всего пишет, но понять можно.
Здравствуйте, CRT, Вы писали:
CRT>Его надо из консоли запускать, тогда он будет писать туда ошибки. CRT>Правда, он туда кучу всего пишет, но понять можно.
Я из консоли и запускаю, но он только одну строку неинформативную выдает при вылете.
Думал может где еще есть более детальный лог.
NW>Я из консоли и запускаю, но он только одну строку неинформативную выдает при вылете. NW>Думал может где еще есть более детальный лог.
У меня просто поток разных сообщений туда пишет. У меня были проблемы, что не все параметры некоторых API поддерживались, и он прямо туда об этом написал. Но у меня C++, WinAPI. Как с .NET — не знаю. Другая проблема была не связанна непосредственно с WINE — это был мой баг, но проявлялся он именно в WINE.
Может есть специальные параметры для более детального лога. А вообще, своя отладка, свои логи должны помочь понять, на какой именно строке кода валится программа.
Здравствуйте, Unhandled_Exception, Вы писали:
U_E>Всем привет,
U_E>Конечно, это может быть ошибкой писать именно в этот раздел, но тем не менее.
U_E>Пользователи уговорили портировать продукт на linux. Начал разработку в убунте, дело вроде идет.
U_E>Смущает только один момент. Как я понимаю, нельзя просто так собрать бинарники, чтобы они везде работали. Как же быть?
U_E>Хочу спросить коллег, кто продает продукты под linux, с какими проблемами столкнулись, как собираете бинарники?
U_E>Спасибо!
Берешь свой бинарник your-bin-name, запускаешь команду
ldd your-bin-name
получаешь список библиотек.
Копируешь все эти библиотеки в отдельный каталог (подразумевается что там лежит и your-bin-name) .
Запускаешь на каждую библиотеку ту же команду, смотрришь их зависимости, копируешь зависимости туда же. Повторять процесс пока новых библиотек не будет выявляться. libc.so.* скорее всего можно не копировать
Пишешь враппер на bash под названием run-my-bin.sh и кладешь ее в тот отдельный каталог
#!/bin/sh
cd "`dirname $0`"
curdir="`pwd`"
export LD_LIBRARY_PATH="${curdir}`:${LD_LIBRARY_PATH}"
exec ./your-bin-name
и заставляешь юзеров пускать run-my-bin.sh вместо your-bin-name
Если библиотекам не нужно никаких конфигов и файлов с данными (шрифты и тд) то все будет запускаться на любом линуксе с любой версией libc
Здравствуйте, Anton Batenev, Вы писали:
AB>Здравствуйте, Masterspline, Вы писали:
M>> Кроме того, libc нельзя линковать статически
AB>Можно через `gcc -static`. Можно использовать musl в качестве заменителя glibc, но будет медленнее процентов на 10.
Ага, и тогда придется выпускать свое приложение под GPL и публиковать свой исходный код всем кто получает бинарник твоего приложения
Здравствуйте, vladrsdn, Вы писали:
v> AB>Здравствуйте, Masterspline, Вы писали: v> M>> Кроме того, libc нельзя линковать статически v> AB>Можно через `gcc -static`. Можно использовать musl в качестве заменителя glibc, но будет медленнее процентов на 10. v> Ага, и тогда придется выпускать свое приложение под GPL и публиковать свой исходный код всем кто получает бинарник твоего приложения
a) musl под MIT лицензией
б) нет ничего страшного в предоставлении исходного кода.
Здравствуйте, Anton Batenev, Вы писали:
AB>Здравствуйте, Unhandled_Exception, Вы писали:
UE>> Смущает только один момент. Как я понимаю, нельзя просто так собрать бинарники, чтобы они везде работали. Как же быть?
AB> * Распространять в исходниках (самый правильный вариант).
А есть какой-нибудь пример, когда шаровара, сделанная одним-двумя людьми, распространяется в исходниках, и кто-то за это платит?
Здравствуйте, Sharowarsheg, Вы писали:
S>Здравствуйте, Anton Batenev, Вы писали:
AB>>Здравствуйте, Unhandled_Exception, Вы писали:
UE>>> Смущает только один момент. Как я понимаю, нельзя просто так собрать бинарники, чтобы они везде работали. Как же быть?
AB>> * Распространять в исходниках (самый правильный вариант).
S>А есть какой-нибудь пример, когда шаровара, сделанная одним-двумя людьми, распространяется в исходниках, и кто-то за это платит?
Тут вот чувак говорит, что лимон баксов в год в одно рыло делает
Здравствуйте, Евгений Акиньшин, Вы писали:
S>>А есть какой-нибудь пример, когда шаровара, сделанная одним-двумя людьми, распространяется в исходниках, и кто-то за это платит?
ЕА>Тут вот чувак говорит, что лимон баксов в год в одно рыло делает
ЕА>https://www.indiehackers.com/podcast/016-mike-perham-of-sidekiq
О, прикольно. Это B2B, насколько я понимаю, но тем не менее.
Я только читаю тут его лицензии, и что-то в них нигде не написано, что он продаёт это вместе с исходниками. Поскольку я в вёбе (или что вообще это у него?), ни уха ни рыла, может кто-нибудь найдёт что-нибудь определённое?
В лицензионном соглашении написано, что бесплатная версия под LGPL, а про платные написано стандартное "запрещается декомпиляция, модификация, и всё такое".
Просто собирай статически на самом старом ядре, которое собираешься поддерживать и всё прекрасно будет работать. Обратная совместимость у линукса идеальная.
Здравствуйте, Sharowarsheg, Вы писали:
S>Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>>Тут вот чувак говорит, что лимон баксов в год в одно рыло делает
ЕА>>https://www.indiehackers.com/podcast/016-mike-perham-of-sidekiq
S>Я только читаю тут его лицензии, и что-то в них нигде не написано, что он продаёт это вместе с исходниками. Поскольку я в вёбе (или что вообще это у него?), ни уха ни рыла, может кто-нибудь найдёт что-нибудь определённое?
S>В лицензионном соглашении написано, что бесплатная версия под LGPL, а про платные написано стандартное "запрещается декомпиляция, модификация, и всё такое".
Не разбирался, чего там у него.
Другой пример, который я знаю хорошо — компоненты под .net и delphi. Большую часть можно купить с исходниками.
Много лет занимался .net компонентами, никогда из-за этого проблем не было.