octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building on OSX without package managers


From: Richard Campbell
Subject: Re: Building on OSX without package managers
Date: Tue, 25 Jan 2011 00:21:15 -0500

On Jan 25, 2011, at 12:08 AM, John W. Eaton wrote:

> On 24-Jan-2011, Richard Campbell wrote:
> 
> | > What is in your config.h file?  For F77_FUNC, I would expect something
> | > like
> | > 
> | >  #define F77_FUNC(name,NAME) name ## _
> | > 
> | > but it looks like it is not being defined, since there is a
> | > diagnostic about it as if it is not being expanded by the
> | > preprocessor.
> | > 
> | > jwe
> | 
> | cat config.h | grep -B 2 -i f77_func
> | /* Define to a macro mangling the given C identifier (in lower and upper
> |    case), which must not contain underscores, for linking with Fortran. */
> | /* #undef F77_FUNC */
> | 
> | /* As F77_FUNC, but for C identifiers containing underscores. */
> | /* #undef F77_FUNC_ */
> 
> That should not happen.
> 
> In your config.log file, there should be a line like this:
> 
>  configure:28708: checking for Fortran 77 name-mangling scheme
> 
> followed by the compile commands tried, information about failed
> tests, and then the result.  What do you have for that?  Send
> the config.log output to the list if you like, or just this section.
> If you send the whole file, please gzip it before you send it as the
> config.log file itself is about 1.8MB, but the compressed file is only
> about 100k.
> 
> jwe


Sure enough, I got the following:

configure:10333: checking for Fortran 77 name-mangling scheme
configure:10346: gfortran -c -O conftest.f >&5
configure:10346: $? = 0
configure:10387: gcc -o conftest -g -O2  -I/usr/X11/include/freetype2 
-I/usr/X11/include  conftest.c cfortran_test.o -lz -lm  -L/usr/X11/lib 
-lfreetype -lz -Wl,-framework,CoreServices -Wl,-framework,ApplicationServices 
-Wl,-framework -Wl,OpenGL  -L/usr/X11/lib 
-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3 
-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/../../.. -lz -lm -lfreetype 
-lgfortranbegin -lgfortran >&5
ld: warning: in cfortran_test.o, file was built for i386 which is not the 
architecture being linked (x86_64)
ld: warning: in /usr/local/lib/gcc/i686-apple-darwin8/4.2.3/libgfortranbegin.a, 
file was built for unsupported file format which is not the architecture being 
linked (x86_64)
ld: warning: in /usr/local/lib/gcc/i686-apple-darwin8/4.2.3/libgcc.a, file was 
built for unsupported file format which is not the architecture being linked 
(x86_64)
Undefined symbols:
  "_foobar", referenced from:
      _main in cc0BG9Jy.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

which led me to believe that --build=i686-apple-darwin10 wasn't sufficient to 
tell it not to compile as 64-bit. I tried again with "CFLAGS=-arch i686" and 
"FFLAGS=-arch i686" and it didn't give the same error. However, I'm now getting 
"configure: WARNING: I need GNU Readline 4.2 or later" since I compiled 
readline as 64-bit earlier. I'll try to compile readline as a 32 bit binary.

I think the root of the issue might be that newer Macs (as in newer hardware, 
not newer OS) want to default to compiling as 64 bit rather than 32 bit.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]