public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/pcl] f44: Update oom patch to fix multiple definition errors
Date: Thu, 25 Jun 2026 05:50:16 GMT [thread overview]
Message-ID: <178236661617.1.330155493134410596.rpms-pcl-91f614918237@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/pcl
Branch : f44
Commit : 91f614918237e9e2bbc34acced5d337c38ce8f2d
Author : Björn Esser <besser82@fedoraproject.org>
Date : 2021-08-20T18:32:06+02:00
Stats : +82/-1 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/pcl/c/91f614918237e9e2bbc34acced5d337c38ce8f2d?branch=f44
Log:
Update oom patch to fix multiple definition errors
---
diff --git a/pcl-1.12.0-oom.patch b/pcl-1.12.0-oom.patch
index ffc99bf..a95b068 100644
--- a/pcl-1.12.0-oom.patch
+++ b/pcl-1.12.0-oom.patch
@@ -20,7 +20,7 @@ Index: pcl-1.12.0/surface/src/mls_n.cpp
===================================================================
--- /dev/null
+++ pcl-1.12.0/surface/src/mls_n.cpp
-@@ -0,0 +1,53 @@
+@@ -0,0 +1,54 @@
+/*
+ * Software License Agreement (BSD License)
+ *
@@ -62,6 +62,7 @@ Index: pcl-1.12.0/surface/src/mls_n.cpp
+
+#include <pcl/surface/mls.h>
+#include <pcl/surface/impl/mls.hpp>
++#include "mls_calculatePrincipalCurvatures.hpp"
+
+#ifndef PCL_NO_PRECOMPILE
+#include <pcl/point_types.h>
@@ -364,3 +365,82 @@ Index: pcl-1.12.0/surface/src/mls_xyzrgbn.cpp
+ //PCL_INSTANTIATE_PRODUCT(MovingLeastSquares, (PCL_XYZ_POINT_TYPES)(PCL_XYZ_POINT_TYPES))
+#endif
+#endif // PCL_NO_PRECOMPILE
+Index: pcl-1.12.0/surface/include/pcl/surface/impl/mls.hpp
+===================================================================
+--- pcl-1.12.0.orig/surface/include/pcl/surface/impl/mls.hpp
++++ pcl-1.12.0/surface/include/pcl/surface/impl/mls.hpp
+@@ -533,38 +533,6 @@ pcl::MLSResult::getPolynomialPartialDeri
+ return (d);
+ }
+
+-Eigen::Vector2f
+-pcl::MLSResult::calculatePrincipalCurvatures (const double u, const double v) const
+-{
+- Eigen::Vector2f k (1e-5, 1e-5);
+-
+- // Note: this use the Monge Patch to derive the Gaussian curvature and Mean Curvature found here http://mathworld.wolfram.com/MongePatch.html
+- // Then:
+- // k1 = H + sqrt(H^2 - K)
+- // k2 = H - sqrt(H^2 - K)
+- if (order > 1 && c_vec.size () >= (order + 1) * (order + 2) / 2 && std::isfinite (c_vec[0]))
+- {
+- const PolynomialPartialDerivative d = getPolynomialPartialDerivative (u, v);
+- const double Z = 1 + d.z_u * d.z_u + d.z_v * d.z_v;
+- const double Zlen = std::sqrt (Z);
+- const double K = (d.z_uu * d.z_vv - d.z_uv * d.z_uv) / (Z * Z);
+- const double H = ((1.0 + d.z_v * d.z_v) * d.z_uu - 2.0 * d.z_u * d.z_v * d.z_uv + (1.0 + d.z_u * d.z_u) * d.z_vv) / (2.0 * Zlen * Zlen * Zlen);
+- const double disc2 = H * H - K;
+- assert (disc2 >= 0.0);
+- const double disc = std::sqrt (disc2);
+- k[0] = H + disc;
+- k[1] = H - disc;
+-
+- if (std::abs (k[0]) > std::abs (k[1])) std::swap (k[0], k[1]);
+- }
+- else
+- {
+- PCL_ERROR ("No Polynomial fit data, unable to calculate the principal curvatures!\n");
+- }
+-
+- return (k);
+-}
+-
+ pcl::MLSResult::MLSProjectionResults
+ pcl::MLSResult::projectPointOrthogonalToPolynomialSurface (const double u, const double v, const double w) const
+ {
+Index: pcl-1.12.0/surface/src/mls_calculatePrincipalCurvatures.hpp
+===================================================================
+--- /dev/null
++++ pcl-1.12.0/surface/src/mls_calculatePrincipalCurvatures.hpp
+@@ -0,0 +1,31 @@
++Eigen::Vector2f
++pcl::MLSResult::calculatePrincipalCurvatures (const double u, const double v) const
++{
++ Eigen::Vector2f k (1e-5, 1e-5);
++
++ // Note: this use the Monge Patch to derive the Gaussian curvature and Mean Curvature found here http://mathworld.wolfram.com/MongePatch.html
++ // Then:
++ // k1 = H + sqrt(H^2 - K)
++ // k2 = H - sqrt(H^2 - K)
++ if (order > 1 && c_vec.size () >= (order + 1) * (order + 2) / 2 && std::isfinite (c_vec[0]))
++ {
++ const PolynomialPartialDerivative d = getPolynomialPartialDerivative (u, v);
++ const double Z = 1 + d.z_u * d.z_u + d.z_v * d.z_v;
++ const double Zlen = std::sqrt (Z);
++ const double K = (d.z_uu * d.z_vv - d.z_uv * d.z_uv) / (Z * Z);
++ const double H = ((1.0 + d.z_v * d.z_v) * d.z_uu - 2.0 * d.z_u * d.z_v * d.z_uv + (1.0 + d.z_u * d.z_u) * d.z_vv) / (2.0 * Zlen * Zlen * Zlen);
++ const double disc2 = H * H - K;
++ assert (disc2 >= 0.0);
++ const double disc = std::sqrt (disc2);
++ k[0] = H + disc;
++ k[1] = H - disc;
++
++ if (std::abs (k[0]) > std::abs (k[1])) std::swap (k[0], k[1]);
++ }
++ else
++ {
++ PCL_ERROR ("No Polynomial fit data, unable to calculate the principal curvatures!\n");
++ }
++
++ return (k);
++}
diff --git a/pcl.spec b/pcl.spec
index a92fa4c..924e75c 100644
--- a/pcl.spec
+++ b/pcl.spec
@@ -195,6 +195,7 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{name}-*/Modules $RPM_BUILD_ROOT%{_libdir}/cmake/
- Disable fat-lto-objects to reduce memory usage
Doing so will not hurt as we are not shipping any static libraries
- Re-enable and realign oom patch
+- Update oom patch to fix multiple definition errors
* Tue Aug 17 2021 Rich Mattes <richmattes@gmail.com> - 1.12.0-1
- Drop "oom" patch to resolve multiple definition error and fix FTBFS (rhbz#1992893)
reply other threads:[~2026-06-25 5:50 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178236661617.1.330155493134410596.rpms-pcl-91f614918237@fedoraproject.org \
--to=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox