Git Product home page Git Product logo

Comments (25)

jcfr avatar jcfr commented on June 6, 2024 2

The build completed on linux, macOS and Windows. This is confirmed by the dashboard (it only reports a failure to upload and no build error) and also by running the build on the build machine:

For example, here is the output running the windows build locally:

image

the extensions server is getting overloaded

To clarify, our monitoring confirm this, I have been getting message from our nagios probe and as a short term solution, I just asked our sysadmin to increase the memory associated with the server.

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024 2

@jcnils @kevin-why the extension should now be available on all platforms: http://slicer.cdash.org/index.php?project=SlicerPreview&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=radiomics

from slicerradiomics.

kevin-why avatar kevin-why commented on June 6, 2024 1

I couldn't find the Radiomics in the 3D Slicer extensions manager either,( in windows),is there another way to package the extension and install the extension from file? or the bug has been fixed ?

from slicerradiomics.

pieper avatar pieper commented on June 6, 2024

There are some unresolved build issues currently on windows, but it is available for linux and mac, in case that helps.

http://slicer.cdash.org/viewBuildError.php?buildid=1417242

from slicerradiomics.

jcnils avatar jcnils commented on June 6, 2024

Thank you @pieper, linux might help for now.
I will boot linux while keeping an eye for updates, the lab where the researchers use 3D Slicer is windows only :(

from slicerradiomics.

pieper avatar pieper commented on June 6, 2024

@fedorov @JoostJM @jcfr Any ideas about why SlicerRadiomics build is failing on windows?

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024

I don't know. I took a look, but I could not see how it could be broken from inside Radiomics, and I don't know how to investigate whether something is wrong with the dashboard.

I split the earlier discussion on discourse into this thread: https://discourse.slicer.org/t/radiomics-extension-build-errors-on-windows/4616

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024

@jcnils I am reopening this, since the underlying issue has not been resolved.

from slicerradiomics.

JoostJM avatar JoostJM commented on June 6, 2024

@pieper, I just took a quick look at it, and it appears to be that it is unable to build PyWavelets (_dwt.pyd is part of PyWavelets). I will investigate, but I think we may be able to fix this by using a specific PyWavelets version.

from slicerradiomics.

pieper avatar pieper commented on June 6, 2024

Thanks for investigating @JoostJM - I hope using a specific version of PyWavelets solves the problem.

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024

Right, the question remains why pywavelets stopped building. In any case, using a fixed version of pywavelets makes a lot of sense.

from slicerradiomics.

lassoan avatar lassoan commented on June 6, 2024

There might be an incompatibility with numpy version?

1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:/D/N/Slicer-0-build/python-install\libs /LIBPATH:C:/D/N/Slicer-0-build/python-install\PCbuild\amd64 /LIBPATH:C:/D/N/Slicer-0-build/python-install\PC\VS9.0\amd64 /LIBPATH:build\temp.win-amd64-2.7 c_wt.lib c_wt.lib /EXPORT:init_pywt build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.obj /OUT:build\lib.win-amd64-2.7\pywt_extensions_pywt.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.pyd.manifest
1>_pywt.obj : warning LNK4197: export 'init_pywt' specified multiple times; using first specification
1> Creating library build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.lib and object build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.exp
1> building 'pywt._extensions._dwt' extension
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DPY_EXTENSION -Ipywt_extensions\c -IC:\D\N\Slicer-0-build\python-install\lib\site-packages\numpy-1.13.1-py2.7-win-amd64.egg\numpy\core\include -IC:\D\N\Slicer-0-build\python-install\include -IC:/D/N/Slicer-0-build/python-install\PC /Tcpywt_extensions_dwt.c /Fobuild\temp.win-amd64-2.7\Release\pywt_extensions_dwt.obj
1> _dwt.c
1>c:\d\n\slicer-0-build\python-install\lib\site-packages\numpy-1.13.1-py2.7-win-amd64.egg\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12): warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
1>pywt_extensions_dwt.c(3652): warning C4244: '=': conversion from 'long' to 'char', possible loss of data
1>pywt_extensions_dwt.c(5229): warning C4013: 'float_complex_dec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(5247): warning C4013: 'float_complex_dec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(5731): warning C4013: 'double_complex_dec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(5749): warning C4013: 'double_complex_dec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(6695): warning C4013: 'float_complex_downcoef_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(6878): warning C4013: 'double_complex_downcoef_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(7826): warning C4013: 'double_complex_idwt' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(7970): warning C4013: 'float_complex_idwt' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(9146): warning C4013: 'double_complex_idwt_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(9253): warning C4013: 'float_complex_idwt_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(9867): warning C4244: '=': conversion from 'long' to 'char', possible loss of data
1>pywt_extensions_dwt.c(10673): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(11368): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(11808): warning C4013: 'float_complex_rec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(11913): warning C4013: 'float_complex_rec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(12063): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(12503): warning C4013: 'double_complex_rec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(12608): warning C4013: 'double_complex_rec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(12758): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(13229): warning C4244: '=': conversion from 'long' to 'char', possible loss of data
1>pywt_extensions_dwt.c(38687): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
1>pywt_extensions_dwt.c(38693): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:/D/N/Slicer-0-build/python-install\libs /LIBPATH:C:/D/N/Slicer-0-build/python-install\PCbuild\amd64 /LIBPATH:C:/D/N/Slicer-0-build/python-install\PC\VS9.0\amd64 /LIBPATH:build\temp.win-amd64-2.7 c_wt.lib c_wt.lib /EXPORT:init_dwt build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.obj /OUT:build\lib.win-amd64-2.7\pywt_extensions_dwt.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.pyd.manifest
1>_dwt.obj : warning LNK4197: export 'init_dwt' specified multiple times; using first specification
1> Creating library build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.lib and object build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.exp
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_dec_a referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_dec_d referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_dec_a referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_dec_d referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_downcoef_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_dwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_downcoef_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_dwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_idwt referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_idwt referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_idwt_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_idwt_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_rec_a referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_rec_d referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_rec_a referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_rec_d referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>build\lib.win-amd64-2.7\pywt_extensions_dwt.pyd : fatal error LNK1120: 14 unresolved externals
1>CUSTOMBUILD : error : command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe' failed with exit status 1120
1>

It is really difficult to debug this (all build files are immediately deleted) so we would need @jcfr expertise here.

from slicerradiomics.

lassoan avatar lassoan commented on June 6, 2024

Slicer uses numpy 1.13.1, while pywavelet needs numpy >1.9.1, so maybe it is not related to numpy.

from slicerradiomics.

lassoan avatar lassoan commented on June 6, 2024

The issue is still open, which means it has not been resolved yet.

@pieper @fedorov Would it be possible to disable wavelet-based features until this gets resolved?

An option to solve this would be to use wavelets available in VTK or ITK instead (there is at least a IsotropicWavelets remote module in ITK).

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024

@JoostJM is the lead on this project, we should discuss with him. I agree it makes sense to disable wavelets until this is resolved.

@lassoan can you reproduce this issue with a local build? I don't even have a Slicer build set up on Windows that I can access to investigate this.

from slicerradiomics.

lassoan avatar lassoan commented on June 6, 2024

Yes, I can reproduce it. It is very hard to debug this, as it uses python scripts to create temporary build files that immediately disappear after the build is finished. I don't even know where can I find the Python file that I could change to prevent deleting of the build files so that I can investigate further.

Since pywavelets only supports 2D wavelets anyway, I'm not sure if it is worth the time investigating it.

from slicerradiomics.

pieper avatar pieper commented on June 6, 2024

+1 for disabling wavelets, at least on Windows, until this can be nailed down. There are lots of other features people would want to calculated and we've heard from a lot of users looking for this extension on windows.

from slicerradiomics.

JoostJM avatar JoostJM commented on June 6, 2024

I'll disable wavelets for now.

@lassoan, In PyRadiomics, we apply 3D wavelets by applying filters sequentially in row-column-slice.

Still, I'm really interested in the ITK/VTK implementation, it certainly warrants investigation into if this is easily implementable in PyRadiomics.

from slicerradiomics.

JoostJM avatar JoostJM commented on June 6, 2024

Short update, I now forced PyWavelet version to 1.0.0, which was released on august 31st, this year. Hopefully this fixes the build.

Looking at the release notes, it may be possible that this will fail as well, as complex number support was added in version 1.0.0. If it fails, I'll revert to the version before that (0.5.2).

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024

It is now failing on all platforms, but it looks like a completely different issue:
http://slicer.cdash.org/index.php?project=SlicerPreview&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=radiomics

image

I will join the Slicer hangout today with the hope to get attention of the folks maintaining the dashboard.

from slicerradiomics.

jcfr avatar jcfr commented on June 6, 2024

from slicerradiomics.

fedorov avatar fedorov commented on June 6, 2024

Thanks JC, this would be great.

Do you have any ideas about the earlier failure as discussed in this issue and in https://discourse.slicer.org/t/radiomics-extension-build-errors-on-windows/4616?

Based on the current errors, do you know if the earlier issue was resolved, or the failure we observe now is happening earlier in the build process?

from slicerradiomics.

emanradiology avatar emanradiology commented on June 6, 2024

if I install an older version of 3D slicer, will radiomics extension work?

from slicerradiomics.

JoostJM avatar JoostJM commented on June 6, 2024

@emanradiology, depends on the version. If it is available in the extensions manager there is a high chance it will work. Beware however that this may use an older version of PyRadiomics (for differences between versions, see the release notes)

What version of Slicer are you planning to use?

from slicerradiomics.

JoostJM avatar JoostJM commented on June 6, 2024

To check the version of PyRadiomics installed, type the following in the python interactor in slicer:

import radiomics
radiomics.__version__

from slicerradiomics.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.