Vinh Nguyen | 10 Aug 01:40 2011
Picon

build 32-bit R on x86_64?

Dear R-Devel,

I'm using Ubuntu on an x86_64 machine and would like to have both the
32-bit and 64-bit versions of R built from source.  By default,
following the usual build procedures yields 64 bit R.  Looking at
[these](http://cran.r-project.org/doc/manuals/R-admin.html#Sub_002darchitectures),
I thought I could build 32-bit R by executing

r_arch=32 ./configure

and building R like usual (make).  However, after seeing this error message,

/usr/bin/install: cannot create regular file
`../../include/32/Rconfig.h': No such file or directory

I realize I am misunderstanding the instructions.  Could someone
please clarify how I could go about compiling both 32-bit and 64-bit
versions of R on my Linux machine?  Thank you!

-- Vinh

Joris Meys | 10 Aug 01:52 2011
Picon

Re: build 32-bit R on x86_64?

The architecture is called i386. Try

r_arch=i386 ./configure

That should work.
Cheers
Joris

On Wed, Aug 10, 2011 at 1:40 AM, Vinh Nguyen <vqnguyen <at> uci.edu> wrote:
> Dear R-Devel,
>
> I'm using Ubuntu on an x86_64 machine and would like to have both the
> 32-bit and 64-bit versions of R built from source.  By default,
> following the usual build procedures yields 64 bit R.  Looking at
> [these](http://cran.r-project.org/doc/manuals/R-admin.html#Sub_002darchitectures),
> I thought I could build 32-bit R by executing
>
> r_arch=32 ./configure
>
> and building R like usual (make).  However, after seeing this error message,
>
> /usr/bin/install: cannot create regular file
> `../../include/32/Rconfig.h': No such file or directory
>
> I realize I am misunderstanding the instructions.  Could someone
> please clarify how I could go about compiling both 32-bit and 64-bit
> versions of R on my Linux machine?  Thank you!
>
> -- Vinh
>
(Continue reading)

Vinh Nguyen | 10 Aug 02:08 2011
Picon

Re: build 32-bit R on x86_64?

On Tue, Aug 9, 2011 at 4:52 PM, Joris Meys <jorismeys <at> gmail.com> wrote:
> The architecture is called i386. Try
>
> r_arch=i386 ./configure
>
> That should work.
> Cheers
> Joris

Thank you for your response Joris.  However, I still get:
/usr/bin/install: cannot create regular file
`../../include/i386/Rconfig.h': No such file or directory

I don't think r_arch necessarily instruct make to build 32-bit
versions of R; I think it's more of a prefix in the name.

Dirk Eddelbuettel | 10 Aug 02:12 2011
Picon

Re: build 32-bit R on x86_64?


Hi Vinh,

On 9 August 2011 at 16:40, Vinh Nguyen wrote:
| Dear R-Devel,
| 
| I'm using Ubuntu on an x86_64 machine and would like to have both the
| 32-bit and 64-bit versions of R built from source.  By default,
| following the usual build procedures yields 64 bit R.  Looking at
| [these](http://cran.r-project.org/doc/manuals/R-admin.html#Sub_002darchitectures),
| I thought I could build 32-bit R by executing
| 
| r_arch=32 ./configure
| 
| and building R like usual (make).  However, after seeing this error message,
| 
| /usr/bin/install: cannot create regular file
| `../../include/32/Rconfig.h': No such file or directory
| 
| I realize I am misunderstanding the instructions.  Could someone
| please clarify how I could go about compiling both 32-bit and 64-bit
| versions of R on my Linux machine?  Thank you!

I do not think that multiarch build (ie 32 and 64 at the same time) are fully
supported yet on Ubuntu or Debian. It is coming, but just like a number of
other things, not exactly overnight. It is a release goal.

In the meantime, you can always use virtualization. I have a Debian 32-bit
system and an Ubuntu 32-bit system in KVM virtualization on my Ubuntu 64-bit
server.  That works well.  Kvm, or Xen, or Virtualbox, or Vmware, ... all
(Continue reading)

Simon Urbanek | 10 Aug 03:24 2011

Re: build 32-bit R on x86_64?


On Aug 9, 2011, at 8:12 PM, Dirk Eddelbuettel wrote:

> 
> Hi Vinh,
> 
> On 9 August 2011 at 16:40, Vinh Nguyen wrote:
> | Dear R-Devel,
> | 
> | I'm using Ubuntu on an x86_64 machine and would like to have both the
> | 32-bit and 64-bit versions of R built from source.  By default,
> | following the usual build procedures yields 64 bit R.  Looking at
> | [these](http://cran.r-project.org/doc/manuals/R-admin.html#Sub_002darchitectures),
> | I thought I could build 32-bit R by executing
> | 
> | r_arch=32 ./configure
> | 
> | and building R like usual (make).  However, after seeing this error message,
> | 
> | /usr/bin/install: cannot create regular file
> | `../../include/32/Rconfig.h': No such file or directory
> | 
> | I realize I am misunderstanding the instructions.  Could someone
> | please clarify how I could go about compiling both 32-bit and 64-bit
> | versions of R on my Linux machine?  Thank you!
> 
> I do not think that multiarch build (ie 32 and 64 at the same time) are fully supported yet on Ubuntu or
Debian. It is coming, but just like a number of other things, not exactly overnight. It is a release goal.
> 

(Continue reading)

Dirk Eddelbuettel | 10 Aug 03:41 2011
Picon

Re: build 32-bit R on x86_64?


On 9 August 2011 at 21:24, Simon Urbanek wrote:
| 
| On Aug 9, 2011, at 8:12 PM, Dirk Eddelbuettel wrote:
| 
| > 
| > Hi Vinh,
| > 
| > On 9 August 2011 at 16:40, Vinh Nguyen wrote:
| > | Dear R-Devel,
| > | 
| > | I'm using Ubuntu on an x86_64 machine and would like to have both the
| > | 32-bit and 64-bit versions of R built from source.  By default,
| > | following the usual build procedures yields 64 bit R.  Looking at
| > | [these](http://cran.r-project.org/doc/manuals/R-admin.html#Sub_002darchitectures),
| > | I thought I could build 32-bit R by executing
| > | 
| > | r_arch=32 ./configure
| > | 
| > | and building R like usual (make).  However, after seeing this error message,
| > | 
| > | /usr/bin/install: cannot create regular file
| > | `../../include/32/Rconfig.h': No such file or directory
| > | 
| > | I realize I am misunderstanding the instructions.  Could someone
| > | please clarify how I could go about compiling both 32-bit and 64-bit
| > | versions of R on my Linux machine?  Thank you!
| > 
| > I do not think that multiarch build (ie 32 and 64 at the same time) are fully supported yet on Ubuntu or
Debian. It is coming, but just like a number of other things, not exactly overnight. It is a release goal.
(Continue reading)

Simon Urbanek | 10 Aug 03:57 2011

Re: build 32-bit R on x86_64?


On Aug 9, 2011, at 9:41 PM, Dirk Eddelbuettel wrote:

> 
> On 9 August 2011 at 21:24, Simon Urbanek wrote:
> | 
> | On Aug 9, 2011, at 8:12 PM, Dirk Eddelbuettel wrote:
> | 
> | > 
> | > Hi Vinh,
> | > 
> | > On 9 August 2011 at 16:40, Vinh Nguyen wrote:
> | > | Dear R-Devel,
> | > | 
> | > | I'm using Ubuntu on an x86_64 machine and would like to have both the
> | > | 32-bit and 64-bit versions of R built from source.  By default,
> | > | following the usual build procedures yields 64 bit R.  Looking at
> | > | [these](http://cran.r-project.org/doc/manuals/R-admin.html#Sub_002darchitectures),
> | > | I thought I could build 32-bit R by executing
> | > | 
> | > | r_arch=32 ./configure
> | > | 
> | > | and building R like usual (make).  However, after seeing this error message,
> | > | 
> | > | /usr/bin/install: cannot create regular file
> | > | `../../include/32/Rconfig.h': No such file or directory
> | > | 
> | > | I realize I am misunderstanding the instructions.  Could someone
> | > | please clarify how I could go about compiling both 32-bit and 64-bit
> | > | versions of R on my Linux machine?  Thank you!
(Continue reading)

Vinh Nguyen | 10 Aug 17:37 2011
Picon

Re: build 32-bit R on x86_64?

On Tue, Aug 9, 2011 at 6:24 PM, Simon Urbanek
<simon.urbanek <at> r-project.org> wrote:
> It actually works ;) I'm using it for testing on my RForge.net machine and yes, it's Debian - everything
just works there :).
>
> But back to the original question. First a minor detail, don't set environment variables use configure
variables instead. Second, don't build in the source directory, always create an object directory.
Third, r_arch is simply a name you set for the architecture, it has no meaning other than that it's a label.
>
> So now to the real stuff. If you want 32-bit build, you'll need 32-bit runtime of everything important in
your system and the multilib compilers. In Debian (and thus likely in Ubuntu too) that can be achieved by
something like
>
> sudo apt-get install  ia32-libs-dev lib32readline6-dev lib32ncurses5-dev lib32icu-dev
gcc-multilib gfortran-multilib
>
> Then you can build both 64-bit and 32-bit R, the difference will be in the all compiler flags -- for 64-bit
you'll use -m64 (or nothing since it's the default) and for 32-bit you'll use -m32.
>
> So roughly something like
>
> tar fxz R-2.13.1.tar.gz
> mkdir obj-32
> cd obj-32
> ../R-2.13.1/configure r_arch=i386 CC='gcc -std=gnu99 -m32' CXX='g++ -m32' FC='gfortran -m32'
F77='gfortran -m32'
> make -j24 && sudo make install rhome=/usr/local/R/2.13
> cd ..
> mkdir obj-64
> cd obj-64
(Continue reading)

Vinh Nguyen | 3 Nov 19:52 2011
Picon

Re: build 32-bit R on x86_64?

Hi everyone,

I was trying to reproduce building a 32 bit version of R on a 64 bit
Ubuntu 11.04 machine (which worked before) with the latest version of
R in SVN but am getting this error:

make[3]: Leaving directory `/home/vinh/Downloads/R/trunk/src/modules/lapack'
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libSM.so
when searching for -lSM
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libSM.a
when searching for -lSM
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libICE.so
when searching for -lICE
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libICE.a
when searching for -lICE
/usr/bin/ld: skipping incompatible
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so when searching for
-lpangocairo-1.0
...

It should be looking in /usr/lib32, not /usr/lib.  I did the following
to arrive at these messages:

sudo apt-get install ia32-libs lib32readline6-dev lib32ncurses5-dev
lib32icu-dev gcc-multilib gfortran-multilib ## ubuntu does not have
ia32-libs-dev
./configure r_arch=i386 CC='gcc -std=gnu99 -m32' CXX='g++ -m32'
FC='gfortran -m32' F77='gfortran -m32'
make -j24

(Continue reading)


Gmane