Re[22]: Сборки MinGW(GCC-win32/win64) от niXman
От: alex_public  
Дата: 25.06.13 09:40
Оценка:
Здравствуйте, niXman, Вы писали:

X>так это известная проблема. правда, пока не вникал, почему она существует...

X>если есть желание полечить — велкам.

Насколько я понимаю там не какие-то баги, а тупо отсутствие нужного кода. А C библиотека просто напрямую эксплуатирует Microsoft рантайм. Использовать же её в C++ коде они не смогли (ну оно и понятно, там глобальное состояние).

Но вот само отсутствие кода выглядит странно, т.к. например в том же STLPort он есть. Да и вообще там ничего умного нет. Архитектура то полностью определена стандартом и данные культур/языков тоже не могут отличаться, так что программируется там всё в основном множественным копипастом.

X>всего однажды приходилось использовать локали, и использовал — boost.locale. не потому, что std::locale не работает, а потому что дока к boost.locale оказалась понятней.

X>и да, дело было в линуксе.

Ну в линухе то icu вроде обычно есть... А под виндой у меня буст без неё собран. Да и под линухом можно было спокойно без буста — он там нужен уже разве что для дополнительных (относительно стадарта C++) фич.
Re[17]: Сборки MinGW(GCC-win32/win64) от niXman
От: Lucky Cat  
Дата: 25.06.13 12:11
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Lucky Cat,


X>не могли бы вы резюмировать суть проблемы? а то я, честно говоря, запутался %)

X>спасибо.

Резюмирую.

Запускаю оболочку с настроенными на MinGW путями.
Захожу в папку wxWidgets\build\msw.
Запускаю команду mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release
На выходе куча сообщений "Cannot get section contents — auto-import exception"
собранная статически с ключем monolithic=1 либа не может использоваться,
так как линкер при компоновке wx проги с статической либой выдает точно такую
же ошибку, что и при сборке динамической либы. Это проверял на 4.9.0 только.

gcc_mswudll\coredll_msw_textentry.o:textentry.cpp.rdata$_ZTI21wxTextCompleterS
imple[_ZTI21wxTextCompleterSimple]+0x1628e9ce3c012c0): Cannot get section conten
ts — auto-import exception
gcc_mswudll\coredll_msw_textentry.o:textentry.cpp.rdata$_ZTI20wxTextCompleterF
ixed[_ZTI20wxTextCompleterFixed]+0x58a3a738f004aa0): Cannot get section contents
— auto-import exception
gcc_mswudll\coredll_msw_textentry.o:textentry.cpp.rdata$_ZTI11IEnumString[_ZTI
11IEnumString]+0x58a3a738f004a850): Cannot get section contents — auto-import ex
ception
gcc_mswudll\coredll_msw_textentry.o:textentry.cpp.rdata$_ZTI13wxIEnumString[_Z
TI13wxIEnumString]+0x1d39c7802541b930): Cannot get section contents — auto-impor
t exception
gcc_mswudll\coredll_msw_textentry.o:textentry.cpp.rdata$_ZTI20wxEventFunctorMe
thodI14wxEventTypeTagI10wxKeyEventE22wxTextAutoCompleteDataS1_S3_E[_ZTI20wxEvent
FunctorMethodI14wxEventTypeTagI10wxKeyEventE22wxTextAutoCompleteDataS1_S3_E]+0x3
a738f004a837240): Cannot get section contents — auto-import exception
d:/gcc/gcc64_4.9.0/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../../../../x86_64-w6
4-mingw32/bin/ld.exe: gcc_mswudll\coredll_msw_textentry.o: bad reloc address 0x1
0 in section `.data'
Re[18]: Сборки MinGW(GCC-win32/win64) от niXman
От: Lucky Cat  
Дата: 25.06.13 12:22
Оценка:
Здравствуйте, Lucky Cat, Вы писали:

LC>Здравствуйте, niXman, Вы писали:


X>>Здравствуйте, Lucky Cat,


X>>не могли бы вы резюмировать суть проблемы? а то я, честно говоря, запутался %)

X>>спасибо.

LC>Резюмирую.


Вопрос прояснился несколько.
http://forums.wxwidgets.org/viewtopic.php?f=19&t=37278
http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00006.html
http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00007.html
http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00009.html

"Ждем ебилды"
Re[19]: Сборки MinGW(GCC-win32/win64) от niXman
От: alex_public  
Дата: 25.06.13 12:57
Оценка:
Здравствуйте, Lucky Cat, Вы писали:

LC>Вопрос прояснился несколько.

LC>http://forums.wxwidgets.org/viewtopic.php?f=19&t=37278
LC>http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00006.html
LC>http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00007.html
LC>http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00009.html

LC>"Ждем ебилды"


Ааа это. А я уже давно у себя в wxWidgets поправил. )
Re[20]: Сборки MinGW(GCC-win32/win64) от niXman
От: Lucky Cat  
Дата: 26.06.13 04:10
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, Lucky Cat, Вы писали:


LC>>Вопрос прояснился несколько.

LC>>http://forums.wxwidgets.org/viewtopic.php?f=19&t=37278
LC>>http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00006.html
LC>>http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00007.html
LC>>http://lists.gnu.org/archive/html/mingw-cross-env-list/2013-04/msg00009.html

LC>>"Ждем ебилды"


_>Ааа это. А я уже давно у себя в wxWidgets поправил. )


А патч не засылали виджетоводам?
И если не секрет, как правили?
Re[21]: Сборки MinGW(GCC-win32/win64) от niXman
От: alex_public  
Дата: 26.06.13 12:20
Оценка:
Здравствуйте, Lucky Cat, Вы писали:

LC>А патч не засылали виджетоводам?


Нет, там было костыльное (хотя и корректное технически) решение. Просто что бы убрать проблему, не разбираясь с истоками возникновения.

LC>И если не секрет, как правили?


Закомментировал #include <initguid.h> в textentry.cpp. Ну и соответственно переправил объявление двух GUID'ов определённых в этом файле в вариант без макроса.
Re: Сборки MinGW(GCC-win32/win64) от niXman
От: Аноним  
Дата: 01.07.13 15:36
Оценка:
есть вопросы))

первое — скачал ваш offline установщик — а он Cannot download repository.
Проверил ручками — да нет — можно этот файл скачать. Виден и доступен он.
Собсно из-за этого получилось, что я не смог увидеть КАК выглядит установщик
(его шаги). Но сразу хочется попросить — чтоб в местах, где вы предлагаете выбор
версии_ОС/разрядности/модели_потоков/реализации_исключений/ревизии
давать ссылку на страницу вашего проекта — где бы два странных пункта, а именно:
модели_потоков/реализации_исключений были бы прояснены. Чтото типа микроВИКИ
для этого. Чтоб в одном месте любой начинающий мог прочесть что это за звери.

Но к делу — итак, мне пришлось качать весь архив самому. Ну не страшно — сделал.
Распаковал в корень D:\ диска. Зашел внутрь и опешил. Раньше всегда в дистрибе
mingw папка bin ярко выделялась))) А щаз там ярко выделяется папка i686-w64-mingw32
А зачем? откуда вообще бла_w64_бла там болтается — ведь я качал строго 32битную версию.
И главное! внутри это папки тоже есть bin/ include/ lib/ папки! Как так? Да и
файлы bin папки совпадают побайтно с файлами из bin папки с корня установки.
Теперь в PATH переменную надо вносить 6 путей? три bin/ include/ lib/ папки из
корня установки и еще 3 bin/ include/ lib/ папки из подпапки i686-w64-mingw32.
Так? А если нет — то чего же в readme каком-нить простеньком не описать процедуру
ручного установления Mingw в систему....
Надеюсь хотя бы установщик автоматом эту проблему решает.

Еще не понял, отчего нет даже намека на MSYS. Где и как его брать теперь?
Вы планируете и для него offline установщик?
Re[2]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.07.13 16:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>есть вопросы))


А>первое — скачал ваш offline установщик — а он Cannot download repository.

А>Проверил ручками — да нет — можно этот файл скачать. Виден и доступен он.
вы не первый, кто сообщил об этой ошибке. разбираемся...

А>сразу хочется попросить — чтоб в местах, где вы предлагаете выбор

А>версии_ОС/разрядности/модели_потоков/реализации_исключений/ревизии
А>давать ссылку на страницу вашего проекта — где бы два странных пункта, а именно:
А>модели_потоков/реализации_исключений были бы прояснены. Чтото типа микроВИКИ
А>для этого. Чтоб в одном месте любой начинающий мог прочесть что это за звери.
принято.

А>Раньше всегда в дистрибе

А>mingw папка bin ярко выделялась))) А щаз там ярко выделяется папка i686-w64-mingw32
укажите ссылку на архив который скачали, и покажите список каталогов после распаковки архива.

А>откуда вообще бла_w64_бла там болтается — ведь я качал строго 32битную версию.

'w64' — это отличительный "маркер" API & CRT используемых для сборки тулчейна.
в данный момент, существует две версии API & CRT: 1) 32ух битная, предоставляемая проектом mingw.org(https://sourceforge.net/projects/mingw), и 32ух-64ех битная, предоставляемая проектом mingw-w64(https://sourceforge.net/projects/mingw-w64). mingw-builds для своих сборок использует только вторую.

А>И главное! внутри это папки тоже есть bin/ include/ lib/ папки! Как так? Да и

А>файлы bin папки совпадают побайтно с файлами из bin папки с корня установки.
тут, я не уверен, что правильно вас понял... %)

А>Теперь в PATH переменную надо вносить 6 путей? три bin/ include/ lib/ папки из

А>корня установки и еще 3 bin/ include/ lib/ папки из подпапки i686-w64-mingw32.

А>Так?

нет. в меню "Пуск" есть ярлык, устанавливающий переменную PATH.

А>А если нет — то чего же в readme каком-нить простеньком не описать процедуру

А>ручного установления Mingw в систему....
скажу по правде — тут, вроде как, все очевидно. по крайней мере, вы первый кто об этом спросил, за два года существования проекта.

А>Надеюсь хотя бы установщик автоматом эту проблему решает.


А>Еще не понял, отчего нет даже намека на MSYS. Где и как его брать теперь?

MSYS тут: https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
выбирайте архив с максимальным номером ревизии.

А>Вы планируете и для него offline установщик?

для MSYS?
но у нас нет вообще ни для чего offline установщика..
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[3]: Сборки MinGW(GCC-win32/win64) от niXman
От: Аноним  
Дата: 01.07.13 16:50
Оценка:
Здравствуйте, niXman, Вы писали:

А>>Раньше всегда в дистрибе

А>>mingw папка bin ярко выделялась))) А щаз там ярко выделяется папка i686-w64-mingw32
X>укажите ссылку на архив который скачали, и покажите список каталогов после распаковки архива.

http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-win32/dwarf/x32-4.8.1-release-win32-dwarf-rev1.7z/download
mingw32\bin
mingw32\etc
mingw32\i686-w64-mingw32
mingw32\include
mingw32\lib
mingw32\libexec
mingw32\licenses
mingw32\opt
mingw32\share

А>>откуда вообще бла_w64_бла там болтается — ведь я качал строго 32битную версию.

X>'w64' — это отличительный "маркер" API & CRT используемых для сборки тулчейна.
X>в данный момент, существует две версии API & CRT: 1) 32ух битная, предоставляемая проектом mingw.org(https://sourceforge.net/projects/mingw), и
32ух-64ех битная, предоставляемая проектом mingw-w64(https://sourceforge.net/projects/mingw-w64). mingw-builds для своих сборок использует только вторую.

Т.е. эта папка стопудово должна быть в папке установки и ее нельзя не вкладывать в установочный архив?
Что такого она в себе содержит то?

А>>И главное! внутри это папки тоже есть bin/ include/ lib/ папки! Как так? Да и

А>>файлы bin папки совпадают побайтно с файлами из bin папки с корня установки.
X>тут, я не уверен, что правильно вас понял... %)

содержимое mingw32\i686-w64-mingw32\bin побайтно совпадает с содержимым mingw32\bin

А>>Теперь в PATH переменную надо вносить 6 путей? три bin/ include/ lib/ папки из

А>>корня установки и еще 3 bin/ include/ lib/ папки из подпапки i686-w64-mingw32. Так?
X>нет. в меню "Пуск" есть ярлык, устанавливающий переменную PATH.

Я не смог запустить установщик — так что никаких ярлыков нигде нет.
Какие пути тогда писать? mingw32\bin и только? include/ lib/ подпапки не нужны?
mingw32\i686-w64-mingw32\ или ее подпапки bin/ include/ lib/ не нужны?

А>>А если нет — то чего же в readme каком-нить простеньком не описать процедуру

А>>ручного установления Mingw в систему....
X>скажу по правде — тут, вроде как, все очевидно. по крайней мере, вы первый кто об этом спросил, за два года существования проекта.

Ну вот, что был и последний — лучше это описать.....
А>>Надеюсь хотя бы установщик автоматом эту проблему решает.

А>>Еще не понял, отчего нет даже намека на MSYS. Где и как его брать теперь?

X>MSYS тут: https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
X>выбирайте архив с максимальным номером ревизии.

А>>Вы планируете и для него offline установщик?

X>для MSYS? но у нас нет вообще ни для чего offline установщика..
Я ошибся в слове — он у вас online конечно же... Короче для MSYS не будет. И гарантии, что он будет работать с вашей сборкой
выходит тоже нет. Может запуститься и будет работать — а может скажет, что несовместимые версии библиотек и капут...
Re[4]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.07.13 17:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>mingw32\bin

А>mingw32\etc
А>mingw32\i686-w64-mingw32
А>mingw32\include
А>mingw32\lib
А>mingw32\libexec
А>mingw32\licenses
А>mingw32\opt
А>mingw32\share
тут, 'mingw32' — это корень тулчейна. вам, если хотите прописать в PATH, нужно прописать путь к 'mingw32/bin' директории.

А>Т.е. эта папка стопудово должна быть в папке установки и ее нельзя не вкладывать в установочный архив?

все верно.

А>Что такого она в себе содержит то?

хидеры API & CRT, и библиотеки.

А>содержимое mingw32\i686-w64-mingw32\bin побайтно совпадает с содержимым mingw32\bin

долго объяснять. попробуйте переименовать эту директорию, и поймете, что она нужно и именно под таким именем.

А>Я не смог запустить установщик — так что никаких ярлыков нигде нет.

да-да)

А>Какие пути тогда писать? mingw32\bin и только?

да.

А>include/ lib/ подпапки не нужны?

не нужны.

А>mingw32\i686-w64-mingw32\ или ее подпапки bin/ include/ lib/ не нужны?

не нужны.

А>для MSYS не будет

пока — нет.

А>И гарантии, что он будет работать с вашей сборкой выходит тоже нет.

какой гарантии? что MSYS будет работать со сборками mingw-builds?

А>Может запуститься и будет работать — а может скажет, что несовместимые версии библиотек и капут...

MSYS — просто эмулятор POSIX среды. ему mingw вообще не нужен.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[3]: Сборки MinGW(GCC-win32/win64) от niXman
От: Lucky Cat  
Дата: 02.07.13 04:35
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Аноним, Вы писали:


А>>есть вопросы))


А>>первое — скачал ваш offline установщик — а он Cannot download repository.

А>>Проверил ручками — да нет — можно этот файл скачать. Виден и доступен он.
X>вы не первый, кто сообщил об этой ошибке. разбираемся...

Вы это, прежде чем разбираться выясните от какого провайдера инет у качальщика.
У меня дома, с NetByNet все работает, а на работе, у заказчика, сидим через йотовский свисток,
так не только ваш, MinGWовский и TDMный веб инсталлер не работает.
В общем, когда пров много народу с одного айпишника выпускает в интернеты, бывают разные странные траблы.
Срабатывает на хостинге какая-нить защита от ботов и адью.
Re[4]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 02.07.13 06:35
Оценка:
Здравствуйте, Lucky Cat, Вы писали:

LC>Вы это, прежде чем разбираться выясните от какого провайдера инет у качальщика.

до сих пор, об этой проблеме сообщали англоговорящие юзеры...
да и я особо не понимаю, какая разница какой провайдер...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[5]: Сборки MinGW(GCC-win32/win64) от niXman
От: Lucky Cat  
Дата: 02.07.13 07:25
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Lucky Cat, Вы писали:


LC>>Вы это, прежде чем разбираться выясните от какого провайдера инет у качальщика.

X>до сих пор, об этой проблеме сообщали англоговорящие юзеры...

В принципе, если в вебинсталлер добавить сбор инфы, например с какого айпи запросил файл
и какой ответ от сервера пришел, когда загрузка не прощла, то можно было бы точно причину определить.

X>да и я особо не понимаю, какая разница какой провайдер...


Разница существенная, такие провы, как йота, пускают всех клиентов с небольшого пула
адресов, для сервера ито выглядит как куча запросов с одного айпишника и часто
срабатывает защита от ДДОС-атак. Когда же запрос идет от броузера, то в запросе
указывается допинформация, которая позволяет развеять подозрения, почему с одного
АйПишника стопитсотый раз пытаются файлик скачать.

В общем с йоты много какие вебинсталлеры не хотят работать, а вот с пчелайна или нетбайнета, все нормально работает.
Re[6]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 02.07.13 07:34
Оценка:
Здравствуйте, Lucky Cat, Вы писали:

LC>В принципе, если в вебинсталлер добавить сбор инфы, например с какого айпи запросил файл

LC>и какой ответ от сервера пришел, когда загрузка не прощла, то можно было бы точно причину определить.
этим и занимаюсь.

LC>Разница существенная, такие провы, как йота, пускают всех клиентов с небольшого пула

LC>адресов, для сервера ито выглядит как куча запросов с одного айпишника и часто
LC>срабатывает защита от ДДОС-атак.
вариант однако...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[18]: Сборки MinGW(GCC-win32/win64) от niXman
От: alex_public  
Дата: 03.07.13 19:11
Оценка:
Здравствуйте, niXman, Вы писали:

X>популярность MinGW-builds растет, и кол-во пользователей тоже.

X>в связи с этим, есть желание переименовать MinGW-builds в нечто более осмысленное и запустить для него отдельный сайт.
X>предлагайте.

X>благодарен.


Да, кстати, а вот что напрягает даже больше локалей (их всё же можно поправить тем же бустом&icu и т.п.), так это кривой линкер. Он например не может слинковать файлы от masm'a, что довольно напряжно для многих библиотек. Причём такое ощущение что там дело всего лишь в одном лишнем подчёрке в именах функций... Ну а может это только часть проблемы. )))
Re[19]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 03.07.13 19:13
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Он например не может слинковать файлы от masm'a

зачем masm, когда есть gas? оО
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[19]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 03.07.13 19:15
Оценка:
Здравствуйте, alex_public, Вы писали:

_>напряжно для многих библиотек.

перечислите, пожалуйста.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[20]: Сборки MinGW(GCC-win32/win64) от niXman
От: alex_public  
Дата: 03.07.13 21:17
Оценка:
Здравствуйте, niXman, Вы писали:

X>зачем masm, когда есть gas? оО


Ну например кто-то (из авторов библиотек) пишет что не собираются поддерживать более одного компилятора на платформу. А masm — это официальный (и бесплатный) виндовый ассемблер.
Re[21]: Сборки MinGW(GCC-win32/win64) от niXman
От: niXman Ниоткуда https://github.com/niXman
Дата: 03.07.13 21:20
Оценка:
Здравствуйте, alex_public, Вы писали:

_>masm — это официальный (и бесплатный) виндовый ассемблер.

и еще штук эдак *надцать. и какой из них официальнее?

к тому же — MinGW/GCC — GNU. какой программист пользователь GNU тулчейна, станет писать для masm, когда это чуждое средство. есть же родной и уютный gas.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[20]: Сборки MinGW(GCC-win32/win64) от niXman
От: alex_public  
Дата: 03.07.13 21:25
Оценка:
Здравствуйте, niXman, Вы писали:

X>перечислите, пожалуйста.


Например Boost.Context — уже довольно важная вещь... Правда существует патч (как раз gas вариант кода) для неё, что бы собрать в MinGW, но он не входит в официальную поставку.

И ещё где-то не так давно натыкался. То ли в portaudio, то ли в sdl.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.