* [Buildroot] [PATCH] taskd: add patch for correct gnutls libraries in static build
@ 2016-11-20 23:02 Arnout Vandecappelle
2016-11-21 8:57 ` Arnout Vandecappelle
2016-11-21 20:19 ` Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2016-11-20 23:02 UTC (permalink / raw)
To: buildroot
The CMakeLists.txt was using the wrong variables names to add to
includes and libs, so the additional libraries for static build
weren't added to the link command.
Patch sent upstream to taskwarrior-dev at googlegroups.com but it doesn't
seem to be very active.
Fixes:
http://autobuild.buildroot.net/results/d01e947fa807336ffcfd0fad27397af8e7442833
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
...se-correct-variables-for-GnuTLS-detection.patch | 32 ++++++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
diff --git a/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch b/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
new file mode 100644
index 0000000..f2365ea
--- /dev/null
+++ b/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
@@ -0,0 +1,32 @@
+From 88fee5c6eb2271d3de6b9878cd29a0494999aa18 Mon Sep 17 00:00:00 2001
+From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
+Date: Sun, 20 Nov 2016 23:46:45 +0100
+Subject: [PATCH] Use correct variables for GnuTLS detection
+
+At least with recent CMake, it seems the variables created by
+find_package (GnuTLS) are called PC_GNUTLS_INCLUDE_DIRS and
+PC_GNUTLS_LIBRARIES.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d8125d9..ccf827b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -110,8 +110,8 @@ message ("-- Looking for GnuTLS")
+ find_package (GnuTLS REQUIRED)
+ if (GNUTLS_FOUND)
+ set (HAVE_LIBGNUTLS true)
+- set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${GNUTLS_INCLUDE_DIR})
+- set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${GNUTLS_LIBRARIES})
++ set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${PC_GNUTLS_INCLUDE_DIRS})
++ set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${PC_GNUTLS_LIBRARIES})
+ endif (GNUTLS_FOUND)
+
+ message ("-- Looking for libuuid")
+--
+2.10.2
+
--
2.10.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH] taskd: add patch for correct gnutls libraries in static build
2016-11-20 23:02 [Buildroot] [PATCH] taskd: add patch for correct gnutls libraries in static build Arnout Vandecappelle
@ 2016-11-21 8:57 ` Arnout Vandecappelle
2016-11-21 20:19 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2016-11-21 8:57 UTC (permalink / raw)
To: buildroot
On 21-11-16 00:02, Arnout Vandecappelle (Essensium/Mind) wrote:
> The CMakeLists.txt was using the wrong variables names to add to
> includes and libs, so the additional libraries for static build
> weren't added to the link command.
>
> Patch sent upstream to taskwarrior-dev at googlegroups.com but it doesn't
> seem to be very active.
Well, turns out that they _are_ active, I got feedback immediately and the
patch got rejected. The problem is not in taskd, but in CMake itself.
FindGnuTLS.cmake does the following:
if (NOT WIN32)
# try using pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
# also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
find_package(PkgConfig QUIET)
PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
endif ()
find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
HINTS
${PC_GNUTLS_INCLUDEDIR}
${PC_GNUTLS_INCLUDE_DIRS}
)
find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
HINTS
${PC_GNUTLS_LIBDIR}
${PC_GNUTLS_LIBRARY_DIRS}
)
Since it is using find_path and find_library, it basically destroys all
information coming from pkg-config and keeps only the gnutls paths and libs.
It looks like cmake does this in most bundled modules, so I guess we have to
take it with upstream CMake to see what's going on.
Samuel, any feedback from you?
For now, I think it's better to accept this patch however. We can revert it
when the fundamental problem in CMake has been resolved.
Regards,
Arnout
>
> Fixes:
> http://autobuild.buildroot.net/results/d01e947fa807336ffcfd0fad27397af8e7442833
>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> ...se-correct-variables-for-GnuTLS-detection.patch | 32 ++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
>
> diff --git a/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch b/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
> new file mode 100644
> index 0000000..f2365ea
> --- /dev/null
> +++ b/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
> @@ -0,0 +1,32 @@
> +From 88fee5c6eb2271d3de6b9878cd29a0494999aa18 Mon Sep 17 00:00:00 2001
> +From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
> +Date: Sun, 20 Nov 2016 23:46:45 +0100
> +Subject: [PATCH] Use correct variables for GnuTLS detection
> +
> +At least with recent CMake, it seems the variables created by
> +find_package (GnuTLS) are called PC_GNUTLS_INCLUDE_DIRS and
> +PC_GNUTLS_LIBRARIES.
> +
> +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> +---
> + CMakeLists.txt | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index d8125d9..ccf827b 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -110,8 +110,8 @@ message ("-- Looking for GnuTLS")
> + find_package (GnuTLS REQUIRED)
> + if (GNUTLS_FOUND)
> + set (HAVE_LIBGNUTLS true)
> +- set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${GNUTLS_INCLUDE_DIR})
> +- set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${GNUTLS_LIBRARIES})
> ++ set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${PC_GNUTLS_INCLUDE_DIRS})
> ++ set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${PC_GNUTLS_LIBRARIES})
> + endif (GNUTLS_FOUND)
> +
> + message ("-- Looking for libuuid")
> +--
> +2.10.2
> +
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH] taskd: add patch for correct gnutls libraries in static build
2016-11-20 23:02 [Buildroot] [PATCH] taskd: add patch for correct gnutls libraries in static build Arnout Vandecappelle
2016-11-21 8:57 ` Arnout Vandecappelle
@ 2016-11-21 20:19 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2016-11-21 20:19 UTC (permalink / raw)
To: buildroot
Hello,
On Mon, 21 Nov 2016 00:02:17 +0100, Arnout Vandecappelle
(Essensium/Mind) wrote:
> The CMakeLists.txt was using the wrong variables names to add to
> includes and libs, so the additional libraries for static build
> weren't added to the link command.
>
> Patch sent upstream to taskwarrior-dev at googlegroups.com but it doesn't
> seem to be very active.
>
> Fixes:
> http://autobuild.buildroot.net/results/d01e947fa807336ffcfd0fad27397af8e7442833
>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> ...se-correct-variables-for-GnuTLS-detection.patch | 32 ++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch
Regardless of the feedback from upstream which says it's an upstream
CMake bug, I've nonetheless applied to fix the immediate problem.
Would indeed be good if Samuel could have a look, and take this
upstream to the CMake developers.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-11-21 20:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-20 23:02 [Buildroot] [PATCH] taskd: add patch for correct gnutls libraries in static build Arnout Vandecappelle
2016-11-21 8:57 ` Arnout Vandecappelle
2016-11-21 20:19 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox