unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* Openssl missing in CPATH
@ 2012-12-29 23:56 Andreas Enge
  2012-12-30 21:57 ` Ludovic Courtès
  2013-01-02 15:00 ` Ludovic Courtès
  0 siblings, 2 replies; 8+ messages in thread
From: Andreas Enge @ 2012-12-29 23:56 UTC (permalink / raw)
  To: bug-guix


[-- Attachment #1.1: Type: text/plain, Size: 1333 bytes --]

Hello,

the attached recipe with openssl in its inputs fails, as it does not find 
the openssl include files:

checking openssl/evp.h usability... no
checking openssl/evp.h presence... no
checking for openssl/evp.h... no
checking for OpenSSL... no
checking DIGEST-MD5... enabled
configure: WARNING: OpenSSL not found -- SCRAM will be disabled
checking SCRAM... disabled

When installing the openssl package, I do have the file
include/openssl/evp.h in my profile, as a link to
/nix/store/rxsqxs7n8dkhw54r00g93gf37xjhb7fh-
openssl-1.0.1c/include/openssl/evp.h

In the cyrus-sasl build directory, the file "environment-variables" 
contains a line:
export CPATH='/nix/store/y8i17ibf1vh20h8dzacq565wpbz71s7r-
gdbm-1.10/include:/nix/store/4pbng4mkvxvy5izihl9f4qykqmhh8a5h-mit-
krb5-1.11/include:/nix/store/5b0da95s9q5jw1xb03f2f3igkjfmiaxw-
bzip2-1.0.6/include:/nix/store/6f2124kaa8vylm12zgc159ayz6r47ki0-
xz-5.0.4/include:/nix/store/ha1d1q6ynwcljarlrvwx1j8l6rhq5rdl-
binutils-2.22/include:/nix/store/7qzabzlgsxlmihnyrrvsgkvidqxh07s9-
gcc-4.7.2/include:/nix/store/s0y9jzrbpypi6m2snvi8xz84i08n1v0k-
glibc-2.16.0/include:/nix/store/xmdfvb4lvihm8x0w8sxs0izwnmpxaq4l-linux-
libre-headers-3.3.8/include'
There is an entry for the inputs gdbm and mit-krb5, but none for openssl. 
Do you have an explanation or solution for the problem?

Andreas

[-- Attachment #1.2: Type: text/html, Size: 4846 bytes --]

[-- Attachment #2: cyrus-sasl.scm --]
[-- Type: text/x-scheme, Size: 2224 bytes --]

;;; Guix --- Nix package management from Guile.         -*- coding: utf-8 -*-
;;; Copyright (C) 2012 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of Guix.
;;;
;;; Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (distro packages cyrus-sasl)
  #:use-module (distro)
  #:use-module (distro packages gdbm)
  #:use-module (distro packages mit-krb5)
  #:use-module (distro packages openssl)
  #:use-module ((guix licenses)
                #:renamer (symbol-prefix-proc 'license:))
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu))

(define-public cyrus-sasl
  (package
   (name "cyrus-sasl")
   (version "2.1.26")
   (source (origin
            (method url-fetch)
            (uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version
                                ".tar.gz"))
            (sha256 (base32
                     "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
   (build-system gnu-build-system)
   (inputs `(("gdbm" ,gdbm)
             ("mit-krb5" ,mit-krb5)
             ("openssl" ,openssl)
             ))
   (synopsis "Cyrus SASL, an implementation of the Simple Authentication Security Layer framework")
   (description
    "SASL (Simple Authentication Security Layer) is an Internet
standards-track method for remote computers to authenticate. The Cyrus SASL
library makes supporting various SASL mechanisms easy for both client and
server writers.")
   (license (license:bsd-style "file://COPYING"
                       "See COPYING in the distribution."))
   (home-page "http://cyrusimap.web.cmu.edu/index.php")))

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2012-12-29 23:56 Openssl missing in CPATH Andreas Enge
@ 2012-12-30 21:57 ` Ludovic Courtès
  2013-01-01 14:04   ` Andreas Enge
  2013-01-02 15:00 ` Ludovic Courtès
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2012-12-30 21:57 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Andreas Enge <andreas@enge.fr> skribis:

> There is an entry for the inputs gdbm and mit-krb5, but none for openssl. 
> Do you have an explanation or solution for the problem?

Could it be that OpenSSL actually lacks a directory called ‘include’?

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2012-12-30 21:57 ` Ludovic Courtès
@ 2013-01-01 14:04   ` Andreas Enge
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Enge @ 2013-01-01 14:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

[-- Attachment #1: Type: text/plain, Size: 235 bytes --]

Am Sonntag, 30. Dezember 2012 schrieb Ludovic Courtès:
> Could it be that OpenSSL actually lacks a directory called ‘include’?

After installatio, there is .guix-profile/include/openssl/
with lots of header files.

Andreas

[-- Attachment #2: Type: text/html, Size: 1741 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2012-12-29 23:56 Openssl missing in CPATH Andreas Enge
  2012-12-30 21:57 ` Ludovic Courtès
@ 2013-01-02 15:00 ` Ludovic Courtès
  2013-01-13 18:52   ` Andreas Enge
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2013-01-02 15:00 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Hi again!

Andreas Enge <andreas@enge.fr> skribis:

> checking openssl/evp.h usability... no
> checking openssl/evp.h presence... no
> checking for openssl/evp.h... no
> checking for OpenSSL... no

Can you post the corresponding config.log excerpt?

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2013-01-02 15:00 ` Ludovic Courtès
@ 2013-01-13 18:52   ` Andreas Enge
  2013-01-13 22:27     ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Andreas Enge @ 2013-01-13 18:52 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix


[-- Attachment #1.1: Type: text/plain, Size: 1147 bytes --]

Hello,

whatever the problem was, it apparently disappeared with your modifications 
to the openssl package. Now cyrus-sasl compiles; I am attaching a patch to 
add the package.

For future reference, there was the following warning:
********************************************************
* WARNING:
* Plugins are being installed into 
/nix/store/xckxs4vgmzjj883qppsdbv1y4ycqzrva-cyrus-sasl-2.1.26/lib/sasl2,
* but the library will look for them in /usr/lib/sasl2.
* You need to make sure that the plugins will eventually
* be in /usr/lib/sasl2 -- the easiest way is to make a
* symbolic link from /usr/lib/sasl2 to 
/nix/store/xckxs4vgmzjj883qppsdbv1y4ycqzrva-cyrus-sasl-2.1.26/lib/sasl2,
* but this may not be appropriate for your site, so this
* installation procedure won't do it for you.
*
* If you don't want to do this for some reason, you can
* set the location where the library will look for plugins
* by setting the environment variable SASL_PATH to the path
* the library should use.
********************************************************
So while "make check" worked, the package may or may not be usable in 
practice...

Andreas

[-- Attachment #1.2: Type: text/html, Size: 4921 bytes --]

[-- Attachment #2: 0001-distro-Add-Cyrus-SASL.patch --]
[-- Type: text/x-patch, Size: 3417 bytes --]

From 48c30d72d8a18ed0b9c4605ce42465472feb69e2 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sun, 13 Jan 2013 19:46:37 +0100
Subject: [PATCH] distro: Add Cyrus SASL.

* distro/packages/cyrus-sasl.scm: New file.
* Makefile.am (MODULES): Add it.
---
 Makefile.am                    |    1 +
 distro/packages/cyrus-sasl.scm |   53 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 distro/packages/cyrus-sasl.scm

diff --git a/Makefile.am b/Makefile.am
index 7c36eff..dfd5915 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -57,6 +57,7 @@ MODULES =					\
   distro/packages/check.scm			\
   distro/packages/compression.scm		\
   distro/packages/cpio.scm			\
+  distro/packages/cyrus-sasl.scm		\
   distro/packages/bdb.scm			\
   distro/packages/dejagnu.scm			\
   distro/packages/ddrescue.scm			\
diff --git a/distro/packages/cyrus-sasl.scm b/distro/packages/cyrus-sasl.scm
new file mode 100644
index 0000000..aacf627
--- /dev/null
+++ b/distro/packages/cyrus-sasl.scm
@@ -0,0 +1,53 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages cyrus-sasl)
+  #:use-module (distro)
+  #:use-module (distro packages gdbm)
+  #:use-module (distro packages mit-krb5)
+  #:use-module (distro packages openssl)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'license:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public cyrus-sasl
+  (package
+   (name "cyrus-sasl")
+   (version "2.1.26")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version
+                                ".tar.gz"))
+            (sha256 (base32
+                     "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
+   (build-system gnu-build-system)
+   (inputs `(("gdbm" ,gdbm)
+             ("mit-krb5" ,mit-krb5)
+             ("openssl" ,openssl)
+             ))
+   (synopsis "Cyrus SASL, an implementation of the Simple Authentication Security Layer framework")
+   (description
+    "SASL (Simple Authentication Security Layer) is an Internet
+standards-track method for remote computers to authenticate. The Cyrus SASL
+library makes supporting various SASL mechanisms easy for both client and
+server writers.")
+   (license (license:bsd-style "file://COPYING"
+                       "See COPYING in the distribution."))
+   (home-page "http://cyrusimap.web.cmu.edu/index.php")))
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2013-01-13 18:52   ` Andreas Enge
@ 2013-01-13 22:27     ` Ludovic Courtès
  2013-01-13 23:04       ` Andreas Enge
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2013-01-13 22:27 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Andreas Enge <andreas@enge.fr> skribis:

> whatever the problem was, it apparently disappeared with your modifications 
> to the openssl package. Now cyrus-sasl compiles; I am attaching a patch to 
> add the package.

Good.  :-)

> * Plugins are being installed into 
> /nix/store/xckxs4vgmzjj883qppsdbv1y4ycqzrva-cyrus-sasl-2.1.26/lib/sasl2,
> * but the library will look for them in /usr/lib/sasl2.

I just checked, and Nixpkgs passed --with-plugindir=$out/lib/sasl2, so I
think you need a configure phase like:

  #:phase (alist-replace
           'configure
           (lambda* (#:keys outputs #:allow-other-keys #:rest args)
             (let ((out (assoc-ref outputs "out"))
                   (configure (assoc-ref %standard-phases 'configure)))
               (apply configure
                      #:configure-flags
                      (list (string-append "--with-plugindir="
                                           out "/lib/sasl2"))
                      args)))
           %standard-phases)
               
Can you check whether it actually works?  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2013-01-13 22:27     ` Ludovic Courtès
@ 2013-01-13 23:04       ` Andreas Enge
  2013-01-15 16:12         ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Andreas Enge @ 2013-01-13 23:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

[-- Attachment #1: Type: text/plain, Size: 2065 bytes --]

Am Sonntag, 13. Januar 2013 schrieb Ludovic Courtès:
> Can you check whether it actually works?  :-)

Unfortunately not. Here is the exact diff:

diff --git a/distro/packages/cyrus-sasl.scm b/distro/packages/cyrus-
sasl.scm
index aacf627..d280242 100644
--- a/distro/packages/cyrus-sasl.scm
+++ b/distro/packages/cyrus-sasl.scm
@@ -1,4 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -42,6 +43,20 @@
              ("mit-krb5" ,mit-krb5)
              ("openssl" ,openssl)
              ))
+   (arguments
+    (lambda (system)
+      `(#:phases
+        (alist-replace
+         'configure
+         (lambda* (#:key outputs #:allow-other-keys #:rest args)
+          (let ((out (assoc-ref outputs "out"))
+                (configure (assoc-ref %standard-phases 'configure)))
+            (apply configure
+                   #:configure-flags
+                   (list (string-append "--with-plugindir="
+                                        out "/lib/sasl2"))
+                   args)))
+         %standard-phases))))
    (synopsis "Cyrus SASL, an implementation of the Simple Authentication 
Security Layer framework")
    (description
     "SASL (Simple Authentication Security Layer) is an Internet

Apparently, the configure flag is not taken into account, since building 
outputs the following:

...
starting phase `configure'
source directory: "/tmp/nix-build-cyrus-sasl-2.1.26.drv-0/cyrus-
sasl-2.1.26" (relative from build: ".")
build directory: "/tmp/nix-build-cyrus-sasl-2.1.26.drv-0/cyrus-sasl-2.1.26"
configure flags: 
("CONFIG_SHELL=/nix/store/ryk1ywzz31kp4biclxq3yq6hpjycalyy-
bash-4.2/bin/bash" "SHELL=/nix/store/ryk1ywzz31kp4biclxq3yq6hpjycalyy-
bash-4.2/bin/bash" "--prefix=/nix/store/5prlq6fzg0hqav29pqgjxfpz1kdqcaws-
cyrus-sasl-2.1.26" "--enable-fast-install")
...

And the same warning message reappears.

Andreas

[-- Attachment #2: Type: text/html, Size: 9680 bytes --]

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Openssl missing in CPATH
  2013-01-13 23:04       ` Andreas Enge
@ 2013-01-15 16:12         ` Ludovic Courtès
  0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2013-01-15 16:12 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Hi!

I just realized that we can just use #:configure-flags with the %outputs
variable, so I pushed it.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-01-15 16:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-29 23:56 Openssl missing in CPATH Andreas Enge
2012-12-30 21:57 ` Ludovic Courtès
2013-01-01 14:04   ` Andreas Enge
2013-01-02 15:00 ` Ludovic Courtès
2013-01-13 18:52   ` Andreas Enge
2013-01-13 22:27     ` Ludovic Courtès
2013-01-13 23:04       ` Andreas Enge
2013-01-15 16:12         ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).