Re: [Chicken-users] Statically Linking Eggs
I'm also interested in the tooling around statically linked eggs, or at least finding ways to better document the process. I've had mixed results, sometimes it's easy, others it's incredibly painful. If anyone has ideas on how to improve this I'd be willing to help out. On 19 May 2015 at 06:18, Evan Hanson ev...@foldling.org wrote: Hi Nick, On 2015-05-18 9:12, Nick Andryshak wrote: Would it be feasible to make my own object files for eggs that don't include them by using chicken-install -retrieve, and then compiling the sources? Yes, and it's straightforward to do for most extensions -- I've used this approach for a few projects myself -- but it requires manually compiling every single dependency in turn so the task balloons very quickly unless you consciously avoid using eggs with many dependencies. Evan ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] libsvm
Thanks to Mario, I uploaded the modified version at: https://code.call-cc.org/svn/chicken-eggs/release/4/libsvm/branches/using-gc/ Best, Daishi On Mon, 18 May 2015 21:19:18 +0900, Christian Kellermann wrote: Daishi Kato dai...@axlight.com writes: I haven't been following chicken recently, so forgive me if I misunderstand the procedure. Thanks for your contribution! Please find information on how to proceed here: http://wiki.call-cc.org/contribute In short: Mail mario a generated password hash or contact the original author of that egg. Thanks again! Christian -- May you be peaceful, may you live in safety, may you be free from suffering, and may you live with ease. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] openssl egg segfauls: ##sys#expand-home-path
Hi guys, It's been way too long! I'm running CHICKEN 4.9.0.1 and the openssl-egg segfaults at ssl-load-certificate-chain! and friends. I have two patches/suggestions: - remove home path expansion - use the pathname-expand egg I need either of these patches to make openssl not segfault on my system. Any chance of fixing this upstream? Thanks! K. From 8aeb5252f681d472816dc84e6f00f284ce8aa3c9 Mon Sep 17 00:00:00 2001 From: Kristian Lein-Mathisen kristianl...@gmail.com Date: Tue, 19 May 2015 13:22:22 +0200 Subject: [PATCH] bugfix: no home-path expansion because `##sys#expand-home-path` was removed in something like 4.9.0.1. this variable is unbound and causes a segfault (OBS! no error saying that ##sys#expand-home-path is not available) --- openssl.scm | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/openssl.scm b/openssl.scm index db693fe..9e2d57a 100644 --- a/openssl.scm +++ b/openssl.scm @@ -42,8 +42,7 @@ ##sys#current-thread ##sys#size ##sys#setslot - ##sys#check-string - ##sys#expand-home-path)) + ##sys#check-string)) (use srfi-18 tcp) @@ -583,7 +582,7 @@ EOF (unless (eq? ((foreign-lambda int SSL_CTX_use_certificate_chain_file c-pointer c-string) - (ssl-unwrap-context obj) (##sys#expand-home-path pathname)) + (ssl-unwrap-context obj) pathname) 1) (ssl-abort 'ssl-load-certificate-chain! #f pathname))) @@ -602,7 +601,7 @@ EOF return(SSL_CTX_use_PrivateKey_file( (SSL_CTX *)ctx, path, (asn1 ? SSL_FILETYPE_ASN1 : SSL_FILETYPE_PEM)));\n) - (ssl-unwrap-context obj) (##sys#expand-home-path pathname) + (ssl-unwrap-context obj) pathname rsa? asn1?) 1) (ssl-abort 'ssl-load-private-key! #f pathname rsa? asn1?))) @@ -626,8 +625,8 @@ EOF ((foreign-lambda int SSL_CTX_load_verify_locations c-pointer c-string c-string) (ssl-unwrap-context obj) - (if pathname (##sys#expand-home-path pathname) #f) - (if dirname (##sys#expand-home-path dirname) #f)) + (if pathname pathname #f) + (if dirname dirname #f)) 1) (ssl-abort 'ssl-load-verify-root-certificates! #f pathname dirname))) @@ -636,8 +635,7 @@ EOF (##sys#check-string pathname) (ssl-clear-error) (cond - (((foreign-lambda c-pointer SSL_load_client_CA_file c-string) - (##sys#expand-home-path pathname)) + (((foreign-lambda c-pointer SSL_load_client_CA_file c-string) pathname) = (cut (foreign-lambda void SSL_CTX_set_client_CA_list c-pointer c-pointer) -- 2.4.1 From 14254fa5a4e0d9d2084c309abc3cc128950f6919 Mon Sep 17 00:00:00 2001 From: Kristian Lein-Mathisen kristianl...@gmail.com Date: Tue, 19 May 2015 13:31:21 +0200 Subject: [PATCH] bugfix: migrates from ##sys#expand-home-path = pathname-expand the ##sys#expand-home-path procedure was removed from core around chicken 4.9.0.1, and put in a separate egg. let's use that egg (or not expand at all?) without this patch, ssl-load-certificate-chain! and friends will segfault! it's trying to call an unbound procedure: ##sys#expand-home-path --- openssl.meta | 1 + openssl.scm | 15 +++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/openssl.meta b/openssl.meta index b27c8a2..5904c83 100644 --- a/openssl.meta +++ b/openssl.meta @@ -5,5 +5,6 @@ (author Thomas Chust) (license BSD) (category net) + (depends pathname-expand) (doc-from-wiki) (files openssl.scm openssl.release-info openssl.meta openssl.setup)) diff --git a/openssl.scm b/openssl.scm index db693fe..f7665d4 100644 --- a/openssl.scm +++ b/openssl.scm @@ -42,10 +42,9 @@ ##sys#current-thread ##sys#size ##sys#setslot - ##sys#check-string - ##sys#expand-home-path)) + ##sys#check-string)) -(use srfi-18 tcp) +(use srfi-18 tcp pathname-expand) # #include errno.h @@ -583,7 +582,7 @@ EOF (unless (eq? ((foreign-lambda int SSL_CTX_use_certificate_chain_file c-pointer c-string) - (ssl-unwrap-context obj) (##sys#expand-home-path pathname)) + (ssl-unwrap-context obj) (pathname-expand pathname)) 1) (ssl-abort 'ssl-load-certificate-chain! #f pathname))) @@ -602,7 +601,7 @@ EOF return(SSL_CTX_use_PrivateKey_file( (SSL_CTX *)ctx, path, (asn1 ? SSL_FILETYPE_ASN1 : SSL_FILETYPE_PEM)));\n) - (ssl-unwrap-context obj) (##sys#expand-home-path pathname) + (ssl-unwrap-context obj) (pathname-expand pathname) rsa? asn1?) 1) (ssl-abort 'ssl-load-private-key! #f pathname rsa? asn1?))) @@ -626,8 +625,8 @@ EOF ((foreign-lambda int SSL_CTX_load_verify_locations c-pointer c-string c-string) (ssl-unwrap-context obj) - (if pathname (##sys#expand-home-path pathname) #f) - (if dirname (##sys#expand-home-path dirname) #f)) + (if pathname (pathname-expand pathname) #f) + (if dirname (pathname-expand dirname) #f)) 1) (ssl-abort 'ssl-load-verify-root-certificates! #f
Re: [Chicken-users] Statically Linking Eggs
Caolan McMahon writes: I'm also interested in the tooling around statically linked eggs, or at least finding ways to better document the process. I've had mixed results, sometimes it's easy, others it's incredibly painful. If anyone has ideas on how to improve this I'd be willing to help out. Caolan, In additional to the documentation on the CHICKEN website, I found this page has a couple of useful examples of statically linking simple Eggs, maybe it will help you (or somebody else): http://www.foldling.org/scheme.html#compiling-statically-linked-chicken-scheme-programs-with-extensions - Nick ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] openssl egg segfauls: ##sys#expand-home-path
On 2015-05-19 13:35, Kristian Lein-Mathisen wrote: [...] It's been way too long! I'm running CHICKEN 4.9.0.1 and the openssl-egg segfaults at ssl-load-certificate-chain! and friends. I have two patches/suggestions: - remove home path expansion - use the pathname-expand egg [...] Hello, the only reason this functionality was included in the first place, was that CHICKEN's standard I/O procedures used to perform automatic home directory expansion, so I wanted the OpenSSL egg to behave similarly. If I'm not mistaken, the standard I/O procedures no longer do home directory expansion by default. I think it would make sense to also remove this functionality from the OpenSSL egg. If needed, one could always make use of the pathname-expand egg explicitly, which would make the intent clearer. Ciao, Thomas -- When C++ is your hammer, every problem looks like your thumb. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Statically Linking Eggs
Evan Hanson writes: Hi Nick, On 2015-05-18 9:12, Nick Andryshak wrote: Would it be feasible to make my own object files for eggs that don't include them by using chicken-install -retrieve, and then compiling the sources? Yes, and it's straightforward to do for most extensions -- I've used this approach for a few projects myself -- but it requires manually compiling every single dependency in turn so the task balloons very quickly unless you consciously avoid using eggs with many dependencies. Evan Great, thanks for your thoughts and suggestions Evan! - Nick ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users