[Chicken-users] Non printable characters in call history
Hi, Chicken prints non printable characters in its call history: (string->blob405 "�x\x1e�`�ռ�UF���~F") My terminal crashed just because of this. Is it the intended behavior? Or can I change this by myself? Regards, Sascha ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] How to compile with openssl?
Hi, I have a small program talking XML-RPC over HTTPS. When I run it with csi it works fine: $ csi -s domrobot.scm 127.0.0.1 Record updated. But when I try the compiled version I get an error: $ csc domrobot.scm $ ./domrobot 127.0.0.1 Error: (ssl-connect) Unable to connect over HTTPS. To fix this, install the openssl egg and try again: "https://api.domrobot.com/xmlrpc/"; Call history: http-client#ensure-local-connections http-client#connections-owner current-thread http-client#connections hash-table-ref/default open-output-string uri-common#uri-host write write-char/port uri-common#uri-port uri-generic#uri-port uri-generic#uri-scheme alist-ref write get-output-string raise <-- This are the modules I use: (use http-client uri-common uuid xml-rpc-client blowfish) I tried to load all directly imported modules and also the indirectly imported openssl module before compilation: (begin-for-syntax (require-extension openssl) (require-extension http-client) (require-extension uri-common) (require-extension uuid) (require-extension xml-rpc-client) (require-extension blowfish)) But this does not help. Can anybody give me a hint what else I have to do to compile the program? Regards, Sascha ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] How to compile with openssl?
Sascha Ziemann writes: > This are the modules I use: > > (use http-client > uri-common > uuid > xml-rpc-client > blowfish) Does it work, when you add openssl here also? Cheers, 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
Re: [Chicken-users] How to compile with openssl?
2014-10-07 13:45 GMT+02:00 Christian Kellermann : > * Sascha Ziemann [141007 13:37]: > > The binary is not linked against Openssl: > > > > $ ldd domrobot > > linux-gate.so.1 => (0xb7793000) > > libchicken.so.6 => /usr/lib/libchicken.so.6 (0xb7402000) > > libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb73d6000) > > libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb73d2000) > > libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7284000) > > /lib/ld-linux.so.2 (0xb7794000) > > > > Should it be so? > > Yes, I think it should. > > I tried it but it does not help either: $ csc -L/usr/lib/i386-linux-gnu/i586 -lssl domrobot.scm $ ldd domrobot linux-gate.so.1 => (0xb77ae000) libssl.so.1.0.0 => /usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0 (0xb774c000) libchicken.so.6 => /usr/lib/libchicken.so.6 (0xb73bd000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7397000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7393000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7245000) libcrypto.so.1.0.0 => /usr/lib/i386-linux-gnu/i586/libcrypto.so.1.0.0 (0xb7081000) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7068000) /lib/ld-linux.so.2 (0xb77af000) $ ./domrobot 127.0.0.1 Error: (ssl-connect) Unable to connect over HTTPS. To fix this, install the openssl egg and try again: "https://api.domrobot.com/xmlrpc/"; ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] How to compile with openssl?
On Tue, Oct 07, 2014 at 01:19:55PM +0200, Sascha Ziemann wrote: > I tried to load all directly imported modules and also the indirectly > imported openssl module before compilation: > > (begin-for-syntax > (require-extension openssl) > (require-extension http-client) > (require-extension uri-common) > (require-extension uuid) > (require-extension xml-rpc-client) > (require-extension blowfish)) > > But this does not help. It may be "indirectly" imported, but it needs to load it at runtime, because that's when the SSL connection is made. You do not even need to (use ..) it or (require-library ..) it; http-client attempts to do that at runtime. You'll need to ensure that openssl is available to the application. Like the error message says, all you need to do is ensure that it's installed and it'll work. If you're using -deploy, make sure that you add the egg to your application bundle. If you're using a custom egg repository, ensure that openssl is in there. Cheers, Peter -- http://www.more-magic.net ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] How to compile with openssl?
2014-10-07 13:48 GMT+02:00 Peter Bex : > > You'll need to ensure that openssl is available to the application. > Like the error message says, all you need to do is ensure that it's > installed and it'll work. If you're using -deploy, make sure that you > add the egg to your application bundle. If you're using a custom egg > repository, ensure that openssl is in there. > > I run the interpreted and compiled version on the same system. How can the egg not being there for the compiled version, if it is there for the interpreted version? I tried strace on the interpreted and the compiled version. The funny thing is, that the compiled version opens libssl and after that reports the error that openssl is not available. $ strace ./domrobot 127.0.0.1 2>&1|grep ssl stat64("/var/lib//chicken/6/openssl.so", {st_mode=S_IFREG|0755, st_size=251089, ...}) = 0 stat64("/var/lib//chicken/6/openssl", 0xbff9239c) = -1 ENOENT (No such file or directory) stat64("/var/lib//chicken/6/openssl.so", {st_mode=S_IFREG|0755, st_size=251089, ...}) = 0 open("/var/lib//chicken/6/openssl.so", O_RDONLY) = 3 open("/usr/lib/i586/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/i586/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = 3 write(2, "(ssl-connect) Unable to connect "..., 94(ssl-connect) Unable to connect over HTTPS. To fix this, install the openssl egg and try again) = 94 csi opens just the same lib: $ grep /usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0 *.trace csc.trace:open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = 3 csi.trace:open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = 4 I do not think that my system installation is broken. I think csi and csc do different things with libssl. Regards, Sascha ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] How to compile with openssl?
Sascha, putting (use openssl) in your code makes any difference? Best wishes, Arthur 2014-10-07 9:16 GMT-03:00 Sascha Ziemann : > > > 2014-10-07 13:48 GMT+02:00 Peter Bex : > >> >> You'll need to ensure that openssl is available to the application. >> Like the error message says, all you need to do is ensure that it's >> installed and it'll work. If you're using -deploy, make sure that you >> add the egg to your application bundle. If you're using a custom egg >> repository, ensure that openssl is in there. >> >> > I run the interpreted and compiled version on the same system. How can the > egg not being there for the compiled version, if it is there for the > interpreted version? > > I tried strace on the interpreted and the compiled version. The funny > thing is, that the compiled version opens libssl and after that reports the > error that openssl is not available. > > $ strace ./domrobot 127.0.0.1 2>&1|grep ssl > stat64("/var/lib//chicken/6/openssl.so", {st_mode=S_IFREG|0755, > st_size=251089, ...}) = 0 > stat64("/var/lib//chicken/6/openssl", 0xbff9239c) = -1 ENOENT (No such > file or directory) > stat64("/var/lib//chicken/6/openssl.so", {st_mode=S_IFREG|0755, > st_size=251089, ...}) = 0 > open("/var/lib//chicken/6/openssl.so", O_RDONLY) = 3 > open("/usr/lib/i586/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file > or directory) > open("/usr/lib/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or > directory) > open("/usr/lib/i586/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file > or directory) > open("/usr/lib/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or > directory) > open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = 3 > write(2, "(ssl-connect) Unable to connect "..., 94(ssl-connect) Unable to > connect over HTTPS. To fix this, install the openssl egg and try again) = 94 > > csi opens just the same lib: > > $ grep /usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0 *.trace > csc.trace:open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = > 3 > csi.trace:open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = > 4 > > I do not think that my system installation is broken. I think csi and csc > do different things with libssl. > > Regards, > Sascha > > > ___ > 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] How to compile with openssl?
Hi Sascha, which CHICKEN version are you using? There is a bug in some older versions where you need to specify (use chicken-syntax) for it work in compiled modules. Does that help? K. On Tue, Oct 7, 2014 at 2:25 PM, Arthur Maciel wrote: > Sascha, putting (use openssl) in your code makes any difference? > > Best wishes, > Arthur > > > 2014-10-07 9:16 GMT-03:00 Sascha Ziemann : > >> >> >> 2014-10-07 13:48 GMT+02:00 Peter Bex : >> >>> >>> You'll need to ensure that openssl is available to the application. >>> Like the error message says, all you need to do is ensure that it's >>> installed and it'll work. If you're using -deploy, make sure that you >>> add the egg to your application bundle. If you're using a custom egg >>> repository, ensure that openssl is in there. >>> >>> >> I run the interpreted and compiled version on the same system. How can >> the egg not being there for the compiled version, if it is there for the >> interpreted version? >> >> I tried strace on the interpreted and the compiled version. The funny >> thing is, that the compiled version opens libssl and after that reports the >> error that openssl is not available. >> >> $ strace ./domrobot 127.0.0.1 2>&1|grep ssl >> stat64("/var/lib//chicken/6/openssl.so", {st_mode=S_IFREG|0755, >> st_size=251089, ...}) = 0 >> stat64("/var/lib//chicken/6/openssl", 0xbff9239c) = -1 ENOENT (No such >> file or directory) >> stat64("/var/lib//chicken/6/openssl.so", {st_mode=S_IFREG|0755, >> st_size=251089, ...}) = 0 >> open("/var/lib//chicken/6/openssl.so", O_RDONLY) = 3 >> open("/usr/lib/i586/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file >> or directory) >> open("/usr/lib/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or >> directory) >> open("/usr/lib/i586/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file >> or directory) >> open("/usr/lib/libssl.so.1.0.0", O_RDONLY) = -1 ENOENT (No such file or >> directory) >> open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) = 3 >> write(2, "(ssl-connect) Unable to connect "..., 94(ssl-connect) Unable to >> connect over HTTPS. To fix this, install the openssl egg and try again) = 94 >> >> csi opens just the same lib: >> >> $ grep /usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0 *.trace >> csc.trace:open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) >> = 3 >> csi.trace:open("/usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0", O_RDONLY) >> = 4 >> >> I do not think that my system installation is broken. I think csi and csc >> do different things with libssl. >> >> Regards, >> Sascha >> >> >> ___ >> 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 mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] How to compile with openssl?
2014-10-07 14:28 GMT+02:00 Kristian Lein-Mathisen : > > which CHICKEN version are you using? > It is the one which comes with Debian stable: 4.7.0-1 > There is a bug in some older versions where you need to specify (use > chicken-syntax) for it work in compiled modules. Does that help? > > Yes! This helps. Thanks! Regards, Sascha ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] How to compile with openssl?
* Sascha Ziemann [141007 15:11]: > 2014-10-07 14:28 GMT+02:00 Kristian Lein-Mathisen : > > > > > which CHICKEN version are you using? > > > > It is the one which comes with Debian stable: 4.7.0-1 > > > > There is a bug in some older versions where you need to specify (use > > chicken-syntax) for it work in compiled modules. Does that help? > > > > > Yes! This helps. Thanks! If you can please consider upgrading, 4.7.0 is horribly out of date and tons of bugs have been fixed in the meantime. CHICKEN works very well when installed locally, so you don't need to be root. Also I think on testing there's already a newer version so maybe you can grab the .deb from there. Kind regards, 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
Re: [Chicken-users] How to compile with openssl?
2014-10-07 15:23 GMT+02:00 Christian Kellermann : > If you can please consider upgrading, 4.7.0 is horribly out of date > and tons of bugs have been fixed in the meantime. > With the two non obvious lines: (use chicken-syntax) (begin-for-syntax (require-extension blowfish)) it works better than Perl's XMLRPC::Lite which fails to parse the XML result of a method I need and which needs also Jessi packages on Wheezy. Installing Jessi packages on Wheezy puzzles Apt and causes package dependency errors. With the Chicken version I can remove the Jessi packages and Apt is happy again. Regard, Sascha ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users