Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows port #271

Open
1alebra2 opened this issue May 31, 2019 · 18 comments
Open

Windows port #271

1alebra2 opened this issue May 31, 2019 · 18 comments

Comments

@1alebra2
Copy link

Just an update:
The momentaneous issue is that antsrtransform2.cpp yields too big an obj file (20 MB). This will not be linked. I boiled this file down to smallest unit which still compiles, and this ends up with 17 MB. And this won't be linked either due to size limitations of the Rtools (Windows)linker (version 3.5), I cheated the rtools chain by changing the linker to the msys2 linker, but this does not make any difference, whereby this linker seems to be faster.
So I am stuck.
Either we find another linker which can handle this or the code is rewritten (what means distributed on different files, which results in smaller objects). Generally developers really should look to keep the code handy, otherwise we will always run into this problem with new code ( at least for a win-version). In the last version antstransform2.cpp ( of about a year ago) was no problem.
In essence antsrTransform2.cpp needs to be split up somehow, if we want a windows port

@1alebra2
Copy link
Author

1alebra2 commented Jun 9, 2019

Hello everybody

Another update

I finally could build an antsrcore.dll outside the regular building routine. I had to slice up antsrtransform2.cpp into smaller code chunks etc. and then the build worked - no functional tests yet. I then wanted to implement this into the configure.win in order to achieve a regular build. I got stuck with the build of ResampleImage.exe, which was no problem with the earlier antrscore versions. The linker hangs and does not do anything, Stopping it produces a lot of undefined references and vtable errors. I will add this to the end of my mail.
The main issue with the windows port is that the linker simply freezes when the obj. files are beyond 15 MB in size. Sometimes it doesn't even work with smaller sizes (14MB). I thought that this happens only when creating a dll, however this is obviously a general problem, -also exe files. The issue hereby is something like "the hen egg problem". Vtable issues are due to (faulty-missing) declarations of virtual and pure functions etc. (I am no specialist in this) - so this could be a code related issue. On the other hand I don't know if this ocurrence is related to the size of the obj file in general (smaller junks do work) or this is just by chance, as the big objects have a lot function declarations and they get mixed up?
So my plea is to look at the vtable issue which somehow is related to classes bspline-Gaussian etc. both files that do not work contain references to these classes. Is there anything wrong with function definitions?
If this is not the case I see a continuous windows port in creating a package comparable to the linux version as difficult. This would mean a major reorganisation of the files and the file structure.
resampleimage.txt
have a nice Sunday

@muschellij2
Copy link
Collaborator

muschellij2 commented Jun 9, 2019 via email

@1alebra2
Copy link
Author

1alebra2 commented Jun 11, 2019 via email

@tuxxon
Copy link

tuxxon commented Jul 23, 2019

Can you share your windows port?

@1alebra2
Copy link
Author

1alebra2 commented Jul 24, 2019 via email

@1alebra2
Copy link
Author

1alebra2 commented Jul 30, 2019 via email

@tuxxon
Copy link

tuxxon commented Jul 30, 2019

Can you send your work to me tuxxon at nate.com?

@tuxxon
Copy link

tuxxon commented Jul 30, 2019

Of course my account gordon.ahn at gmail.com for dropbox.com

@1alebra2
Copy link
Author

1alebra2 commented Oct 8, 2019 via email

@tuxxon
Copy link

tuxxon commented Oct 8, 2019

Of course, Thank you for helping me. I want to close this issue, but I have no privilege.

@1alebra2
Copy link
Author

1alebra2 commented Oct 8, 2019 via email

@dorianps
Copy link
Collaborator

dorianps commented Oct 8, 2019 via email

@muschellij2
Copy link
Collaborator

muschellij2 commented Oct 8, 2019 via email

@dorianps
Copy link
Collaborator

dorianps commented Oct 8, 2019

@muschellij2 , no I haven't, and compiling applications in Windows or R isn't really my cup of tea. It would need some considerable time on my side and I don't have that for now. But if @1alebra2 has found a way to compile and build a full package (ITK, ANTs, ANTsRCore, ANTsR), maybe we can place the binary installation as a release to give an installation shortcut to Windows users.

The other solution for Windows is the use of docker images, which could be much more dynamic, but to be honest haven't tried yet the docker image @stnava built. The time dedicated to software these days for me is slim.

@muschellij2
Copy link
Collaborator

muschellij2 commented Oct 8, 2019 via email

@dorianps
Copy link
Collaborator

dorianps commented Oct 8, 2019

I was under the impression that a Windows built was already available, albeit from 1-year old code. I was just curious to try it out, but other than that we are back at square one and perhaps docker is the way to go for Windows users.

@muratmaga
Copy link

I am also interested in seeing ANTsR in Windows natively, not just for myself but for all the people we train 3D Morphometrics in biology. Unfortunately, my contribution can only be limited to testing, and reporting. So, if you can tell me what it needs to be done, we might be able to come it with an alternative? What exactly is needed? Programmers time? Funding? Someone familiar with windows development?

@1alebra2
Copy link
Author

1alebra2 commented Nov 3, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants