Re: [Chicken-users] Chicken integration into OpenEmbedded
> > Our current problem is with the cross builder. It has been built using > the PROGRAM_PREFIX set to the target machine (e.g.: i586-oe-linux, > arm-oe-linux, ...) and it does built fine. > > Currently when we run "${TARGET}-chicken-install -target " > it fails. ${TARGET}-csc calls the target gcc with lib${TARGET}-chicken > as library to link to and this seems wrong since it is suppose to link > against target library (thus without ${TARGET} on name). > > Any idea how I could use the build system to instruct csc to not do that? Hi, Otavio! Very cool - I'm looking forward to seeing chicken in OE. The PROGRAM_PREFIX setting also applies to the library name, so PROGRAM_PREFIX=foo will install the chicken library as ".../lib/libchicken.so[.6]". This is intended to allow multiple chicken installations in the same prefix. But (as I assume) since you install the chicken run-time parts on the target system without prefix, this will not match the host system. You show me here that this is not totally correct when building a cross-chicken... You can override the library name by passing "TARGET_LIB_NAME=..." to the make(3) invocation. This should allow you to rename the library that csc(1) will link with (as called by chicken-install(1)). cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Problems with csc 4.7.0 on x86_64
FYI, there is a patch to enable parallel builds at http://bugs.call-cc.org/attachment/ticket/526/parallel-build-2.diff.txt . It's not officially supported yet, but if you want to test it out, please do. Jim On Jun 13, 2011, at 10:20 AM, Vesa Kaihlavirta wrote: > Excerpts from Jim Pryor's message of 2011-06-13 15:51:21 +0300: >> On Mon, Jun 13, 2011 at 12:56:42PM +0200, Thomas Chust wrote: >>> 2011/6/13 Jim Pryor : >> >> I'm cc'ing Vesa Kaihlavirta, who's listed as the current maintainer for >> the Chicken package in Arch. Vesa, some of us on the Chicken Scheme >> mailing list determined that successfully building and installing >> Chicken 4.7.0 requires -j2, -j3, etc flags to be turned off in the >> package() portion of the PKGBUILD script, as well as in the build() >> portion. Also, the manual symlinking to the library at the end of the >> current PKGBUILD can and should be deleted. >> >> Here is my working PKGBUILD: >> ... > > Thank you! I'll merge this in the next version. > > --vk > > ___ > 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] Chicken integration into OpenEmbedded
Hello, Some of you might already know that we're working at integrating Chicken into OpenEmbedded (OE). So far, got some good progress on it but currently we're stuck now and want to gather some input on the issues we're having. First I will try to give some background about how we're doing the integration. For OpenEmbedded we're adding Chicken as another toolchain, so we got three type of builds: * chicken - intended to run on target device. * chicken-native - to run on the host to run code or whatever need. * chicken-cross - to run on the host but compile code to target. Those recipes can be found at https://github.com/OSSystems/meta-oe/tree/chicken/meta-chicken/recipes-devtools/chicken (this is work in progress and once done will be merged into official OE). Our current problem is with the cross builder. It has been built using the PROGRAM_PREFIX set to the target machine (e.g.: i586-oe-linux, arm-oe-linux, ...) and it does built fine. Currently when we run "${TARGET}-chicken-install -target " it fails. ${TARGET}-csc calls the target gcc with lib${TARGET}-chicken as library to link to and this seems wrong since it is suppose to link against target library (thus without ${TARGET} on name). Any idea how I could use the build system to instruct csc to not do that? Thanks in advance, -- Otavio Salvador O.S. Systems E-mail: ota...@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Problems with csc 4.7.0 on x86_64
Excerpts from Jim Pryor's message of 2011-06-13 15:51:21 +0300: > On Mon, Jun 13, 2011 at 12:56:42PM +0200, Thomas Chust wrote: > > 2011/6/13 Jim Pryor : > > I'm cc'ing Vesa Kaihlavirta, who's listed as the current maintainer for > the Chicken package in Arch. Vesa, some of us on the Chicken Scheme > mailing list determined that successfully building and installing > Chicken 4.7.0 requires -j2, -j3, etc flags to be turned off in the > package() portion of the PKGBUILD script, as well as in the build() > portion. Also, the manual symlinking to the library at the end of the > current PKGBUILD can and should be deleted. > > Here is my working PKGBUILD: > ... Thank you! I'll merge this in the next version. --vk ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] still parameterize bug
From: Joo ChurlSoo Subject: [Chicken-users] still parameterize bug Date: Mon, 13 Jun 2011 21:25:33 +0900 > > (c)2000-2007 Felix L. Winkelmann > Version 4.7.0 > windows-mingw32-x86 [ manyargs dload ptables ] > compiled 2011-06-10 on INITERM (MinGW) > > #;1> (define p (make-parameter 10 number->string)) > #;2> (p) > "10" > #;3> (parameterize ((p 100)) (p)) > > Error: (number->string) bad argument type: "10" Yes, sorry, the bug is still open. Fixing this is non-trivial, and since there were already many other things in the queue and because I have no clear idea how to fix this in a not too ugly manner, I postponed this bug to a later release. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Problems with csc 4.7.0 on x86_64
On Mon, Jun 13, 2011 at 12:56:42PM +0200, Thomas Chust wrote: > 2011/6/13 Jim Pryor : > > Thanks Thomas and Jim, that looks right. But puzzling enough, I'm still > > having troubles. > > [...] > > ==> Starting package()... > > [...] > > make[1]: *** [install-libs] Error 1 > > make[1]: *** Waiting for unfinished jobs > > [...] > > this looks as if make install was still using parallel execution, > which might be the reason for the trouble. Try adding the `export > MAKEFLAGS="${MAKEFLAGS/-j?/}"` line to the package() function as well > as the build() function in the PKGBUILD script. > > I just checked and I don't have a -j? option in my /etc/makepkg.conf > on the system where I built my CHICKEN package without trouble, so > this is another indication that the problem is related to that flag. Hi Thomas, thanks a bunch. That was indeed it, and indeed afterwards, my `csc -s hello.scm` works fine. I'm cc'ing Vesa Kaihlavirta, who's listed as the current maintainer for the Chicken package in Arch. Vesa, some of us on the Chicken Scheme mailing list determined that successfully building and installing Chicken 4.7.0 requires -j2, -j3, etc flags to be turned off in the package() portion of the PKGBUILD script, as well as in the build() portion. Also, the manual symlinking to the library at the end of the current PKGBUILD can and should be deleted. Here is my working PKGBUILD: # Maintainer: Vesa Kaihlavirta # Contributor: pkgname=chicken pkgver=4.7.0 pkgrel=1 pkgdesc='A compiler for R5RS scheme, featuring handy extensions' arch=('i686' 'x86_64') url='http://www.call-with-current-continuation.org/' license=('BSD') depends=('gcc') source=("http://code.call-cc.org/releases/${pkgver}/chicken-${pkgver}.tar.gz";) md5sums=('9389388fdf04c3c64de29633aae12539') build() { cd "${pkgname}-${pkgver}" # parallel builds are not supported.. export MAKEFLAGS="${MAKEFLAGS/-j?/}" # some yummy make options there. check out README in the tarball. make PLATFORM=linux PREFIX=/usr } package() { cd "${pkgname}-${pkgver}" export MAKEFLAGS="${MAKEFLAGS/-j?/}" make PLATFORM=linux PREFIX=/usr DESTDIR="${pkgdir}" install install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } -- Jim Pryor prof...@jimpryor.net ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] still parameterize bug
On Mon, Jun 13, 2011 at 09:25:33PM +0900, Joo ChurlSoo wrote: > #;1> (define p (make-parameter 10 number->string)) > #;2> (p) > "10" > #;3> (parameterize ((p 100)) (p)) > > Error: (number->string) bad argument type: "10" Not surprising. The ticket is still open: http://bugs.call-cc.org/ticket/473 -- http://sjamaan.ath.cx -- "The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music." -- Donald Knuth ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] still parameterize bug
(c)2000-2007 Felix L. Winkelmann Version 4.7.0 windows-mingw32-x86 [ manyargs dload ptables ] compiled 2011-06-10 on INITERM (MinGW) #;1> (define p (make-parameter 10 number->string)) #;2> (p) "10" #;3> (parameterize ((p 100)) (p)) Error: (number->string) bad argument type: "10" #;3> (p) "100" #;4> (define q (make-parameter 10 (lambda (x) (+ x 10 #;5> (q) 20 #;6> (parameterize ((q 100)) (q)) 110 #;7> (q) 30 #;8> (q) 30 -- Joo ChurlSoo ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Problems with csc 4.7.0 on x86_64
2011/6/13 Jim Pryor : > Thanks Thomas and Jim, that looks right. But puzzling enough, I'm still > having troubles. > [...] > ==> Starting package()... > [...] > make[1]: *** [install-libs] Error 1 > make[1]: *** Waiting for unfinished jobs > [...] Hello Jim, this looks as if make install was still using parallel execution, which might be the reason for the trouble. Try adding the `export MAKEFLAGS="${MAKEFLAGS/-j?/}"` line to the package() function as well as the build() function in the PKGBUILD script. I just checked and I don't have a -j? option in my /etc/makepkg.conf on the system where I built my CHICKEN package without trouble, so this is another indication that the problem is related to that flag. 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