On Mar 4, 2014, at 1:38 PM, Alexy Khrabrov <delivera...@gmail.com> wrote:

> OK, after moving aside brew and building with ATT gfortran-4.3 and
> your options above, I've installed over previous binary install of R.
> It starts up 32-bit version fine via R, but --arch=x86_64 says
> subarchitecture not installed.  Anything else needed to enable it?
> 

Did you build and install the 64-bit version as well? And did you use 
r_arch=x86_64 in the 64-bit build?

Cheers,
S



> A+
> 
> On Mon, Mar 3, 2014 at 2:17 PM, Simon Urbanek
> <simon.urba...@r-project.org> wrote:
>> On Mar 3, 2014, at 4:50 PM, Alexy Khrabrov <delivera...@gmail.com> wrote:
>> 
>>> That's my own prefix gave to configure with your options above.  I've
>>> installed gfortran-4.8.2 via brew, and gfortran symlink is pointing to
>>> it.  For this 32-bit build, I've changed your flags to refer to
>>> gfortran-4.2, which is the one installed from the tools link on CRAN.
>> 
>> Ah, no, you cannot mix homebrew and native builds. As I said, if you use 
>> anything other that the native toolchain all bets are off and you'll need to 
>> pickup the mess yourself. In particular Homebrew doesn't provide fat 
>> binaries so you cannot mix it with 32-bit at all. Remove homebrew (move 
>> /usr/local aside), re-install the CRAN compiler and go from there. If you 
>> need any dependencies, have a look in
>> http://r.research.att.com/libs/
>> 
>> Cheers,
>> Simon
>> 
>> 
>> 
>>> Yet I get warnings during build:
>>> 
>>> ld: warning: ignoring file
>>> /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libquadmath.dylib, file
>>> was built for x86_64 which is not the architecture being linked
>>> (i386): /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libquadmath.dylib
>>> 
>>> ld: warning: ignoring file
>>> /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2/libgcc.a,
>>> file was built for archive which is not the architecture being linked
>>> (i386): 
>>> /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2/libgcc.a
>>> 
>>> -- hence I configured my own --prefix=/opt/R/R32 to first see whether
>>> my build works, and it doesn't run from it.  make check seems to pass.
>>> Should I just make install and hope R --arch=i386 will work?
>>> 
>> 
>> 
>>> A+
>>> 
>>> On Mon, Mar 3, 2014 at 1:32 PM, Simon Urbanek
>>> <simon.urba...@r-project.org> wrote:
>>>> On Mar 3, 2014, at 4:24 PM, Alexy Khrabrov <delivera...@gmail.com> wrote:
>>>> 
>>>>> So in what sense is R on Mac OSX now supported as only 64-bit for 3.0
>>>>> and after?  BTW, for the freshly built R32, I'm getting
>>>>> 
>>>>> [126] $ /opt/R/R32/R.framework/R
>>>>>                                zsh: exec format error:
>>>>> /opt/R/R32/R.framework/R
>>>>> 
>>>> 
>>>> What is that? That's neither the proper place for a framework nor the 
>>>> correct build. Are you trying to run the framework library as opposed to 
>>>> the R binary?
>>>> 
>>>> If you do
>>>> 
>>>> make && make install
>>>> 
>>>> then the framework will be in
>>>> 
>>>> /Library/Frameworks/R.framework
>>>> 
>>>> and the R start script in
>>>> 
>>>> /Library/Frameworks/R.framework/Resources/bin/R
>>>> 
>>>> You should not need to set anything else.
>>>> 
>>>> Cheers,
>>>> Simon
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> setting DYLD_LIBRARY_PATH=/opt/R/R32/R.framework/Libraries doesn't help.
>>>>> 
>>>>> A+
>>>>> 
>>>>> On Mon, Mar 3, 2014 at 12:54 PM, Simon Urbanek
>>>>> <simon.urba...@r-project.org> wrote:
>>>>>> On Mar 3, 2014, at 3:41 PM, Alexy Khrabrov <delivera...@gmail.com> wrote:
>>>>>> 
>>>>>>>> They are both installed into the same "fat" framework. Everything is 
>>>>>>>> shared (i.e. files exist only once) except for the .so objects and 
>>>>>>>> some configurations that are in separate subdirectories based on the 
>>>>>>>> r_arch setting. OS X supports multiple architectures in one binary, 
>>>>>>>> that's why you don't need to modify any paths. OS X was running 
>>>>>>>> several architectures in parallel for a long time (first PPC+Intel 
>>>>>>>> then ppc+ppc64+i386+x86_64) so it "just works". The only thing to 
>>>>>>>> remember is that when you are compiling 3rd party dependencies, you 
>>>>>>>> must compile them "fat" for both architectures as well (or use lipo to 
>>>>>>>> combine them).
>>>>>>> 
>>>>>>> Great -- so how should I configure R build to do that?  Obviously the
>>>>>>> above builds only one.
>>>>>>> 
>>>>>> 
>>>>>> You always build one, but they both install into one merged framework. 
>>>>>> You choose which to invoke by setting the --arch parameter, e.g. R 
>>>>>> --arch=x86_64 to run the 64-bit version. The default will be whichever 
>>>>>> you install last.
>>>>>> 
>>>>>> Cheers,
>>>>>> Simon
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to