{"action":"closed","issue":{"url":"https://api.github.com/repos/radare/radare2/issues/3728","repository_url":"https://api.github.com/repos/radare/radare2","labels_url":"https://api.github.com/repos/radare/radare2/issues/3728/labels{/name}","comments_url":"https://api.github.com/repos/radare/radare2/issues/3728/comments","events_url":"https://api.github.com/repos/radare/radare2/issues/3728/events","html_url":"https://github.com/radare/radare2/issues/3728","id":118223197,"number":3728,"title":"Windows fails to create symbolic links during symstall target","user":{"login":"cr1901","id":6418027,"avatar_url":"https://avatars.githubusercontent.com/u/6418027?v=3","gravatar_id":"","url":"https://api.github.com/users/cr1901","html_url":"https://github.com/cr1901","followers_url":"https://api.github.com/users/cr1901/followers","following_url":"https://api.github.com/users/cr1901/following{/other_user}","gists_url":"https://api.github.com/users/cr1901/gists{/gist_id}","starred_url":"https://api.github.com/users/cr1901/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cr1901/subscriptions","organizations_url":"https://api.github.com/users/cr1901/orgs","repos_url":"https://api.github.com/users/cr1901/repos","events_url":"https://api.github.com/users/cr1901/events{/privacy}","received_events_url":"https://api.github.com/users/cr1901/received_events","type":"User","site_admin":false},"labels":[{"id":8289060,"url":"https://api.github.com/repos/radare/radare2/labels/bug","name":"bug","color":"fc2929","default":true},{"id":271408211,"url":"https://api.github.com/repos/radare/radare2/labels/buildsystem","name":"buildsystem","color":"ff82e0","default":false},{"id":95667251,"url":"https://api.github.com/repos/radare/radare2/labels/easy","name":"easy","color":"fbca04","default":false},{"id":8289062,"url":"https://api.github.com/repos/radare/radare2/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":127132581,"url":"https://api.github.com/repos/radare/radare2/labels/Windows","name":"Windows","color":"eb6420","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/radare/radare2/milestones/16","html_url":"https://github.com/radare/radare2/milestones/1.1.0","labels_url":"https://api.github.com/repos/radare/radare2/milestones/16/labels","id":2032452,"number":16,"title":"1.1.0","description":"","creator":{"login":"radare","id":917142,"avatar_url":"https://avatars.githubusercontent.com/u/917142?v=3","gravatar_id":"","url":"https://api.github.com/users/radare","html_url":"https://github.com/radare","followers_url":"https://api.github.com/users/radare/followers","following_url":"https://api.github.com/users/radare/following{/other_user}","gists_url":"https://api.github.com/users/radare/gists{/gist_id}","starred_url":"https://api.github.com/users/radare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radare/subscriptions","organizations_url":"https://api.github.com/users/radare/orgs","repos_url":"https://api.github.com/users/radare/repos","events_url":"https://api.github.com/users/radare/events{/privacy}","received_events_url":"https://api.github.com/users/radare/received_events","type":"User","site_admin":false},"open_issues":202,"closed_issues":7,"state":"open","created_at":"2016-09-27T16:21:25Z","updated_at":"2016-11-07T11:10:56Z","due_on":"2016-12-19T00:00:00Z","closed_at":null},"comments":7,"created_at":"2015-11-21T21:53:09Z","updated_at":"2016-11-07T11:10:56Z","closed_at":"2016-11-07T11:10:56Z","body":"To duplicate, open a terminal using MSYS2 (Specifically the Mingw-w64 Win32 Shell), clone the repo as of commit 94089be, and run `sys/install.sh /mingw32`. radare2 will build fine, but will not successfully install all binaries and libraries, resulting in a broken install. There are no paths in my target install path, which leads me to believe that the symbolic link creation is failing in a more subtle way.\n\nNote that MSYS2 technically does support NTFS symbolic links, but this is not the default, and I'm assuming it would be rare for someone to have this functionality enabled.\n\n```\nLD r2agent.exe\nmkdir -p \"/mingw32/share/man/man1\"\ncd man && for FILE in *.1 ; do \\\n        ln -fs \"/home/William/src/radare2/man/$FILE\" \"/mingw32/share/man/man1/$FILE\" ; done\ncd \"/mingw32/share/man/man1\" && ln -fs radare2.1 r2.1\n/usr/bin/install -d \"/mingw32/share/doc/radare2\"\ncd doc ; for FILE in * ; do \\\n        ln -fs \"/home/William/src/radare2/doc/$FILE\" \"/mingw32/share/doc/radare2\" ; done\nln: ‘/mingw32/share/doc/radare2/3D’: cannot overwrite directory\nln: ‘/mingw32/share/doc/radare2/node.js’: cannot overwrite directory\nln: ‘/mingw32/share/doc/radare2/pdb’: cannot overwrite directory\nln: ‘/mingw32/share/doc/radare2/sandbox’: cannot overwrite directory\ncd pkgcfg ; for FILE in *.pc ; do \\\n        ln -fs \"${PWD}/$FILE\" \"/mingw32/lib/pkgconfig/$FILE\" ; done\nrm -rf \"/mingw32/share/radare2/0.10.0-git/www\"\nrm -rf \"/mingw32/lib/radare2/0.10.0-git/www\" # old dir\nmkdir -p \"/mingw32/share/radare2/0.10.0-git/www\"\ncd \"/mingw32/share/radare2/0.10.0-git/www\" ; \\\n        for FILE in \"/home/William/src/radare2/shlr/www/\"* ; do \\\n                ln -fs \"$FILE\" \"/mingw32/share/radare2/0.10.0-git/www\" ; done\ncd libr && gmake install-symlink\ngmake[1]: Entering directory '/home/William/src/radare2/libr'\nmkdir -p \"/mingw32/bin\" \\\n        \"/mingw32/include\" \\\n        \"/mingw32/lib/pkgconfig\" \\\n        \"/mingw32/lib/radare2/0.10.0-git\"\nrm -rf \"/mingw32/include/libr\" && ln -fs \"/home/William/src/radare2/libr/include\" \"/mingw32/include/libr\"\ncd ../pkgcfg && for FILE in *.pc ; do \\\n        if [ -e \"/home/William/src/radare2/libr/../pkgcfg/${FILE}\" ] ; then \\\n                ln -fs \"/home/William/src/radare2/libr/../pkgcfg/${FILE}\" \\\n                        \"/mingw32/lib/pkgconfig/${FILE}\" ; \\\n        fi ; \\\ndone\nln: failed to create symbolic link ‘/mingw32/lib/libr_util.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_hash.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_reg.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_cons.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_db.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_magic.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_bp.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_search.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_config.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_socket.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_syscall.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_lang.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_io.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_crypto.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_flags.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_fs.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_anal.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_bin.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_parse.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_asm.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_debug.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_egg.lib’: No such file or directory\nln: failed to create symbolic link ‘/mingw32/lib/libr_core.lib’: No such file or directory\ncd \"/mingw32/lib/radare2\" ; rm -f last ; ln -fs \"0.10.0-git\" last\ngmake[1]: Leaving directory '/home/William/src/radare2/libr'\ncd binr && gmake install-symlink\ngmake[1]: Entering directory '/home/William/src/radare2/binr'\nmkdir -p \"/mingw32/bin\"\nfor BINARY in rax2 rasm2 rabin2 rahash2 radiff2 radare2 rafind2 rarun2 ragg2 r2agent ; do ln -fs \"/home/William/src/radare2/binr/$BINARY/$BINARY\" \"/mingw32/bin/$BINARY\" ; done\nln -fs \"/home/William/src/radare2/binr/ragg2/ragg2-cc\" \"/mingw32/bin/ragg2-cc\"\nln -fs \"/home/William/src/radare2/binr/r2pm/r2pm\" \"/mingw32/bin/r2pm\"\nrm -rf \"/mingw32/share/radare2/0.10.0-git/r2pm\"\nmkdir -p \"/mingw32/share/radare2/0.10.0-git/\"\nln -fs \"/home/William/src/radare2/binr/r2pm/d\" \"/mingw32/share/radare2/0.10.0-git/r2pm\"\nln -fs \"/mingw32/bin/radare2\" \"/mingw32/bin/r2\"\nln -fs \"/home/William/src/radare2/binr/preload/libr2.dll\" \"/mingw32/lib/libr2.dll\"\ncd \"/mingw32/lib\" && \\\n        mv libr2.dll libr2.dll.0.10.0-git && \\\n        ln -fs libr2.dll.0.10.0-git libr2.dll\ngmake[1]: Leaving directory '/home/William/src/radare2/binr'\ncd shlr && gmake install-symlink\ngmake[1]: Entering directory '/home/William/src/radare2/shlr'\nmkdir -p \"/mingw32/lib\"\n#cd tcc ; for FILE in libr_tcc* ; do \\\n#       ln -fs `pwd`/$FILE /mingw32/lib/$FILE ; done\ngmake[1]: Leaving directory '/home/William/src/radare2/shlr'\nfor DIR in libr/cons/d libr/bin/d libr/asm/d libr/syscall/d libr/magic/d libr/anal/d ; do (\\\n        cd \"$DIR\" ; \\\n        echo \"$DIR\" ; \\\n        gmake install-symlink ); \\\ndone\nlibr/cons/d\ngmake[1]: Entering directory '/home/William/src/radare2/libr/cons/d'\nmkdir -p \"/mingw32/share/radare2/0.10.0-git/cons\"\nfor FILE in * ; do \\\n        if [ $FILE != Makefile ]; then \\\n                ln -fs \"/home/William/src/radare2/libr/cons/d/$FILE\" \"/mingw32/share/radare2/0.10.0-git/cons/$FILE\" ; \\\n        fi ; \\\ndone\ngmake[1]: Leaving directory '/home/William/src/radare2/libr/cons/d'\nlibr/bin/d\ngmake[1]: Entering directory '/home/William/src/radare2/libr/bin/d'\nmkdir -p \"/mingw32/share/radare2/0.10.0-git/format\"\nfor FILE in * ; do \\\n        if [ \"$FILE\" != Makefile ]; then \\\n                ln -fs \"/home/William/src/radare2/libr/bin/d/$FILE\" \"/mingw32/share/radare2/0.10.0-git/format/$FILE\" ; \\\n        fi ; \\\ndone\nln: ‘/mingw32/share/radare2/0.10.0-git/format/dll/dll’: cannot overwrite directory\ngmake[1]: Leaving directory '/home/William/src/radare2/libr/bin/d'\nlibr/asm/d\ngmake[1]: Entering directory '/home/William/src/radare2/libr/asm/d'\nmkdir -p \"/mingw32/lib/radare2/0.10.0-git/opcodes\"\nfor FILE in *.sdb ; do ln -fs \"/home/William/src/radare2/libr/asm/d/$FILE\" \"/mingw32/lib/radare2/0.10.0-git/opcodes/$FILE\" ; done\ngmake[1]: Leaving directory '/home/William/src/radare2/libr/asm/d'\nlibr/syscall/d\ngmake[1]: Entering directory '/home/William/src/radare2/libr/syscall/d'\nmkdir -p \"/mingw32/lib/radare2/0.10.0-git/syscall\"\nfor FILE in *.sdb ; do ln -fs \"/home/William/src/radare2/libr/syscall/d/$FILE\" \"/mingw32/lib/radare2/0.10.0-git/syscall/$FILE\" ; done\ngmake[1]: Leaving directory '/home/William/src/radare2/libr/syscall/d'\nlibr/magic/d\ngmake[1]: Entering directory '/home/William/src/radare2/libr/magic/d'\nmkdir -p \"/mingw32/lib/radare2/0.10.0-git/magic\"\ncd default ; for FILE in * ; do ln -fs \"/home/William/src/radare2/libr/magic/d/default/$FILE\" \\\n        \"/mingw32/lib/radare2/0.10.0-git/magic/$FILE\" ; done\ngmake[1]: Leaving directory '/home/William/src/radare2/libr/magic/d'\nlibr/anal/d\ngmake[1]: Entering directory '/home/William/src/radare2/libr/anal/d'\nmkdir -p \"/mingw32/lib/radare2/0.10.0-git/fcnsign\"\nfor FILE in *.sdb ; do ln -fs \"/home/William/src/radare2/libr/anal/d/$FILE\" \"/mingw32/lib/radare2/0.10.0-git/fcnsign/$FILE\" ; done\ngmake[1]: Leaving directory '/home/William/src/radare2/libr/anal/d'\nmkdir -p \"/mingw32/lib/radare2/0.10.0-git/hud\"\ncd \"/mingw32/lib/radare2/\" ;\\\n        rm -f last ; ln -fs 0.10.0-git last\nrm: cannot remove ‘last’: Is a directory\nln: failed to create symbolic link ‘last/0.10.0-git’: No such file or directory\nMakefile:190: recipe for target 'symstall' failed\ngmake: *** [symstall] Error 1\n\nWilliam@William-THINK MINGW32 ~/src/radare2\n$ make symstall\n```\n"}}
{"actor":{"display_login":"radare"}}