Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

cygwin
http://mcu-bg.com/mcu_site/viewtopic.php?f=14&t=10699
Страница 1 от 1

Автор:  Цецо [ Сря Ное 14, 2012 6:48 pm ]
Заглавие:  cygwin

Някой има ли опит с това?

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

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

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

Автор:  woody [ Сря Ное 14, 2012 7:55 pm ]
Заглавие:  Re: cygwin

Едно от последните две, предполагам.

Автор:  loser [ Сря Ное 14, 2012 9:07 pm ]
Заглавие:  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 10:31 pm ]
Заглавие:  Re: cygwin

Добре де, ако се ползва найтив уиндоус тулчеин ама пуснат под цивгвин, какво променя това по отношение на символни линкове и пътищата? Той нейтив тулчейна така или иначе не ги разбира тия неща, дали ще го извикам под цигвин или не, какво значение има?

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

Автор:  loser [ Сря Ное 14, 2012 10:45 pm ]
Заглавие:  Re: cygwin

прав си... няма логика да се решат проблемите със символните връзки от туземния за виндовс инструментариум; явно остава варианта да пробваш или готов инструментариум за цигвин, или да си компилираш (ягартото, ако ползваш него, не би трябвало да е проблем да бъде компилирано)

Автор:  miro_atc [ Сря Ное 14, 2012 11:50 pm ]
Заглавие:  Re: cygwin

Аз доколкото знам нейтив означава да е компилиран за и да се изпълнява директно в съответния ос. Не разбирам как хем ще е нейтив, хем под цигвин.

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

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

Автор:  Цецо [ Чет Ное 15, 2012 10:40 am ]
Заглавие:  Re: cygwin

Миро, той в другата тема колега ме възпря за сега от нута. Като цяло харесва ми системата, аз успях вече да я изтъркалям в линукса. Подкарах J-link - а, т.е. имам с какво да пиша в чипа. Т.е. проблема с cygwin-a вече не стои пред мен. Ако стане някак си под уиндоус ще съм доволен, ако не ще си се търкаля под линукс.

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

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/