Отговори на тема  [ 7 мнения ] 
cygwin 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение cygwin
Някой има ли опит с това?

Въпроса ми е следния. Имам Nuttx, компилацията на, която минава гладко само под Linux. Обяснението е в символните линкове и пътищата с които нейтив тулчейните под Уиндоус не можели да се справят. Пише обаче, че ставало под Цигвин.

На мен обаче тоя Цигвин ми е малко тъмен. Тулчейна и целия проект явно ще трябва да ги напъхам вътре във въпросния цигвин и там да се компилира. Еклипса ще си се търкаля под бозата, ама пишат, че нямал проблем да се интерфейсне с цигвина.

Изначало обаче не ми е ясно, тулчейна който трябва да сложа във цигвина какъв трябва да е? Линукския, Найтив за бозата или някакъв компилиран специално за Цигвин?

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Ное 14, 2012 6:48 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение Re: cygwin
Едно от последните две, предполагам.


Сря Ное 14, 2012 7:55 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение Re: cygwin
допреди 2-3 години ползвах доста цигвин; трябваше да правя някои неща, като трябваше да се местя между две машини - едната само с линукс, другата само с windows; цигвин-ът ми решаваше проблема, защото компилациите минаваха без никакви промени по сорсовете - и в линукса, и в цигвин-а; доколкото помня, същината на цигвина е един dll - cygwin1.dll - който представлява прехващач и емулатор на системните извиквания на линукс; пример - windows няма fork() системно извикване, cygwin.dll го емулира; mingw runtime библиотеките, например, също нямат fork(); това значи, че някои програми първоначално писани с идеята да работят под линукс, ще се компилират и работят под цигвин, а с mingw изобщо няма да се компилират; доколкото схванах - идеята на цигвина е да могат да се компилират и вървят програми писани за линукс - без никакви промени по сорсовете (изключения са само програми, които са писани много непреносимо, и ползват някои много специфични за линукс особености); като резултат - много пакети за линукс могат да се компилират без промени по сорсовете под цигвин, а под mingw, примерно, изобщо не се компилират - примери за такива програми, които помня, са - X сървъра, midnight commander

@Цецо - за символните връзки - не съм се сблъсквал с такива проблеми, но ако си прочел, че за твоя случай нещата работят, най-вероятно е така; на страницата на цигвин пише - линукски двоични файлове не могат да се изпълняват директо под цигвин; при всички положения е нужна прекомпилация, защото цигвинът доста прилича на, но не е виртуална машина; ако си изтеглиш сорсовете на toolchain-а, който ползваш, би трябвало да може да го компилираш безпроблемно така, все едно го компилираш под и за линукс (configure - make - make install) - в този случай изпълнимите файлове се свързват с, и използват по време на изпълнение псевдо-линукс ядрото cygwin1.dll; ако обаче имаш някакъв виндовски инструментариум (напр. ягарто) - той също би трябвало да работи - в този случай просто не се ползва cygwin1.dll, и може би точно там възникват твоите проблеми със символните връзки, които може би cygwin1.dll разрешава

накратко - подобно на каквото woody казва - според мен и двете последни предположения би трябвало да работят; в такава хибридна конфигурация, обаче, човек трябва да е нащрек за проблеми при евентуални съвпадения на имената на изпълнимите файлове за едната (цигвин) или другата (windows native build) конфигурации; полезна в тези случаи е командата which (msys и цигвин я имат) - напр. 'which gcc' - отпечатва кой точно изпълним файл 'gcc' се стартира по подразбиране; ако резултатът не съвпада с очакваното, възможни решения са, например, промяна на подредбата на системните пътища за търсене на изпълними файлове (променлива на обкръжението %PATH% във виндовс, или задаване на абсолютен път на изпълнимия файл (напр. 'p:/mingw32-i386-gcc-4.6.3/bin/gcc' вместо само 'gcc')

извинявам се за дългото съобщение


Сря Ное 14, 2012 9:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: cygwin
Добре де, ако се ползва найтив уиндоус тулчеин ама пуснат под цивгвин, какво променя това по отношение на символни линкове и пътищата? Той нейтив тулчейна така или иначе не ги разбира тия неща, дали ще го извикам под цигвин или не, какво значение има?

Айде с тулчейн компилиран под цигвин... ми звучи логично. Логично ми звучеше да тръгне и линукския тулчеин под цигвин, ама явно само на мен ми звучи така :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Ное 14, 2012 10:31 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение Re: cygwin
прав си... няма логика да се решат проблемите със символните връзки от туземния за виндовс инструментариум; явно остава варианта да пробваш или готов инструментариум за цигвин, или да си компилираш (ягартото, ако ползваш него, не би трябвало да е проблем да бъде компилирано)


Сря Ное 14, 2012 10:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: cygwin
Аз доколкото знам нейтив означава да е компилиран за и да се изпълнява директно в съответния ос. Не разбирам как хем ще е нейтив, хем под цигвин.

Цецо, ако питаш мен стой далеко от цигвин. Дори и да го подкараш, ще ти скъса нервите. Аз съм със свестен компютър i7, линукс на който уж гцц трябва да фърчи и пак отнема минути прекомпилация. Хем и моя ос е 2-3 пъти по малък. Под виндос и още повече под цигвин ще откачиш.

Не съм разглеждал подробно хер нута, ама предполагам проблема е в конфигурацията. Самата компилация трябва да си е чисто гцц и трябва да става и линукс и с виндовс (естествено нейтив и двете).
Ако искаш да запазиш оригиналния подход, по-добре карай под линукс. Ти вече май имаш такава, ползвай я и не се занимавай с глупости. Ако все пак държиш на бозата, виж дали няма да можеш да разделиш конфигурацията от компилацията. Демек make config от make all. Първото да го изпълняваш под цигвин, второто нейтив. Дано да не са направили хипер сложен конфиг само...
Между другото не искам да те подкокоросвам, ама на твое място бих им теглил една майна на конфигурациите. За техния ОС има смисъл, обаче ти няма да го ползваш за 15 платформи. Мога да ти покажа как се правят конфогурации и без извънземни тулове. Просто за всяка конфигурация си правиш един мк-файл и да настроиш където има условни компилации. Далеч по-просто и разбираемо става и най-вече върви на всякакви платформи и всякакви тулчейнове. Утре ще погледна сорсовете им, но мисля че ще се прехвърлят без проблем. Доколкото съм ги разглеждал не ползват трикове като в еСоs, но и да ползват ще измислим нещо..


Сря Ное 14, 2012 11:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: cygwin
Миро, той в другата тема колега ме възпря за сега от нута. Като цяло харесва ми системата, аз успях вече да я изтъркалям в линукса. Подкарах J-link - а, т.е. имам с какво да пиша в чипа. Т.е. проблема с cygwin-a вече не стои пред мен. Ако стане някак си под уиндоус ще съм доволен, ако не ще си се търкаля под линукс.

Ама за нута ще пиша в другата тема.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Ное 15, 2012 10:40 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 7 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни