collect2.exe: error: ld returned 5 exit status
От: D_Tony  
Дата: 10.10.14 11:27
Оценка:
никто и нигде не знает — что это такое.
может тут кто поможет?
образуется в результате попытки сборки одной shared library.
mingw-w64 + msys2 от niXman на winXP

кстати niXman — если читаете — maintenancetool.exe падает с исключением
под адресу бла-бла при простейшем нажатии на кнопку Quit.
И еще — не понятно отчего в проге не заполнены дефол.репозитории, которые
можно использовать для дополнения пакетами установленной msys2.
Re: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 10.10.14 11:29
Оценка:
Здравствуйте, D_Tony, Вы писали:

D_T>никто и нигде не знает — что это такое.

D_T>может тут кто поможет?
D_T>образуется в результате попытки сборки одной shared library.
D_T>mingw-w64 + msys2 от niXman на winXP
как я могу это воспроизвести?

D_T>кстати niXman — если читаете — maintenancetool.exe падает с исключением

D_T>под адресу бла-бла при простейшем нажатии на кнопку Quit.
о чем речь?

D_T>И еще — не понятно отчего в проге не заполнены дефол.репозитории, которые

D_T>можно использовать для дополнения пакетами установленной msys2.
не понял, о чем тут речь...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[2]: collect2.exe: error: ld returned 5 exit status
От: D_Tony  
Дата: 10.10.14 12:01
Оценка:
Здравствуйте, niXman, Вы писали:

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


X>как я могу это воспроизвести?

ну, наверное, если я куда-то положу исходники этой либы, а вы оттуда ее скачаете
и попробуете собрать. Но учтите — подписываете NDA при скачке этой либы, хотя бы
и виртуально!

увы, мне тут подсказали, что ничего такого я сделать не смогу...
хреново. может тогда я могу получить от вас какие-то дебажные версии ld или еще каких-то
компонентов, которые создадут текстовый лог — который помог бы вам понять причину такого
падения... Что интересно — гугл вообще не знает о exit кодах для ld, отличных от 1 и 2.
Откуда эта 5 то идет?

D_T>>кстати niXman — если читаете — maintenancetool.exe падает с исключением

D_T>>под адресу бла-бла при простейшем нажатии на кнопку Quit.
X>о чем речь?
ок. http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/
вы указаны там как разработчик. один из... верно?
после установки msys2 вызывается maintenancetool.exe, утилита, входящая в пакет
этого самого msys2. И т.к. я не понял сходу для чего она — я нажал просто Quit.
Ожидается, что прога просто закроется. А она падает с необработанным исключением.
Потом я пробовал просто самостоятельно запустить этот ехе. И все так же при
простом нажатии на кнопку Quit — прога падала...

D_T>>И еще — не понятно отчего в проге не заполнены дефол.репозитории, которые

D_T>>можно использовать для дополнения пакетами установленной msys2.
X>не понял, о чем тут речь...
Ок, когда я понял, что мне надо более новая версия msys и mingw(потому как предыдущие
тоже падали на сборке этой проклятущей либы) — я попутешествовал по просторам инета
и увидел, что есть новый проект — msys2 и есть новейшая сборка mingw с поддержкой
gcc4.9.1. Ок, надо скачать. Скачал. Поставил. Сперва msys2 — потом в папку mingw32
внутри msys2 распаковал содержимое i686-4.9.1-release-win32-dwarf-rt_v3-rev1.7z.
Запустил msys2_shell.bat и пошел проверять какие компоненты стоят.
Удивился, что нет make. Почитал вики для msys2 — понял, что надо ставить пакеты.
Неудобно/непривычно — ибо раньше всегда это было УЖЕ в составе msys сборки....
Т.к. рядом с msys2_shell.bat увидел maintenancetool.exe — то запустил его. Увидел, что
это тот самый тул, что падал на конечной фазе установке msys2. Понял, что он отвечает за
работу с пакетами в удобной графической форме. Решил, что он имеет все установки по умолчанию,
чтоб можно было поставить make, autoconfig и еще мелочь всякую типа dos2unix, mc, ...
НО оказалось, что прога не знает ни одного репозитория, откуда можно ставить эти пакеты.
Хотя в той же вики для msys2 сказано, что по пути https://github.com/Alexpux/MSYS2-packages
лежат пакеты, доступные для установки. Логично предположить, что maintenancetool.exe УЖЕ
должен был бы знать об этом пути... Но не знает. И ничего не может предложить.
Вот я и пишу, чтоб было бы логично, если бы он знал о таких и еще каких-нить доступных
репозиториях, которые можно было бы использовать в составе сборки msys2.
Отредактировано 10.10.2014 12:07 D_Tony . Предыдущая версия .
Re[3]: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 13.10.14 18:05
Оценка:
Здравствуйте, D_Tony, Вы писали:

D_T>Откуда эта 5 то идет?

хз. нужно код смотреть.

D_T>после установки msys2 вызывается maintenancetool.exe, утилита, входящая в пакет

D_T>этого самого msys2. И т.к. я не понял сходу для чего она — я нажал просто Quit.
D_T>Ожидается, что прога просто закроется. А она падает с необработанным исключением.
D_T>Потом я пробовал просто самостоятельно запустить этот ехе. И все так же при
D_T>простом нажатии на кнопку Quit — прога падала...
не трогайте пока maintenancetool.exe. в состав MSYS2 входит pacman — пакетный менеджер, он работает исправно.

D_T>Ок, когда я понял, что мне надо более новая версия msys и mingw(потому как предыдущие

D_T>тоже падали на сборке этой проклятущей либы) — я попутешествовал по просторам инета
D_T>и увидел, что есть новый проект — msys2 и есть новейшая сборка mingw с поддержкой
D_T>gcc4.9.1. Ок, надо скачать. Скачал. Поставил. Сперва msys2 — потом в папку mingw32
D_T>внутри msys2 распаковал содержимое i686-4.9.1-release-win32-dwarf-rt_v3-rev1.7z.
D_T>Запустил msys2_shell.bat и пошел проверять какие компоненты стоят.
D_T>Удивился, что нет make. Почитал вики для msys2 — понял, что надо ставить пакеты.
D_T>Неудобно/непривычно — ибо раньше всегда это было УЖЕ в составе msys сборки....
так было во времена msys, а мы не имеем к нему никакого отношения. наш проект — MSYS2. просьба не путать.

D_T>Т.к. рядом с msys2_shell.bat увидел maintenancetool.exe — то запустил его. Увидел, что

D_T>это тот самый тул, что падал на конечной фазе установке msys2. Понял, что он отвечает за
D_T>работу с пакетами в удобной графической форме. Решил, что он имеет все установки по умолчанию,
D_T>чтоб можно было поставить make, autoconfig и еще мелочь всякую типа dos2unix, mc, ...
D_T>НО оказалось, что прога не знает ни одного репозитория, откуда можно ставить эти пакеты.
D_T>Хотя в той же вики для msys2 сказано, что по пути https://github.com/Alexpux/MSYS2-packages
D_T>лежат пакеты, доступные для установки. Логично предположить, что maintenancetool.exe УЖЕ
D_T>должен был бы знать об этом пути... Но не знает. И ничего не может предложить.
D_T>Вот я и пишу, чтоб было бы логично, если бы он знал о таких и еще каких-нить доступных
D_T>репозиториях, которые можно было бы использовать в составе сборки msys2.
странно это все.. вы же приводите в пример ссылку MSYS2 wiki, но при этом вы так и не прочли информацию о pacman
и впредь, писать лучше в MSYS2 mailing list, ну, или, в крайнем случае в MSYS2 ussues list on GitHub.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 13.10.2014 18:09 niXman . Предыдущая версия .
Re[4]: collect2.exe: error: ld returned 5 exit status
От: D_Tony  
Дата: 14.10.14 07:31
Оценка:
Здравствуйте, niXman, Вы писали:

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


D_T>>Откуда эта 5 то идет?

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

X>не трогайте пока maintenancetool.exe. в состав MSYS2 входит pacman — пакетный менеджер, он работает исправно.

про него я знаю — и не писал про него — потому что с ним проблем не было, а писал именно про то — что проблемы
содержало.

X>так было во времена msys, а мы не имеем к нему никакого отношения. наш проект — MSYS2. просьба не путать.

я не путаю, но согласитесь, чтото хорошее/приятное/удобное/привычное (нужное подчеркнуть или дописать — по вкусу)
можно же взять, а именно набор — полный набор — утилит/пакетов, которые позволят начать кодить/собирать проекты
с ходу — ЭТО имхо очень хорошо...

X>странно это все.. вы же приводите в пример ссылку MSYS2 wiki, но при этом вы так и не прочли информацию о pacman

X>и впредь, писать лучше в MSYS2 mailing list, ну, или, в крайнем случае в MSYS2 ussues list on GitHub.
да прочел-прочел и т.к. проблем там не было — то и не писал про него, бо там все понтяно и без слов))))....
а запуск, точнее выход из проги maintenancetool.exe приводит — потому то и пишу тут... а не там — ибо задрало
регистрироваться везде и всюду, тока чтобы довести одну какую-то свою мысль до других людей...
ну и, согласитесь, назревает глупейший вопрос — если знаем, что прога "не отрабатывает свой хлеб" — нафига ее
кладем в состав дистрибутива? чтоб на потом была? дык потом и положили бы — когда ее функционал сразу и полностью
заработает...
Re[5]: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 14.10.14 07:40
Оценка:
Здравствуйте, D_Tony, Вы писали:

D_T>ну да, гляньте-ка уж, пожалуйста... уж очень собрать надо либу, а эта хрень все портит...

D_T>и если есть какие советы по вычленению виновника — готов выслушать и выполнить их...
что, ld вообще ничего внятного не говорит?
покажите хотябы полный лог сборки вашей либы, со всеми стадиями(конфигурация/сборка/линковка, если имеются). так, возможно, что-то прояснится...

D_T>я не путаю, но согласитесь, чтото хорошее/приятное/удобное/привычное (нужное подчеркнуть или дописать — по вкусу)

D_T>можно же взять, а именно набор — полный набор — утилит/пакетов, которые позволят начать кодить/собирать проекты
D_T>с ходу — ЭТО имхо очень хорошо...
так в MSYS2 все есть же. чего вам не хватает?

D_T>да прочел-прочел и т.к. проблем там не было — то и не писал про него, бо там все понтяно и без слов))))....

D_T>а запуск, точнее выход из проги maintenancetool.exe приводит — потому то и пишу тут... а не там — ибо задрало
D_T>регистрироваться везде и всюду, тока чтобы довести одну какую-то свою мысль до других людей...
просто там больше людей, скорее ответят.

D_T>ну и, согласитесь, назревает глупейший вопрос — если знаем, что прога "не отрабатывает свой хлеб" — нафига ее

D_T>кладем в состав дистрибутива? чтоб на потом была? дык потом и положили бы — когда ее функционал сразу и полностью
D_T>заработает...
она для тестов, а вы не тестер
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[6]: collect2.exe: error: ld returned 5 exit status
От: D_Tony  
Дата: 14.10.14 08:06
Оценка:
Здравствуйте, niXman, Вы писали:

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


D_T>>ну да, гляньте-ка уж, пожалуйста... уж очень собрать надо либу, а эта хрень все портит...

D_T>>и если есть какие советы по вычленению виновника — готов выслушать и выполнить их...
X>что, ld вообще ничего внятного не говорит?
X>покажите хотя бы полный лог сборки вашей либы, со всеми стадиями(конфигурация/сборка/линковка,
X>если имеются). так, возможно, что-то прояснится...
мммм... ld 100% ничего больше не говорить — единственная ошибка — это заголовок этого топика.
Сборка идет через CMake утилиту. Она генерит правильные мейки для сборки под MSYS систему.
cmake -DCMAKE_INSTALL_PREFIX=./publish -DLIB_SHARED=1 -G "MSYS Makefiles" CMakeLists.txt
И потом, когда запускаешь команду make — она тока пишет, что 1% = все ок, 2% = все ок, 3% ....
и т.д. до 100% компиляции — все ок. Ни одной ошибки-ворнинга... Потом идет линковка этой либы
и все.....
Сами логи мне не дают показать. Да, понимаю — это тупо и хреново... Но, может, хотя бы от обратного
пойти? Все же — когда линковщик хотя бы теоретически (в своих сырцах) выкидывает 5?
P.S. и еще — вы же на какие то определенные моменты в логах хотите поглядеть. Напишите о них, и если
все ок — я выложу их...

D_T>>я не путаю, но согласитесь, чтото хорошее/приятное/удобное/привычное (нужное подчеркнуть или дописать — по вкусу)

D_T>>можно же взять, а именно набор — полный набор — утилит/пакетов, которые позволят начать кодить/собирать проекты
D_T>>с ходу — ЭТО имхо очень хорошо...
X>так в MSYS2 все есть же. чего вам не хватает?
есть все и даже больше — но я просто про единственный момент говорю — не удобно, что минимально необходимейшие пакеты
вроде того же make-autoconfig-mc-dos2unix-zip и т.п. надо ставить. Но ладно, это имхо.

D_T>>ну и, согласитесь, назревает глупейший вопрос — если знаем, что прога "не отрабатывает свой хлеб" — нафига ее

D_T>>кладем в состав дистрибутива? чтоб на потом была? дык потом и положили бы — когда ее функционал сразу и полностью
D_T>>заработает...
X>она для тестов, а вы не тестер
ну тогда разумно в установщике msys2 сделать галочку на последней странице мастера установки, мол, если вы являетесь
тестером офиц. то ставьте галочку. И если чел ее поставил — то этот файл ставиться, а если нет (что по умолчанию и
должно быть) — то не ставиться и никто и не знает, что этот файл существует и падает при попытке выйти
Re[7]: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 14.10.14 08:43
Оценка:
Здравствуйте, D_Tony, Вы писали:

D_T>Сами логи мне не дают показать.

идиоты, что ли? в логах же нет сорцов =)
покажи хотя бы команду линковки.

D_T>минимально необходимейшие пакеты

D_T>вроде того же make-autoconfig-mc-dos2unix-zip и т.п. надо ставить. Но ладно, это имхо.
а для кого-то минимальные пакеты — не эти, а другие. и как быть?

D_T>ну тогда разумно в установщике msys2 сделать галочку на последней странице мастера установки, мол, если вы являетесь

D_T>тестером офиц. то ставьте галочку. И если чел ее поставил — то этот файл ставиться, а если нет (что по умолчанию и
D_T>должно быть) — то не ставиться и никто и не знает, что этот файл существует и падает при попытке выйти
обдумаем...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 14.10.2014 9:14 niXman . Предыдущая версия .
Re[8]: collect2.exe: error: ld returned 5 exit status
От: D_Tony  
Дата: 14.10.14 09:40
Оценка:
Здравствуйте, niXman, Вы писали:

D_T>>Сами логи мне не дают показать.

X>идиоты, что ли? в логах же нет сорцов =)
зато есть имена файлов )))))
X>покажи хотя бы команду линковки.
  команда
lib.dll: <тут список всех зависимых obj>
lib.dll: CMakeFiles/lib.dir/objects1.rsp
    @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Creating shared library lib.dll"
    "/D/CMake 2.8/bin/cmake.exe" -E remove -f CMakeFiles/lib.dir/objects.a
    /D/mingw/4.4.0.1/bin/ar.exe cr CMakeFiles/lib.dir/objects.a @CMakeFiles/lib.dir/objects1.rsp
    /D/mingw/4.4.0.1/bin/g++.exe -shared -o lib.dll -Wl,--out-implib,lib.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -Wl,--whole-archive CMakeFiles/lib.dir/objects.a -Wl,--no-whole-archive 
                                     -lcomdlg32 -lgdi32 -lole32 -luser32 -lwinspool -lkernel32 -luuid -lshell32 -ladvapi32 -loleaut32


D_T>>минимально необходимейшие пакеты

D_T>>вроде того же make-autoconfig-mc-dos2unix-zip и т.п. надо ставить. Но ладно, это имхо.
X>а для кого-то минимальные пакеты — не эти, а другие. и как быть?
в мастере установки создать список с чекбоксами, в котором каждая строчка содержит профиль
установки (минимальные наборы пакетов) для С/С++ программиста, вэб-программиста)) и так далее
по аналогии и т.п.... Люди-тестеровщики помогут в наполнении этих профилей этими минимальными
наборами пакетов... И кто хочет — тот выбирает нужный профиль.
Отредактировано 14.10.2014 9:41 D_Tony . Предыдущая версия .
Re[9]: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 14.10.14 09:43
Оценка:
Здравствуйте, D_Tony, Вы писали:

D_T>зато есть имена файлов )))))

о да! это же утечка информации!

покажи вывод команды '/D/mingw/4.4.0.1/bin/g++ -v'

D_T>в мастере установки создать список с чекбоксами, в котором каждая строчка содержит профиль

D_T>установки (минимальные наборы пакетов) для С/С++ программиста, вэб-программиста)) и так далее
D_T>по аналогии и т.п.... Люди-тестеровщики помогут в наполнении этих профилей этими минимальными
D_T>наборами пакетов... И кто хочет — тот выбирает нужный профиль.
это в процессе...

и еще, дай плиз ссылку на скачанный тобою инсталлятор, после использования которого ты обнаружил у себя maintenancetool.exe
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[10]: collect2.exe: error: ld returned 5 exit status
От: D_Tony  
Дата: 14.10.14 10:10
Оценка:
Здравствуйте, niXman, Вы писали:

X>покажи вывод команды '/D/mingw/4.4.0.1/bin/g++ -v'

Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --disable-sjlj-exceptions --enable-shared --enable-libg
cj --enable-libgomp --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --with-gmp=
/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
Thread model: win32
gcc version 4.4.0 (GCC)

насчет этого компилятора — я щаз показал его — просто потому, что нам надо, по идее, только в нем надо было бы собирать эту либу.
но, как я писал ранее я пробовал собирать и в вашей сборке i686-4.9.1-release-win32-dwarf-rt_v3-rev1.7z
скачанной по пути http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/
результат вывода ни на йоту не отличается от того, что я писал ранее. Ни последовательность вывода, ни его содержимое. Ни команда
линковки. Ни-че-го. Даже вывод ошибки в 5 еxit кодом — не отличается))))

X>и еще, дай плиз ссылку на скачанный тобою инсталлятор, после использования которого ты обнаружил у себя maintenancetool.exe

http://sourceforge.net/projects/msys2/files/Base/i686/msys2-i686-20141003.exe/download
Re[11]: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 14.10.14 10:16
Оценка:
Здравствуйте, D_Tony, Вы писали:

без возможности воспроизвести ситуацию, я ничем более помочь не могу.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[12]: collect2.exe: error: ld returned 5 exit status
От: niXman Ниоткуда https://github.com/niXman
Дата: 14.10.14 10:17
Оценка:
а тем, кто тебе запрещает скидывать сорцы, предложи два варианта:
1. платят деньги + дают удаленный доступ к машине на которой я могу это проверить.
2. платят деньги + скидывают сорцы. я сам все соберу и пофикшу. и объясню — что, и почему.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.