Re: C++ help needed fixing VXL on 32 bit architectures
On 5/28/19 2:26 PM, Roberto Ragusa wrote: On 5/28/19 1:57 AM, John Reiser wrote: if ((t&=7)==0) *++ib=0; int a; (*vs_) >> a; if (a) *ib|=static_cast(1<<(7-t)); } Such code is an abomination for lack of clarity. Also, the preceding line for (int x=0,t=0; x Isn't t forced into 0..6 by the t&=7 evaluation in the first if? 0..7, sorry for mistyping. -- Roberto Ragusamail at robertoragusa.it ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: C++ help needed fixing VXL on 32 bit architectures
On 5/28/19 1:57 AM, John Reiser wrote: if ((t&=7)==0) *++ib=0; int a; (*vs_) >> a; if (a) *ib|=static_cast(1<<(7-t)); } Such code is an abomination for lack of clarity. Also, the preceding line for (int x=0,t=0; x Isn't t forced into 0..6 by the t&=7 evaluation in the first if? -- Roberto Ragusamail at robertoragusa.it ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: C++ help needed fixing VXL on 32 bit architectures
Hi John, On Mon, May 27, 2019 16:57:18 -0700, John Reiser wrote: > > https://github.com/vxl/vxl/issues/638 > > Independent of that particular issue, it is hard to believe the claim > "vxl: A multi-platform collection of C++ software libraries ...". > They're not making a good-faith effort to be portable. From what I've seen, VXL seems to be one of those libraries that was written long long ago and has for most of its life cycle been in "maintenance mode" to somehow keep it running. For example, my PR to version the shared objects was only merged last week (!), and the super spammy nightly commit bot is still active: https://github.com/vxl/vxl/issues/624 https://github.com/vxl/vxl/pull/626 https://github.com/vxl/vxl/issues/97 Most of this is probably because the core dev community is extremely stretched. They don't have the cycles to make required updates, which, for example, is why VXL still uses a dcmtk version from 2002 (and we have no choice but to bundle it): https://github.com/vxl/vxl/issues/550 So, if you do have the time, please file these issues (or PRs if you have even more time). That'll at least make them aware of them and maybe it'll encourage others to help the dev team too. I'd like to look into all of this, but as soon as I get VXL built, I've got to work on all the tools that depend on it and are currently broken also. -- Thanks, Regards, Ankur Sinha "FranciscoD" https://fedoraproject.org/wiki/User:Ankursinha Time zone: Europe/London signature.asc Description: PGP signature ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: C++ help needed fixing VXL on 32 bit architectures
Dear Jerry, On Mon, May 27, 2019 15:33:42 -0600, Jerry James wrote: > On Mon, May 27, 2019 at 2:54 PM Jerry James wrote: > > It looks like the first few errors, at least, were fixed the day after > > the last release, in this commit: > > > > https://github.com/vxl/vxl/commit/c3fd27959f51e0469a7a6075e975f245ac306f3d > > > > You might try adding that as a patch and see if that is sufficient, or > > if there are more problems. > > I did a local mock build for i386 with that patch, and it succeeded. FYI. Ah! Thanks so much! This turned out a lot simpler than I'd feared. I hadn't even begun wading through the commit history yet. I'll go patch-build-update now. -- Thanks, Regards, Ankur Sinha "FranciscoD" https://fedoraproject.org/wiki/User:Ankursinha Time zone: Europe/London signature.asc Description: PGP signature ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: C++ help needed fixing VXL on 32 bit architectures
https://github.com/vxl/vxl/issues/638 Independent of that particular issue, it is hard to believe the claim "vxl: A multi-platform collection of C++ software libraries ...". They're not making a good-faith effort to be portable. The first hint is that "-Werror" (turn all warnings into errors) has not been used when compiling. There are so many basic portability errors, such as: = portability error 1 v3p/netlib/triangle.c:219: #define TRIANGLE_PTRINT size_t Using #define is silly when typedef is suitable. v3p/netlib/triangle.c:3685:23: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'unsigned int' [-Wformat=] printf("triangle x%lx with orientation %d:\n", (TRIANGLE_PTRINT) t->tri, "%zx" solves this problem and has been available for many years. = portability error 2 v3p/clipper/clipper.cpp:722:34: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct ClipperLib::TEdge' Learn from the compiler; it is smarter than this programmer. (Example: if there are any 'virtual' functions [now or later!], then using memset zaps the vtable pointer.) == portability error 3 core/vil1/vil1_memory_image_impl.cxx:210:63: warning: suggest parentheses around assignment used as truth value [-Wparentheses] return property_value ? (*(bool*)property_value) = true : true; This is unmaintainable, especially when not explained in a comment. = portability error 4 core/vil1/file_formats/vil1_pnm.cxx:360:11: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if ((t&=7)==0) *++ib=0; int a; (*vs_) >> a; if (a) *ib|=static_cast(1<<(7-t)); } Such code is an abomination for lack of clarity. Also, the preceding line for (int x=0,t=0; xhttps://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: C++ help needed fixing VXL on 32 bit architectures
On Mon, May 27, 2019 at 2:54 PM Jerry James wrote: > It looks like the first few errors, at least, were fixed the day after > the last release, in this commit: > > https://github.com/vxl/vxl/commit/c3fd27959f51e0469a7a6075e975f245ac306f3d > > You might try adding that as a patch and see if that is sufficient, or > if there are more problems. I did a local mock build for i386 with that patch, and it succeeded. FYI. -- Jerry James http://www.jamezone.org/ ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Re: C++ help needed fixing VXL on 32 bit architectures
On Mon, May 27, 2019 at 10:14 AM Ankur Sinha wrote: > After spending quite a bit of time fixing VXL to build, I've now run > into errors with it building on 32 bit arches. > > Unfortunately, I don't foresee myself having enough cycles in the near > future to debug the C++ bits to see what's happening here, and while I > have filed a ticket upstream, they seem to be even busier than us (all > issues seem to get a "A PR would be welcome" response) > > https://github.com/vxl/vxl/issues/638 > > Any chance any C++ ninjas here would have some time to look into this > please? A PR fixing the issue upstream would be absolutely fantastic. It looks like the first few errors, at least, were fixed the day after the last release, in this commit: https://github.com/vxl/vxl/commit/c3fd27959f51e0469a7a6075e975f245ac306f3d You might try adding that as a patch and see if that is sufficient, or if there are more problems. Regards, -- Jerry James http://www.jamezone.org/ ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
C++ help needed fixing VXL on 32 bit architectures
Hi everyone, After spending quite a bit of time fixing VXL to build, I've now run into errors with it building on 32 bit arches. Unfortunately, I don't foresee myself having enough cycles in the near future to debug the C++ bits to see what's happening here, and while I have filed a ticket upstream, they seem to be even busier than us (all issues seem to get a "A PR would be welcome" response) https://github.com/vxl/vxl/issues/638 Any chance any C++ ninjas here would have some time to look into this please? A PR fixing the issue upstream would be absolutely fantastic. -- Thanks, Regards, Ankur Sinha "FranciscoD" https://fedoraproject.org/wiki/User:Ankursinha Time zone: Europe/London signature.asc Description: PGP signature ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org