Re: [Chicken-users] Chicken integration into OpenEmbedded

2011-06-13 Thread Felix
> 
> 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

2011-06-13 Thread Jim Ursetto
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

2011-06-13 Thread Otavio Salvador
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

2011-06-13 Thread Vesa Kaihlavirta
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

2011-06-13 Thread Felix
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

2011-06-13 Thread Jim Pryor
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

2011-06-13 Thread Peter Bex
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

2011-06-13 Thread Joo ChurlSoo

(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-06-13 Thread Thomas Chust
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