-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Temporary bugfix for issue #4082 #4151
Temporary bugfix for issue #4082 #4151
Conversation
You want me to undo both PR completely? I only have problems with commit 02ad0b6, the rest works fine for me. |
Yes. @SunBlack showed that both PR created the same issue for Windows users. Moreover, would it be possible to create a test with instantiation of these templates so that when in future we try to fix the todo, we don't accidentally recreate this problem? |
New tests are not necessary. The tests test_convolution (filters) and test_poisson (surface) call these templates. |
No tests have been failing on master. That means there's some difference in the setup on CI and on the system of at least 3 people. We need to replicate that difference |
The patch from above is sufficient that tools and tests can be compiled on Windows at my site - which was the original problem. You would have to ask the others if the patch is sufficient there. Then we have to compare the different systems.
|
Pinging @UnaNancyOwen and @SunBlack for this |
I have confirmed that this can be built in my environment. 👍 |
@UnaNancyOwen Why does the CI miss this? Could you please investigate that so we can have increased confidence in the CI? Waiting for sunblack to confirm, because his setup showed errors from both PRs |
In CI, Tools is disabled on Windows. (I don't remember the exact reason for it, but) I think it's because it takes longer or has a larger storage capacity.
|
I think it's related to this issue #1951. |
@SunBlack Can you confirm test the presence of #1952 on pcl-1.10 release? (Just to segregate the 2 errors) |
From what I can gather, the test_convolution is not added to any test projects, so its not used atm. Also, it doesn't contain any tests which uses the |
This problem is very strange, especially because the Visual Studio versions behave so differently on different computers - although they should be identical.
I have the test included. But yes, you're right, I'm building all the tools. But without VTK, because VTK 9 is not yet supported. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
inline
on all instances please.
And please add a TODO stating intent to move to cpp file on all the instances moved back to header files
There's a WIP for VTK 9 support if you're inclined. Could you also
|
CMake:
Result:
Build result (Debug and Release): 197 projects successful Test result:
In detail:
So I should create a new PR with a different commit order? FYI: VTK takes me only 25 minutes to build in debug and release. Why the installation takes an hour is a mystery to me. The longest time for me is OpenCV with four hours and 16 minutes. All other libraries and programs I build here are faster. |
No need. You can use
That's your system. CI machines might be a bit slower (at least the IO is heavily throttled) Also, your test needs refactoring. Use loops and minimize the size as much as possible. |
I duplicated the original test in test_convolution and adapted the data to form an RGB point cloud. This is how the functions are called. The original test is also provided with "inline" data. What should I change there? The other template functions are called in test test_poisson.
Done.
Also the CI can perform the test without problems, as I have seen: https://dev.azure.com/PointCloudLibrary/pcl/_build/results?buildId=16518&view=logs&j=d944f354-b9eb-5c76-5ade-3c70deb27a9e&t=e6a92e69-5f1c-567d-0c8e-3e6b9c56a5da&l=1718 |
Fixed and rebase |
Ohh my, how can things be so simple... yet sooo far away from memory :) I figured it out after reading this post https://stackoverflow.com/a/56801030. We need to add PCL_EXPORTS to the offending functions. I would recon that all the functions that was moved to the .cpp will require this. Alternatively we can add PCL_EXPORTS to the entire Convolution class - not sure what granularity we would like? @OgreTransporter I think if you add a unit test for the PointXYZRGB as well, it will also fail, if we don't do the above. |
Ofc, PCL_EXPORT would solve this. Wow. Nice find. MSVC behavior makes much more sense now |
Closing in favor of #4165 |
Temporary bugfix for issue #4082 by undoing parts of commit 02ad0b6