Skip site navigation (1)Skip section navigation (2)
Date:      Sat,  7 Dec 2013 17:45:33 +0100 (CET)
From:      Christoph Moench-Tegeder <cmt@burggraben.net>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/184565: cad/meshlab : fix build with gcc47, unbreak
Message-ID:  <20131207164533.C01BC31016@elch.exwg.net>
Resent-Message-ID: <201312071650.rB7Go05O028411@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         184565
>Category:       ports
>Synopsis:       cad/meshlab : fix build with gcc47, unbreak
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 07 16:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Christoph Moench-Tegeder
>Release:        FreeBSD 9.2-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD elch.exwg.net 9.2-RELEASE FreeBSD 9.2-RELEASE #11 r255911: Fri Sep 27 17:09:40 CEST 2013 cmt@elch.exwg.net:/usr/obj/usr/src/sys/ELCH amd64

lang/gcc47		gcc47-4.7.4.20131130
cad/meshlab		meshlab-1.3.2_2

	
>Description:
Hi,

in an effort towards upgrading lang/gcc to gcc 4.7, I'm helping gerald@
in making ports gcc47-safe.
Please consider the following patch to your port. If you approve of the
patch, gerald@ has offered his help in commiting it.
If you're commiting yourself or have someone else commit this (or
another patch to the same effect), can you please add an additional
reference to ports/183342 in the commit message?
In my test environment, the port built successfully with lang/gcc47.

>How-To-Repeat:

>Fix:

This patch removes some unused template functions (gcc47 does not like
that) and removes patch-vcglib-vcg-space_deprecated_point.h which
broke the build.


# remove blocks of dead code from colorhistogram.h and trimesh.h
#   gcc47 gets confused on template functions which are never instantiated
# remove patch-vcglib-vcg-space_deprecated_point.h, it broke the calls to
#  static_assert() (which are re-defined assert()s)
$ svn status
A       files/patch-meshlabplugins-decorate_base-colorhistogram.h
D       files/patch-vcglib-vcg-space_deprecated_point.h
A       files/patch-vcglib-wrap-gl-trimesh.h

Index: files/patch-meshlabplugins-decorate_base-colorhistogram.h
===================================================================
--- files/patch-meshlabplugins-decorate_base-colorhistogram.h	(revision 0)
+++ files/patch-meshlabplugins-decorate_base-colorhistogram.h	(working copy)
@@ -0,0 +1,15 @@
+--- ../../meshlab/src/meshlabplugins/decorate_base/colorhistogram.h.orig	2013-11-16 22:04:41.000000000 +0100
++++ ../../meshlab/src/meshlabplugins/decorate_base/colorhistogram.h	2013-11-16 22:04:56.000000000 +0100
+@@ -39,10 +39,11 @@
+   //ScalarType BinWidth(ScalarType v);
+ 
+   //! Reset histogram data.
++  /* dead code
+   void Clear() {
+     this->::Clear();
+     CV.clear();
+-  }
++  } */
+   /*
+   Note that the histogram holds <n> valid bins plus two semi-infinite bins.
+ 
Index: files/patch-vcglib-vcg-space_deprecated_point.h
===================================================================
--- files/patch-vcglib-vcg-space_deprecated_point.h	(revision 334032)
+++ files/patch-vcglib-vcg-space_deprecated_point.h	(working copy)
@@ -1,19 +0,0 @@
---- ../../vcglib/vcg/space/deprecated_point.h.orig	2013-10-30 18:12:59.000000000 +0100
-+++ ../../vcglib/vcg/space/deprecated_point.h	2013-10-30 18:12:33.000000000 +0100
-@@ -164,14 +164,14 @@
- 	}
-   inline const S &X() const { return _v[0]; }
- 	inline const S &Y() const { return _v[1]; }
--	inline const S &Z() const { static_assert(N>2); return _v[2]; }
-+	inline const S &Z() const { static_assert(N>2, ""); return _v[2]; }
- 	 /// W is in any case the last coordinate.
- 	 /// (in a 2D point, W() == Y(). In a 3D point, W()==Z()
- 	 ///  in a 4D point, W() is a separate component)
- 	inline const S &W() const { return _v[N-1]; }
- 	inline S &X() { return _v[0]; }
- 	inline S &Y() { return _v[1]; }
--	inline S &Z() { static_assert(N>2); return _v[2]; }
-+	inline S &Z() { static_assert(N>2, ""); return _v[2]; }
- 	inline S &W() { return _v[N-1]; }
- 	inline const S * V() const
- 	{
Index: files/patch-vcglib-wrap-gl-trimesh.h
===================================================================
--- files/patch-vcglib-wrap-gl-trimesh.h	(revision 0)
+++ files/patch-vcglib-wrap-gl-trimesh.h	(working copy)
@@ -0,0 +1,18 @@
+--- ../../vcglib/wrap/gl/trimesh.h.orig	2013-11-16 21:32:47.000000000 +0100
++++ ../../vcglib/wrap/gl/trimesh.h	2013-11-16 21:33:23.000000000 +0100
+@@ -895,6 +895,7 @@
+ #define VCTRACE (void)0
+ //#define VCTRACE TRACE
+ 
++/* dead code
+ template<class MESH_TYPE>
+ void Crease(MESH_TYPE &m, typename MESH_TYPE::scalar_type angleRad)
+ {
+@@ -1006,6 +1007,7 @@
+ 	m.vert.math::Swap(newvert);
+ 	m.vn=m.vert.size();
+ }
++*/
+ 
+ /*
+ 	Secondo tipo di crease angle. ha bisogno del per wedge normal


Regards,
Christoph
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131207164533.C01BC31016>