Re: [racket-dev] racket-5.1{, .0.6} not building foreign interface not supported
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 04/14/11 18:55, Matthew Flatt wrote: > 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? Thanks Matthew, that did it. Marijn -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk2oBJ0ACgkQp/VmCx0OL2wKfgCeNGCjzt6RH6l5H2hATqTJxv6t I4gAn2IVLLDzKWxr66k9qoBcLzY5pebB =F+Dz -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
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] racket-5.1{, .0.6} not building foreign interface not supported
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
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
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
-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
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. _ 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
I've made `--disable-foreign' work again, at least for plain `racket'. Just to be clear: * GRacket no longer works without the FFI (so the `--enable-gracket' and `--disable-foreign' combination in your build log isn't useful). * The `--disable-foreign' option may eventually disappear completely. Meanwhile, `configure' now detects when libffi is already installed and uses it (instead of building the version that is included with Racket). At Fri, 8 Apr 2011 06:47:24 -0600, Matthew Flatt wrote: > At Fri, 08 Apr 2011 14:38:54 +0200, Marijn wrote: > > I get this behavior with both --enable-foreign and --disable-foreign, > > but I don't see how it could be relevant that foreign interface is not > > supported my platform when I disabled foreign. If I disable it then it > > should skip this part which fails, right? > > Oh, I understand now. You want the FFI to be disabled, but Racket > doesn't build without the FFI enabled. > > I'll look into that, but Racket is evolving toward a point where the > FFI will be required always. We may be there already (in which case > `--disable-foreign' should be removed). As of v5.1, the FFI is required > for any drawing or GUI program (including DrRacket). _ 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
At Fri, 08 Apr 2011 14:38:54 +0200, Marijn wrote: > I get this behavior with both --enable-foreign and --disable-foreign, > but I don't see how it could be relevant that foreign interface is not > supported my platform when I disabled foreign. If I disable it then it > should skip this part which fails, right? Oh, I understand now. You want the FFI to be disabled, but Racket doesn't build without the FFI enabled. I'll look into that, but Racket is evolving toward a point where the FFI will be required always. We may be there already (in which case `--disable-foreign' should be removed). As of v5.1, the FFI is required for any drawing or GUI program (including DrRacket). _ 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
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Matthew, thanks for your quick response. On 04/08/11 14:14, Matthew Flatt wrote: > At Fri, 08 Apr 2011 12:45:50 +0200, Marijn wrote: >> subject is valid for both its meanings: >> >> 1) my build fails and complains "make-stubborn-will-executor: foreign >> interface not supported for this platform" >> >> 2) it seems impossible to disable foreign as I get this even if I pass >> --disable-foreign to configure > > Providing `--disable-foreign' will definitely disable the foreign > interface. Maybe you meant `--enable-foreign' above? I get this behavior with both --enable-foreign and --disable-foreign, but I don't see how it could be relevant that foreign interface is not supported my platform when I disabled foreign. If I disable it then it should skip this part which fails, right? > The log that you enclosed shows `configure' being called with > `--disable-foreign', and it looks like the log is showing a > package-based build. Is the `--disable-foreign' flag built into the > package? I'm not sure I understand this question. Yes, I am using a package-based build which passes all flags to configure including --disable-foreign. >> PS It seems that configure.{ac,in} is missing from the source tarball. > > It's in the "racket" subdirectory of "src". Ah thanks. Marijn -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk2fAd4ACgkQp/VmCx0OL2xV0wCfc5sX+3cVKsU2BlelLjbzKW27 CX4AoLXYEntEvtKeorugEncXWHHCNPVD =0qHt -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
At Fri, 08 Apr 2011 12:45:50 +0200, Marijn wrote: > subject is valid for both its meanings: > > 1) my build fails and complains "make-stubborn-will-executor: foreign > interface not supported for this platform" > > 2) it seems impossible to disable foreign as I get this even if I pass > --disable-foreign to configure Providing `--disable-foreign' will definitely disable the foreign interface. Maybe you meant `--enable-foreign' above? The log that you enclosed shows `configure' being called with `--disable-foreign', and it looks like the log is showing a package-based build. Is the `--disable-foreign' flag built into the package? > PS It seems that configure.{ac,in} is missing from the source tarball. It's in the "racket" subdirectory of "src". _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev