Re: [racket-dev] racket-5.1{, .0.6} not building foreign interface not supported

2011-04-14 Thread Marijn
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Matthew,

On 04/13/11 19:00, Matthew Flatt wrote:
> At Wed, 13 Apr 2011 11:54:44 +0200, Marijn wrote:
>>> Meanwhile, `configure' now detects when libffi is already installed and
>>> uses it (instead of building the version that is included with Racket).
>>
>> I am now able to build with the bundled libffi, but when I delete that
>> from the source and try to build it doesn't find the system library:
>>
>> x86_64-pc-linux-gnu-gcc -march=native -ggdb -O2 -pipe -DMZ_DONT_USE_JIT
>> -DMZ_USES_SHARED_LIB -I./../racket -I./../racket/include
>> -I./../racket/src -Ilibffi/include -c ./foreign.c  -fPIC -DPIC -o
>> .libs/foreign.o
>> ./foreign.c:73:17: error: ffi.h: No such file or directory
>>
>> libffi uses pkgconfig but I'd have to check up on how to use that again
> 
> I've pushed changed to make `configure' use `pkg-config' for libffi.

configure doesn't detect that I have a system libffi installed.
Specifically,

  AC_TRY_LINK([#include ],
  [ffi_cif cif; ]
  [ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
NULL);],
 have_libffi=yes,
 have_libffi=no)

seems to be failing. If I fool it by inserting

  have_libffi=yes

after that test, then everything seems to build fine. I'm not sure how
to debug that AC_TRY_LINK invocation or what kind of information would
help you to do it, so please tell me if you need anything.

Marijn
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.17 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2msuwACgkQp/VmCx0OL2zUPACguYhksn5Xvg+epnKJfx76qU8a
I1oAoLEn7gfFfgw3KWQGclYgpCMT51FK
=45zy
-END PGP SIGNATURE-
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] racket-5.1{, .0.6} not building foreign interface not supported

2011-04-14 Thread Matthew Flatt
At Thu, 14 Apr 2011 10:40:12 +0200, Marijn wrote:
> I'm not sure how
> to debug that AC_TRY_LINK invocation or what kind of information would
> help you to do it, so please tell me if you need anything.

Can you send me "config.log"? It shows the compilation commands and
error messages when AC_TRY_LINK tries to compile and link.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] racket-5.1{, .0.6} not building foreign interface not supported

2011-04-14 Thread Marijn
On 04/14/11 14:03, Matthew Flatt wrote:
> At Thu, 14 Apr 2011 10:40:12 +0200, Marijn wrote:
>> I'm not sure how
>> to debug that AC_TRY_LINK invocation or what kind of information would
>> help you to do it, so please tell me if you need anything.
> 
> Can you send me "config.log"? It shows the compilation commands and
> error messages when AC_TRY_LINK tries to compile and link.


configure:5116: result: yes
configure:5121: checking for libffi
configure:5173: x86_64-pc-linux-gnu-gcc -o conftest -march=native -ggdb
-O2 -pipe -I/usr/lib64/libffi-3.0.10rc8/include  -Wl,-O1
-Wl,--as-needed -lffi
conftest.c -ldl -lm  -ldl -lm -rdynamic >&5
/var/tmp/portage/dev-scheme/racket-999/temp/ccc4wcaM.o: In function `main':
/var/tmp/portage/dev-scheme/racket-999/work/racket-999/src/conftest.c:29: 
undefined
reference to `ffi_type_void'
/var/tmp/portage/dev-scheme/racket-999/work/racket-999/src/conftest.c:29: 
undefined
reference to `ffi_prep_cif'
collect2: ld returned 1 exit status
configure:5179: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define USE_SINGLE_FLOATS 1
| #define HAVE_LIBM 1
| #define HAVE_LIBDL 1
| #define MZ_USE_NOINLINE 1
| #define HAVE_CODESET 1
| #define HAVE_GETADDRINFO 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h.  */
| #include 
| int
| main ()
| {
| ffi_cif cif;
|   ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
NULL);
|   ;
|   return 0;
| }
configure:5195: result: no
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ ./configure --prefix=/usr --build=x86_64-pc-linux-gnu 
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info 
--datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib 
--libdir=/usr/lib64 --enable-gracket --disable-plot --disable-docs 
--enable-shared --disable-jit --enable-foreign --disable-places 
--disable-futures --disable-backtrace --disable-pthread --disable-perl --with-x

## - ##
## Platform. ##
## - ##

hostname = fusion
uname -m = x86_64
uname -r = 2.6.36-gentoo-r8
uname -s = Linux
uname -v = #1 SMP PREEMPT Wed Mar 9 14:02:29 CET 2011

/usr/bin/uname -p = Intel(R) Core(TM)2 Duo CPU E8600 @ 3.33GHz
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = unknown
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /usr/lib64/portage/bin/ebuild-helpers/4
PATH: /usr/lib64/portage/bin/ebuild-helpers
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /opt/bin
PATH: /usr/x86_64-pc-linux-gnu/gcc-bin/4.4.5


## --- ##
## Core tests. ##
## --- ##

configure:1693: loading site script /usr/share/config.site
| #!/bin/bash
| # Copyright 2009 Gentoo Foundation
| # Distributed under the terms of the GNU General Public License v2
| 
| TOPDIR=/usr/share/crossdev/include/site
| 
| config_site_arch() {
|   local host=$(echo ${CHOST/-/ } | awk '{print $1}')
| 
|   [[ ${host/arm.*eb/} != ${host} ]] && host=armeb
|   [[ ${host/arm/} != ${host} ]] && [[ ${host} != armeb ]] && host=arm
| 
|   [[ ${host/mips.*el/} != ${host} ]] && host=mipsel
| 
|   #[[ ${host/i[4-5]/6} != ${host} ]] && host=i686
| 
|   echo ${host}
| }
| 
| config_site_names() {
|   local site_arch=$(config_site_arch)
|   local sites=""
|   local x
| 
|   [[ ${CHOST/-linux-/} != $CHOST ]] && sites+=" linux ${site_arch}-linux"
|   [[ ${CHOST/darwin/} != $CHOST ]] && sites+=" darwin ${site_arch}-linux"
| 
|   [[ ${CHOST/-linux-uclibc/} != $CHOST ]] && sites+=" linux-uclibc 
${site_arch}-linux-uclibc"
|   [[ ${CHOST/-linux-gnu/} != $CHOST ]] && sites+=" linux-gnu 
${site_arch}-linux-gnu"
| 
|   [[ ${CHOST/-linux-uclibceabi/} != $CHOST ]] && sites+=" 
linux-uclibceabi ${site_arch}-linux-uclibceabi"
|   [[ ${CHOST/-linux-gnueabi/} != $CHOST ]] && sites+=" linux-gnueabi 
${site_arch}-linux-gnueabi"
| 
|   for x in ${sites} ${CHOST}; do
|   [[ -e ${TOPDIR}/${x} ]] && echo ${TOPDIR}/${x}
|   done
| }
| 
| if [[ ${CHOST} != "" ]]; then
|   sites="$(config_site_names)"
|   if [[ ${sites} != "" ]]; then
|   for site in ${sites}; do
|   echo "$(basename $0): loading site script ${site}"
|   . ${site}
|   done
|   fi
|   unset site

Re: [racket-dev] racket-5.1{, .0.6} not building foreign interface not supported

2011-04-14 Thread Marijn
On 04/14/11 14:03, Matthew Flatt wrote:
> At Thu, 14 Apr 2011 10:40:12 +0200, Marijn wrote:
>> I'm not sure how
>> to debug that AC_TRY_LINK invocation or what kind of information would
>> help you to do it, so please tell me if you need anything.
> 
> Can you send me "config.log"? It shows the compilation commands and
> error messages when AC_TRY_LINK tries to compile and link.


configure:5116: result: yes
configure:5121: checking for libffi
configure:5173: x86_64-pc-linux-gnu-gcc -o conftest -march=native -ggdb
-O2 -pipe -I/usr/lib64/libffi-3.0.10rc8/include  -Wl,-O1
-Wl,--as-needed -lffi
conftest.c -ldl -lm  -ldl -lm -rdynamic >&5
/var/tmp/portage/dev-scheme/racket-999/temp/ccc4wcaM.o: In function `main':
/var/tmp/portage/dev-scheme/racket-999/work/racket-999/src/conftest.c:29: 
undefined
reference to `ffi_type_void'
/var/tmp/portage/dev-scheme/racket-999/work/racket-999/src/conftest.c:29: 
undefined
reference to `ffi_prep_cif'
collect2: ld returned 1 exit status
configure:5179: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define USE_SINGLE_FLOATS 1
| #define HAVE_LIBM 1
| #define HAVE_LIBDL 1
| #define MZ_USE_NOINLINE 1
| #define HAVE_CODESET 1
| #define HAVE_GETADDRINFO 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h.  */
| #include 
| int
| main ()
| {
| ffi_cif cif;
|   ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
NULL);
|   ;
|   return 0;
| }
configure:5195: result: no
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ ./configure --prefix=/usr --build=x86_64-pc-linux-gnu 
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info 
--datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib 
--libdir=/usr/lib64 --enable-gracket --disable-plot --disable-docs 
--enable-shared --disable-jit --enable-foreign --disable-places 
--disable-futures --disable-backtrace --disable-pthread --disable-perl --with-x

## - ##
## Platform. ##
## - ##

hostname = fusion
uname -m = x86_64
uname -r = 2.6.36-gentoo-r8
uname -s = Linux
uname -v = #1 SMP PREEMPT Wed Mar 9 14:02:29 CET 2011

/usr/bin/uname -p = Intel(R) Core(TM)2 Duo CPU E8600 @ 3.33GHz
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = unknown
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /usr/lib64/portage/bin/ebuild-helpers/4
PATH: /usr/lib64/portage/bin/ebuild-helpers
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /opt/bin
PATH: /usr/x86_64-pc-linux-gnu/gcc-bin/4.4.5


## --- ##
## Core tests. ##
## --- ##

configure:1693: loading site script /usr/share/config.site
| #!/bin/bash
| # Copyright 2009 Gentoo Foundation
| # Distributed under the terms of the GNU General Public License v2
| 
| TOPDIR=/usr/share/crossdev/include/site
| 
| config_site_arch() {
|   local host=$(echo ${CHOST/-/ } | awk '{print $1}')
| 
|   [[ ${host/arm.*eb/} != ${host} ]] && host=armeb
|   [[ ${host/arm/} != ${host} ]] && [[ ${host} != armeb ]] && host=arm
| 
|   [[ ${host/mips.*el/} != ${host} ]] && host=mipsel
| 
|   #[[ ${host/i[4-5]/6} != ${host} ]] && host=i686
| 
|   echo ${host}
| }
| 
| config_site_names() {
|   local site_arch=$(config_site_arch)
|   local sites=""
|   local x
| 
|   [[ ${CHOST/-linux-/} != $CHOST ]] && sites+=" linux ${site_arch}-linux"
|   [[ ${CHOST/darwin/} != $CHOST ]] && sites+=" darwin ${site_arch}-linux"
| 
|   [[ ${CHOST/-linux-uclibc/} != $CHOST ]] && sites+=" linux-uclibc 
${site_arch}-linux-uclibc"
|   [[ ${CHOST/-linux-gnu/} != $CHOST ]] && sites+=" linux-gnu 
${site_arch}-linux-gnu"
| 
|   [[ ${CHOST/-linux-uclibceabi/} != $CHOST ]] && sites+=" 
linux-uclibceabi ${site_arch}-linux-uclibceabi"
|   [[ ${CHOST/-linux-gnueabi/} != $CHOST ]] && sites+=" linux-gnueabi 
${site_arch}-linux-gnueabi"
| 
|   for x in ${sites} ${CHOST}; do
|   [[ -e ${TOPDIR}/${x} ]] && echo ${TOPDIR}/${x}
|   done
| }
| 
| if [[ ${CHOST} != "" ]]; then
|   sites="$(config_site_names)"
|   if [[ ${sites} != "" ]]; then
|   for site in ${sites}; do
|   echo "$(basename $0): loading site script ${site}"
|   . ${site}
|   done
|   fi
|   unset site

Re: [racket-dev] racket-5.1{, .0.6} not building foreign interface not supported

2011-04-14 Thread Matthew Flatt
At Thu, 14 Apr 2011 16:56:30 +0200, Marijn wrote:
> configure:5173: x86_64-pc-linux-gnu-gcc -o conftest -march=native -ggdb
> -O2 -pipe -I/usr/lib64/libffi-3.0.10rc8/include  -Wl,-O1
> -Wl,--as-needed -lffi
> conftest.c -ldl -lm  -ldl -lm -rdynamic >&5

I mixed up LDFLAGS and LIBS, now fixed.

Another try?

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] [plt-planet-announce] New PLaneT package: stephanh/RacketGL.plt for 4.x, 3xx

2011-04-14 Thread Jay McCarthy
If Stephan is willing, I think we should put this in the core for the
next (not the upcoming release), or remove our core sgl code.

Jay

2011/4/14 PLaneT :
> This announces the availability of a new package from PLaneT:
>
> ---
> Name:            RacketGL.plt
> Package version: 1.0
> Owner:           stephanh
>
>
> Package Description
> Automatically generated bindings for the OpenGL library. Currently includes 
> bindings up to and including OpenGL 4.1.
> ---
>
> Go to
>
> http://planet.racket-lang.org/display.ss?package=RacketGL.plt&owner=stephanh
>
> for more information.
> _
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-planet-announce
>



-- 
Jay McCarthy 
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] [plt] Push #22405: master branch updated

2011-04-14 Thread Eli Barzilay
More than a week ago, ry...@racket-lang.org wrote:
> a19a034 Ryan Culpepper  2011-04-04 15:14
> :
> | added ffi/unsafe/security
> :
>   A collects/ffi/unsafe/security.rkt

`ffi/unsafe' should be for things that are not safe, so it looks like
this should be elsewhere.  (And looking at the functionality, it looks
like it's better to get rid of the ffi types which are easily done
with `security-guard-check-file', and move it to a different
collection -- maybe `racket/path'?)

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev