Re: C++ help needed fixing VXL on 32 bit architectures

2019-05-28 Thread Roberto Ragusa

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

2019-05-28 Thread Roberto Ragusa

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

2019-05-28 Thread Ankur Sinha
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

2019-05-28 Thread Ankur Sinha

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

2019-05-27 Thread John Reiser

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

2019-05-27 Thread Jerry James
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

2019-05-27 Thread Jerry James
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

2019-05-27 Thread Ankur Sinha
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