Go on L4: Difference between revisions

From TUDOS-Wiki
Jump to navigationJump to search
Line 14: Line 14:
   # install dir for the local build
   # install dir for the local build
   mkdir install
   mkdir install
 
   
  # this is where binutils go
  mkdir binutils
 
  # GOLD linker
  cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src login
  [password is "anoncvs"]
  cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co binutils
  mkdir obj
  cd obj
  ../src/configure --enable-gold --prefix=/home/user/gccgo/install
  make
  make install
 
   # GCCGO
   # GCCGO
   svn checkout svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo
   svn checkout -r 179017 svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo
   mkdir obj
   mkdir obj
   cd obj
   cd obj

Revision as of 16:08, 6 August 2012

The runtime for the Go programming language has been ported to L4Re (and will be released soon).

Preparation

Go on L4 works in conjunction with the gccgo compiler which you need to set up yourself beforehand.

  • gccgo requires some libraries to be available on your system. On Ubuntu do:
 sudo apt-get install libmpc-dev libmpfr-dev libgmp3-dev
  • For building gccgo, a detailed description is available on the Go homepage. In short:
 # create gccgo dir
 mkdir gccgo
 cd gccgo
 
 # install dir for the local build
 mkdir install
   
 # GCCGO
 svn checkout -r 179017 svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo
 mkdir obj
 cd obj
 ../gccgo/configure --enable-languages=c,c++,go --with-ld=/home/user/gccgo/install/bin/ld \
   --prefix=/home/user/gccgo/install
 make
 make install

Troubleshooting

libtool version mismatch

Q: When building libgo from source, I get an error like this:

 libtool: Version mismatch error.  This is libtool 2.2.6b Debian-2.2.6b-2ubuntu3, but the
 libtool: definition of this LT_INIT comes from libtool 2.2.7a.
 libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b Debian-2.2.6b-2ubuntu3
 libtool: and run autoconf again.

A: Remove gccgo/libgo/config/ltversion.m4 and gccgo/libgo/config/ltmain.m4. Continue build process.