Juan Jose Garcia-Ripoll wrote:
> It seems that in OS X, when using "gcc" to link the object files into
> an executable, the flag -m64 is needed _again_ to specify that it is a
> 64-bits build. This is regarding David's question in the sage-devel
> group.
> 
> Now, this is one of the reasons why ECL does not build on OS X when
> compiling with CFLAGS="-m64" Since the linker needs the -m64 flag, ECL
> is not capable of finding your copy of the MPIR library.
> 
> To avoid this problem, ECL now understands an ABI=64 configuration
> option. It only works with OS X but it does not hurt other ports.
> 
> There were other problems, though, which involve misusing the C
> calling conventions. This can be done for Intel/32 bits ABI, but not
> in other modes. Since OS X misidentifies the operating system as 32
> bits (uname -a), ECL was thinking it could use this optimization. I
> have changed it.
> 
> Now ECL builds on my MacBook using ABI=64
> 
> Juanjo
> 
I created a new .spkg file:

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.8.4.p0-4th-attempt/ecl-9.8.4.p0.spkg

which sets the ABI, but I get an odd error. See below.

I get an odd error: see below



ecl-9.8.4.p0/src/src/util/system.lsp
ecl-9.8.4.p0/src/src/util/tag
Finished extraction
****************************************************
Host system
uname -a:
Darwin bsd.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 
PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 i386 MacPro1,1 Darwin
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5493~1/src/configure 
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man 
--enable-languages=c,objc,c++,obj-c++ 
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ 
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib 
--build=i686-apple-darwin9 --with-arch=apple --with-tune=generic 
--host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)
****************************************************
Building a 64-bit version of Sage
Code will be built with debugging information present. Set 'SAGE_DEBUG' 
to 'no' if you don't want that.
No Fortran compiler has been defined. This is not normally a problem.
Using CC=gcc
Using CXX=g++
Using FC=
Using F77=
Using SAGE_FORTRAN=
Using SAGE_FORTRAN_LIB=
Using CFLAGS= -O2  -g  -Wall
Using CXXFLAGS= -O2  -g  -Wall
Using FCFLAGS= -O2  -g  -Wall
Using F77FLAGS= -O2  -g  -Wall
Using CPPFLAGS= -I/Users/kirkby/64/sage-4.1.2.alpha0/local/include
Using LDFLAGS= -L/Users/kirkby/64/sage-4.1.2.alpha0/local/lib
Using LDFLAGS= -L/Users/kirkby/64/sage-4.1.2.alpha0/local/lib
Using ABI=64
Switching to directory `build' to continue configuration.
checking build system type... pentium3-apple-darwin9.8.0
checking host system type... pentium3-apple-darwin9.8.0
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for a BSD-compatible install... /Users/mvngu/usr/bin/install -c
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking Using the GMP library to guess good compiler/linker flags... 
grep: tmp/config.status: No such file or directory
grep: tmp/config.status: No such file or directory
checking C/C++ compiler flags... -O2 -g -Wall
checking Linker flags... -L/Users/kirkby/64/sage-4.1.2.alpha0/local/lib
checking for ld flags when building shared libraries... -dynamiclib 
-flat_namespace -undefined suppress 
-L/Users/kirkby/64/sage-4.1.2.alpha0/local/lib
checking for required libraries...
checking for architecture... PENTIUM3
checking for software type... darwin /
checking for __thread local data... no
checking for install-info... /usr/bin/install-info
checking for getpwnam in -lsun... no
checking for ffi_call in -lffi... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking ffi/ffi.h usability... yes
checking ffi/ffi.h presence... yes
checking for ffi/ffi.h... yes
checking for library containing strerror... none required
checking for __gmpz_init in -lgmp... no
checking for soname flags... -Wl,-install_name,libecl.9.8.dylib 
-Wl,-compatibility_version,9.8.4
checking for X... libraries /usr/X11/lib, headers
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking link.h usability... no
checking link.h presence... no
checking for link.h... no
checking mach-o/dyld.h usability... yes
checking mach-o/dyld.h presence... yes
checking for mach-o/dyld.h... yes
checking ulimit.h usability... yes
checking ulimit.h presence... yes
checking for ulimit.h... yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working volatile... yes
checking for ptrdiff_t... yes
checking size of long long... 64
checking whether byte ordering is bigendian... no
checking appropiate type for fixnums... int
checking for stdint.h... (cached) yes
checking uint8_t type... uint8_t
checking uint16_t type... uint16_t
checking uint32_t type... uint32_t
checking uint64_t type... uint64_t
checking character sequence for end of line... lf
checking for _longjmp... yes
checking whether we can dynamically build calls to C functions... yes
checking for code to detect FP exceptions... x86
checking whether stack growns downwards... yes
checking whether closedir returns void... no
checking for error_at_line... no
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking whether gcc needs -traditional... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking whether lstat dereferences a symlink specified with a trailing 
slash... no
checking whether stat accepts an empty string... no
checking for working strtod... yes
checking for floor... yes
checking for getcwd... yes
checking for gethostbyaddr... yes
checking for gethostbyname... yes
checking for getpagesize... (cached) yes
checking for memmove... yes
checking for memset... yes
checking for mkdir... yes
checking for putenv... yes
checking for socket... yes
checking for sqrt... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strerror... yes
checking for strtol... yes
checking for nanosleep... yes
checking for alarm... yes
checking for times... yes
checking for select... yes
checking for setenv... yes
checking for putenv... (cached) yes
checking for lstat... yes
checking for mkstemp... yes
checking for sigprocmask... yes
checking for isatty... yes
checking for feenableexcept... no
checking for tzset... yes
checking for gettimeofday... yes
checking for getrusage... yes
checking for expf... yes
checking for logf... yes
checking for sqrtf... yes
checking for cosf... yes
checking for sinf... yes
checking for tanf... yes
checking for sinhf... yes
checking for coshf... yes
checking for tanhf... yes
checking for floorf... yes
checking for ceilf... yes
checking for fabsf... yes
checking for frexpf... yes
checking for ldexpf... yes
checking for log1p... yes
checking for log1pf... yes
checking for log1pl... yes
checking for sched_yield... yes
checking for uname... yes
checking for fseeko... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
configure: Configuring included Boehm GC library:
checking build system type... i386-apple-darwin9.8.0
checking host system type... i386-apple-darwin9.8.0
checking target system type... i386-apple-darwin9.8.0
checking GC version numbers... major=7 minor=1
checking for a BSD-compatible install... /Users/mvngu/usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc -fPIC -fno-common
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -fPIC -fno-common accepts -g... yes
checking for gcc -fPIC -fno-common option to accept ISO C89... none needed
checking dependency style of gcc -fPIC -fno-common... gcc3
checking whether gcc -fPIC -fno-common and cc understand -c and -o 
together... rm: cannot remove `conftest.dSYM': Is a directory
yes
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ar... ar
checking for ranlib... ranlib
checking for a BSD-compatible install... /Users/mvngu/usr/bin/install -c
checking for x86_thread_state32_t.eax... no
checking for x86_thread_state32_t.__eax... yes
checking for xlc... no
checking whether to build shared libraries... no
checking which machine-dependent code should be used...
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by gcc -fPIC -fno-common... ld
checking if the linker (ld) is GNU ld... no
checking for ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -p
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -fPIC -fno-common -E
checking for ANSI C header files... rm: cannot remove `conftest.dSYM': 
Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking the maximum length of command line arguments... 196608
checking command to parse /usr/bin/nm -p output from gcc -fPIC 
-fno-common object... rm: cannot remove `conftest.dSYM': Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
ok
checking for objdir... .libs
checking for ar... (cached) ar
checking for ranlib... (cached) ranlib
checking for strip... strip
rm: cannot remove `conftest.dSYM': Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
checking if gcc -fPIC -fno-common supports -fno-rtti -fno-exceptions... 
rm: cannot remove `conftest.dSYM': Is a directory
no
checking for gcc -fPIC -fno-common option to produce PIC... -fno-common
checking if gcc -fPIC -fno-common PIC flag -fno-common works... rm: 
cannot remove `conftest.dSYM': Is a directory
yes
checking if gcc -fPIC -fno-common static flag -static works... rm: 
cannot remove `conftest.dSYM': Is a directory
no
checking if gcc -fPIC -fno-common supports -c -o file.o... rm: cannot 
remove `conftest.dSYM': Is a directory
yes
checking whether the gcc -fPIC -fno-common linker (ld) supports shared 
libraries... yes
checking dynamic linker characteristics... darwin9.8.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
rm: cannot remove `conftest.dSYM': Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
checking for ld used by g++... ld
checking if the linker (ld) is GNU ld... no
checking whether the g++ linker (ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common
checking if g++ PIC flag -fno-common works... rm: cannot remove 
`conftest.dSYM': Is a directory
yes
checking if g++ static flag -static works... rm: cannot remove 
`conftest.dSYM': Is a directory
no
checking if g++ supports -c -o file.o... rm: cannot remove 
`conftest.dSYM': Is a directory
yes
checking whether the g++ linker (ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin9.8.0 dyld
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
rm: cannot remove `conftest.dSYM': Is a directory
rm: cannot remove `conftest.dSYM': Is a directory
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for gfortran option to produce PIC... -fno-common
checking if gfortran PIC flag -fno-common works... rm: cannot remove 
`conftest.dSYM': Is a directory
yes
checking if gfortran static flag -static works... rm: cannot remove 
`conftest.dSYM': Is a directory
no
checking if gfortran supports -c -o file.o... rm: cannot remove 
`conftest.dSYM': Is a directory
yes
checking whether the gfortran linker (ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin9.8.0 dyld
checking how to hardcode library paths into programs... immediate
checking sys/dg_sys_info.h usability... no
checking sys/dg_sys_info.h presence... no
checking for sys/dg_sys_info.h... no
checking whether Solaris gcc optimization fix is necessary... no
checking atomic_ops.h usability... no
checking atomic_ops.h presence... no
checking for atomic_ops.h... no
configure: Using internal version of libatomic_ops
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bdw-gc.pc
config.status: executing depfiles commands
config.status: executing default commands
configure: Configuring included GMP library:
checking build system type... none-apple-darwin9.8.0
checking host system type... none-apple-darwin9.8.0
checking for a BSD-compatible install... /Users/mvngu/usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: ABI=64 is not among the following valid choices: long 
longlongconfigure: creating ./config.status
config.status: creating bare.lsp
config.status: creating lsp/load.lsp
config.status: creating clos/load.lsp
config.status: creating cmp/load.lsp
config.status: creating ../Makefile
config.status: WARNING:  '../Makefile.in' seems to ignore the 
--datarootdir setting
config.status: creating Makefile
config.status: creating c/Makefile
config.status: creating doc/Makefile
config.status: WARNING: 
'/Users/kirkby/64/sage-4.1.2.alpha0/spkg/build/ecl-9.8.4.p0/src/src/doc/Makefile.in'
 
seems to ignore the --datarootdir setting
config.status: creating doc/ecl.man
config.status: creating doc/ecl-config.man
config.status: creating ecl/configpre.h
config.status: creating bin/ecl-config.pre
config.status: creating lsp/config.pre
config.status: creating compile.pre
config.status: creating cmp/cmpdefs.pre
config.status: creating ecl/config.h
Configuration complete. To build ECL, issue make in this directory.
cd build; make
cp 
/Users/kirkby/64/sage-4.1.2.alpha0/spkg/build/ecl-9.8.4.p0/src/src/util/gdbinit 
.gdbinit
if (echo c gc gmp | grep gmp); then \
           cd gmp && make install && \
           cd .. && mv include/gmp.h ecl/ && rmdir include &&  \
           mv ./libgmp.a ./libeclgmp.a; \
         fi
c gc gmp
make[2]: *** No rule to make target `install'.  Stop.
make[1]: *** [libeclgmp.a] Error 2
make: *** [all] Error 2

real    0m34.555s
user    0m9.122s
sys     0m17.578s
sage: An error occurred while installing ecl-9.8.4.p0
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /Users/kirkby/64/sage-4.1.2.alpha0/install.log.  Describe your 
computer, operating system, etc.
If you want to try to fix the problem, yourself *don't* just cd to
/Users/kirkby/64/sage-4.1.2.alpha0/spkg/build/ecl-9.8.4.p0 and type 'make'.
Instead type "/Users/kirkby/64/sage-4.1.2.alpha0/sage -sh"
in order to set all environment variables correctly, then cd to
/Users/kirkby/64/sage-4.1.2.alpha0/spkg/build/ecl-9.8.4.p0
(When you are done debugging, you can type "exit" to leave the
subshell.)


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to