Slicer gcc 6

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Slicer gcc 6

Sharp, Gregory C.
Hello Slicers,

Slicer still does not build on gcc 6.  

http://na-mic.org/Mantis/view.php?id=4268

I have no idea what JsonCpp is used for in Slicer.  Is it possible to disable?
The version of JsonCpp in github compiles fine on gcc 6.  Is it safe to switch to that?

Thanks!
Greg
_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Slicer gcc 6

Jean-Christophe Fillion-Robin
Hi Greg,

Thanks for reporting the issue.

JsonCpp is used by the parameter serializer [1] associated the SlicerExecutionModel.

The latest version of JsonCpp (master branch) only supports C++11, in the case of Slicer we use the "0.y.z" branch.

If you can build this branch: https://github.com/open-source-parsers/jsoncpp/tree/0.y.z
We will be able to quickly address the problem.

Medium term, we will transition to use RapidJson everywhere. It is much faster.


Configuring with option "Slicer_BUILD_PARAMETERSERIALIZER_SUPPORT" set of OFF is also possible.

Hth
Jc




On Wed, Mar 15, 2017 at 3:03 PM, Sharp, Gregory C. <[hidden email]> wrote:
Hello Slicers,

Slicer still does not build on gcc 6.

http://na-mic.org/Mantis/view.php?id=4268

I have no idea what JsonCpp is used for in Slicer.  Is it possible to disable?
The version of JsonCpp in github compiles fine on gcc 6.  Is it safe to switch to that?

Thanks!
Greg
_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ



--
+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Slicer gcc 6

Sharp, Gregory C.
Hi Jc,

Yes, thank you.  I understand.  That branch, unfortunately, does not build as-is.  But it easily solvable.

JsonCpp specifically looks for gcc 6, and then does something that gcc 6 doesn't like.  (This kind of stuff no longer fazes me.)

#if __GNUC__ >= 6
typedef std::scoped_ptr<StreamWriter> const  StreamWriterPtr;
#else
typedef std::auto_ptr<StreamWriter>          StreamWriterPtr;
#endif

If we replace the scoped_ptr with either auto_ptr or unique_ptr, all is well.  I guess I'd go with auto_ptr. 

What is the best way to proceed?  Fork, patch, and superbuild from fork?

Greg


From: slicer-devel [[hidden email]] on behalf of Jean-Christophe Fillion-Robin [[hidden email]]
Sent: Wednesday, March 15, 2017 3:28 PM
To: Sharp, Gregory C.
Cc: SPL Slicer Devel
Subject: Re: [slicer-devel] Slicer gcc 6

Hi Greg,

Thanks for reporting the issue.

JsonCpp is used by the parameter serializer [1] associated the SlicerExecutionModel.

The latest version of JsonCpp (master branch) only supports C++11, in the case of Slicer we use the "0.y.z" branch.

If you can build this branch: https://github.com/open-source-parsers/jsoncpp/tree/0.y.z
We will be able to quickly address the problem.

Medium term, we will transition to use RapidJson everywhere. It is much faster.


Configuring with option "Slicer_BUILD_PARAMETERSERIALIZER_SUPPORT" set of OFF is also possible.

Hth
Jc




On Wed, Mar 15, 2017 at 3:03 PM, Sharp, Gregory C. <[hidden email]> wrote:
Hello Slicers,

Slicer still does not build on gcc 6.

http://na-mic.org/Mantis/view.php?id=4268

I have no idea what JsonCpp is used for in Slicer.  Is it possible to disable?
The version of JsonCpp in github compiles fine on gcc 6.  Is it safe to switch to that?

Thanks!
Greg
_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ



--
+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Slicer gcc 6

Jean-Christophe Fillion-Robin
In reply to this post by Jean-Christophe Fillion-Robin
Hi Greg,

Thanks for your help.

What is the best way to proceed?  Fork, patch, and superbuild from fork?

Would be great to propose a patch against this branch:
 
 https://github.com/Slicer/jsoncpp/tree/slicer-v0.10.6-2016-04-22

Thanks
Jc


--
+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Slicer gcc 6

Isaiah Norton-2
The issue is that they made a typedef specific to __GNUC__ version rather than c++ version. The current upstream check should work fine:

On Wed, Mar 15, 2017 at 3:54 PM, Jean-Christophe Fillion-Robin <[hidden email]> wrote:
Hi Greg,

Thanks for your help.

What is the best way to proceed?  Fork, patch, and superbuild from fork?

Would be great to propose a patch against this branch:
 
 https://github.com/Slicer/jsoncpp/tree/slicer-v0.10.6-2016-04-22

Thanks
Jc


--
<a href="tel:(919)%20869-8849" value="&#43;19198698849" target="_blank">+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Slicer gcc 6

Sharp, Gregory C.
Agree Isiah.  Upstream ifdef is better than auto_ptr.  Thank you!

PS:  On C++11, you all know I am a very conservative developer, but even I am weighing when to pull the trigger.  (Maybe 2019 for me).  But Slicer is bleeding edge on cmake/dcmtk/ITK versions, etc., so seems good fit.  Do dependent libraries and extensions conform?


From: slicer-devel [[hidden email]] on behalf of Isaiah Norton [[hidden email]]
Sent: Wednesday, March 15, 2017 4:05 PM
To: Sharp, Gregory C.; Jean-Christophe Fillion-Robin
Cc: SPL Slicer Devel
Subject: Re: [slicer-devel] Slicer gcc 6

The issue is that they made a typedef specific to __GNUC__ version rather than c++ version. The current upstream check should work fine:

On Wed, Mar 15, 2017 at 3:54 PM, Jean-Christophe Fillion-Robin <[hidden email]> wrote:
Hi Greg,

Thanks for your help.

What is the best way to proceed?  Fork, patch, and superbuild from fork?

Would be great to propose a patch against this branch:
 
 https://github.com/Slicer/jsoncpp/tree/slicer-v0.10.6-2016-04-22

Thanks
Jc


--
<a href="tel:(919)%20869-8849" value="&#43;19198698849" target="_blank">+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Slicer gcc 6

Jean-Christophe Fillion-Robin
In reply to this post by Isaiah Norton-2
Hi Greg,

Thanks for the patch.

I updated the commit message and integrated it as https://github.com/Slicer/jsoncpp/commit/73b8e172d6615251ef851d883ef02f163e7075b2

Corresponding Slicer commit is http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25843

Thanks
Jc

On Wed, Mar 15, 2017 at 4:16 PM, Sharp, Gregory C. <[hidden email]> wrote:
Agree Isiah.  Upstream ifdef is better than auto_ptr.  Thank you!

PS:  On C++11, you all know I am a very conservative developer, but even I am weighing when to pull the trigger.  (Maybe 2019 for me).  But Slicer is bleeding edge on cmake/dcmtk/ITK versions, etc., so seems good fit.  Do dependent libraries and extensions conform?


From: slicer-devel [[hidden email]] on behalf of Isaiah Norton [[hidden email]]
Sent: Wednesday, March 15, 2017 4:05 PM
To: Sharp, Gregory C.; Jean-Christophe Fillion-Robin
Cc: SPL Slicer Devel
Subject: Re: [slicer-devel] Slicer gcc 6

The issue is that they made a typedef specific to __GNUC__ version rather than c++ version. The current upstream check should work fine:

On Wed, Mar 15, 2017 at 3:54 PM, Jean-Christophe Fillion-Robin <[hidden email]> wrote:
Hi Greg,

Thanks for your help.

What is the best way to proceed?  Fork, patch, and superbuild from fork?

Would be great to propose a patch against this branch:
 
 https://github.com/Slicer/jsoncpp/tree/slicer-v0.10.6-2016-04-22

Thanks
Jc


--
<a href="tel:(919)%20869-8849" value="&#43;19198698849" target="_blank">+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.




--
+1 919 869 8849

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ