SESC Tutorial – 1. Install Whole SESC Step by Step

http://manio.org/blog/category/computer-science/sesc-tutorial

SESC is good. But after so many years, there are still few documents.? Researchers are often dragged by some tiny troubles. The research can really start, after they can run the hello world. This tutorial aims to reduce the time spending on setuping the evnironment. It lets the researchers pass the tedious evironment setuping process and get down to the exciting researches as soon as possible.

This tutorial is written by Jun He. His e-mail is jhe24(AT)iit.edu. His homepage is http://manio.org. There may be some mistakes in this tutorial. Comments are appreciated. Also, I’ll be very glad if someone wants to work on this tutorial with me.

In this tutorial, I also list the errors which might encounter, so the readers can find out what to do when they do something wrong.? The errors make the reader know more about SESC.

Index

  1. What’s SESC?
  2. My Working Environment
  3. How to Install Old GCC3.4 by deb package in Ubuntu 8.04
  4. How to build SESC utils
  5. How to Build SESC source code

What’s SESC ?

Homepage: http://sesc.sourceforge.net/index.html

SESC is a cycle accurate architectural simulator. It models a very wide set of architectures: single processors, CMPs, PIMs, and thread level speculation.

SESC started as the pet project of Jose Renau while doing his PhD at Urbana-Champaign in the IACOMA group. Currently, he is a new faculty at University of California, Santa Cruz.

My Working Environment:

  • Ubuntu 8.04 Desktop LTS (Mine is on VMWare 7.01) Accuatlly, you can run sesc in any Linux distributions which are not too old.
  • SESC: checked out in 05/25/2010 by cvs.
  • Internet Access. If you can access internet in Linux, the process of installing will be much easier, because you can use apt-get install.
  • gcc 3.4.x. Usually, this version of gcc is not installed in your OS. The way of installing this version of gcc will be introduced immediately.

Please follow the following howtos one by one to setup SESC.

How to Install Old GCC3.4 by deb package in Ubuntu 8.04

Why we need a older version of gcc?

Because the new version will cause errors, weird errors. The reason for this might be that some new features have been added to gcc 4.x, and they are not compatible with older codes. SESC were mainly developed around 2005, using gcc 3.4. If we use gcc 3.4, we’ll get the same SESC as Jose, the father of SESC.

1. Download the following 3 deb packages from http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/

a)  cpp-3.4_3.4.4-6ubuntu8_i386.deb (1707096 bytes
b)  gcc-3.4_3.4.4-6ubuntu8_i386.deb (484408 bytes)
c)  gcc-3.4-base_3.4.4-6ubuntu8_i386.deb (163028 bytes)

Note: the version number in the online archive may not match the ones above, but it’s ok. Please download only the three packages listed above, no more no less. Otherwise, you will encounter some errors.

2. Follow the instructions in http://ubuntuforums.org/showthread.php?t=79896, then you can have GCC.installed.

3. Now, if you want to install g++, you have to install them by dpkg. Because if you use GUI-double-click to install g++-3.4_3.4.6-1ubuntu2_i386, ubuntu says “libstdc++6-dev_3.4.6-1ubuntu2_i386 is needed”. But if you double click libstdc++6-dev_3.4.6-1ubuntu2_i386 first, ubuntu says “g++-3.4_3.4.6-1ubuntu2_i386 is needed”.

4. Download the tow g++ deb packages mentioned in step 3 from http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/

5. $sudo dpkg -i g++-3.4_3.4.6-1ubuntu2_i386.deb libstdc++6-dev_3.4.6-1ubuntu2_i386.deb

The following steps are from http://blog.sina.com.cn/s/blog_48a44f390100igad.html

  1. After the steps above, gcc3.4 is installed in your system. So now you have two versions of gcc in you system. The default is gcc 4.4, we should change it, in order to compile source codes of SESC by gcc 3.4
  2. List the all gcc you have in your system by:
    $ls /usr/bin/gcc* -l
  3. Add options for gcc 3.4 and gcc 4.4. The version number might not match yours. If not, change yours to the correct ones.
    $ sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.2 40
    $ sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-3.4 30
  4. Alternate to gcc 3.4
    manio@jun-desktop:~/esesc/src/libsuc$ sudo update-alternatives --config gcc
    [sudo] password for manio:
    There are 2 alternatives which provide `gcc'.
    Selection    Alternative
    -----------------------------------------------
    +        1    /usr/bin/gcc-4.2
    *         2    /usr/bin/gcc-3.4
    Press enter to keep the default[*], or type selection number:
  5. Enter 2, then gcc 3.4 will be chosen.
  6. Now gcc 3.4 is successfully installed in your system. From now on, you should use the gcc 3.4 to compile SESC source code.

How to build SESC utils

What’s sescutils?

Sescutils is a group of tools for building programs to run on SESC. These tools include gcc, gdb, glibc, etc.

Why do we need utils in SESC?

Actually, sescutils is a cross-compile toolchain, which is used to compile programs on PC for running on MIPS. SESC is a MIPS architecture simulator.

1. Download the sescutils from https://sourceforge.net/project/showfiles.php?group_id=49065
2. move the package to your $HOME. My $HOME=/home/manio. In the following parts of this tutorial, I will use /home/manio directly. You should
3. $cd $HOME
4. $tar jxvf sescutils.tar.bz2
5. make /bin/sh link to /bin/bash by:

sudo rm /bin/shsudo ln -s /bin/bash /bin/sh

Ubuntu uses dash, not bash. But the shell scripts in SESC are written by bash. So we have to change to bash.

6. modify file build-common in /home/manio/sescutils/build-mipseb-linux

 GNUSRC=$HOME/sescutils/src
 PREFIX=$HOME/sescutils/install

Note: GNUSRC is the position of the source codes. PREFIX is the position where the sescutils binary files will be installed to.

7. $cd $HOME/sescutils/build-mipseb-linux
8. $./build-1-binutils.
error:

gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -o ar arparse.o arlex.o ar.o not-ranlib.o arsup.o rename.o binemul.o emul_vanilla.o bucomm.o version.o filemode.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.aarlex.o: In function `main':
/home/manio/sescutils/build-mipseb-linux/obj/binutils-build/binutils/arlex.c:1: multiple definition of `main'
arparse.o:/home/manio/sescutils/build-mipseb-linux/obj/binutils-build/binutils/arparse.c:1: first defined here
ar.o: In function `main':
/home/manio/sescutils/src/binutils/binutils/ar.c:342: multiple definition of `main'
arparse.o:/home/manio/sescutils/build-mipseb-linux/obj/binutils-build/binutils/arparse.c:1: first defined here
bucomm.o: In function `make_tempname':
/home/manio/sescutils/src/binutils/binutils/bucomm.c:425: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
ar.o: In function `mri_emul':

Note: These errors are caused by the missing of bison and flex, which are used to parse the codes. So, we install them in the following steps. Before installing, make sure you can access the internet.

1. Install bison

$sudo apt-get install bison

2. $./build-1-binutils. Same error with 3
3. $sudo apt-get install flex
4. ./build-1-binutils
Success
5. $./build-2-gcc-core

Note: if you use gcc 4.x to compile sescutils, you will meet this error. To solve this problem, change to gcc3.4 by following the How to Install old gcc3.4 by deb in Ubuntu 8.04.
If you still can not get rid of the error, refer to the comments of this page. Your bison or flex should be the correct version.

gcc -c -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-error -DHAVE_CONFIG_H -I. -I. -I/home/manio/sescutils/src/gcc-3.4/gcc/gcc -I/home/manio/sescutils/src/gcc-3.4/gcc/gcc/. -I/home/manio/sescutils/src/gcc-3.4/gcc/gcc/../include c-parse.c -o c-parse.ogcc: c-parse.c: No such file or directory
gcc: no input files
make[1]: *** [c-parse.o] Error 1
make[1]: Leaving directory `/home/manio/sescutils/build-mipseb-linux/obj/gcc-core-build/gcc'
make: *** [all-gcc] Error 2

6. $./build-3-glibc

manio@jun-desktop:~/sescutils/build-mipseb-linux$ ./build-3-glibcchecking build system type... Invalid configuration `unknown-linux': machine `unknown' not recognized
configure: error: /bin/sh /home/manio/sescutils/src/glibc-2.3.2/scripts/config.sub unknown-linux failed
make: *** No rule to make target `all'. Stop.

Note: This error is caused by the wrong value of BUILD in build-common file. The uname –p command cannot output the right version of the building system, i.e. your PC.
To correct this problem, simply change the value of BUILD to “i686-pc-linux-gnu”. By the way, there is another value, host, which is the platform in which you want to run your compiled glibc. The target system is the platform in which you will run your program with glibc.

The typical toolchain is: build=your pc, host=your pc, target=arm/mips…

1. $./build-3-glibc
Success.
2. $./build-4-gcc
Success
3. $./build-5-gdb

ERROR

checking for wctype... yeschecking for library containing gethostbyname... none required
checking for library containing socketpair... none required
checking for library containing waddstr... no
checking for library containing tgetent... no
configure: error: no termcap library found
make: *** [configure-gdb] Error 1

Note: A lib is missing. Install it by the following steps.

  1. $ sudo apt-get install libncurses5-dev
  2. $./build-5-gdb
    Success.
  3. Now, the sescutils is completely built. You can use it to build programs for SESC later.

How to Build SESC source code

    1. Install CVS
      $sudo apt-get install cvs
    2. Download SESC source code by CVS
      $cvs -d:pserver:anonymous@sesc.cvs.sourceforge.net:/cvsroot/sesc login
      Note: just press Enter when password is requested.
      $cvs -z3 -d:pserver:anonymous@sesc.cvs.sourceforge.net:/cvsroot/sesc co -P sesc
    3. Move the source code to $HOME/esesc
    4. Read the $HOME/esesc/REAMME. It will give you some steps to install SESC.
    5. $cd ~
    6. $mkdir sesc-build
    7. $cd sesc-build
    8. $../esesc/configure
      Note: if you download SESC in Windows, you will meet the following error.
      ERROR: elif unexpected…
      REASON: cannot use DOS text format in Linux
      SOLVE: open configure by vim, :set ff=unix
    9. $sudo apt-get install binutils
      Note: this binutils is for building SESC source code. The binutils in sescutils is for building programs running on SESC.
    10. $make
      ERROR: USHRT_CHAR undefined
      SOLUTION: include limits.h file in esesc/src/libcore/FetchEngine.cpp file. Add
      #include <limits.h>
    11. $make
      ERROR:
      /home/manio/SESC/build/../esesc/src/libmint/subst.cpp:52:26: error: linux/dirent.h: No such file or directory
      SOLUTION:
      – Do not include linux/dirent.h, use dirent.h instead
    12. $make
      ERROR‘uint32_t’ was not declared in this scope
      SOLUTION: add #include <stdint.h> wherever you see this error.
      Reference:
      http://www1.cs.columbia.edu/~youngjin/discus/messages/54/59.html?1259617974
      Hi Alejandro,
      It maybe caused by the strictness of the C compiler provided in Ubuntu 9.10.
      (I had almost the same thing with 9.10.)
      As you mentioned, please try to include the
      following statement anytime you have the above-mentioned error:
      #include <stdint.h>
    13. $make
      ERROR: “/usr/bin/ld: cannot find -lz”
      SOLUTION: sudo apt-get install zlib1g-dev
    14. SUCCESS
    15. Test installation:
      $make testsim

Output

manio@ubuntu:~/SESC/build$ make testsimmake[1]: `sesc.mem’ is up to date.Generating sesc.conf from: /home/manio/SESC/build/../esesc/confs/mem.conf
cp /home/manio/SESC/build/../esesc/confs/mem.conf sesc.conf
cp /home/manio/SESC/build/../esesc/confs/shared.conf .
./sesc.mem -h0x800000 -csesc.conf /home/manio/SESC/build/../esesc/tests/crafty < /home/manio/SESC/build/../esesc/tests/tt.in
static[0x1008db40-0x101b3dd4] heap[0x101b4000-0x109b4000] stack[0x109b4000-0x111ac000] -> [0x41000000-0x4211e4c0]
Crafty v14.3
sesc_simulation_mark 0 (simulated) @30176641
White(1): sesc_simulation_mark 1 (simulated) @30225840
White(1): pondering disabled.
sesc_simulation_mark 2 (simulated) @30299339
White(1): noise level set to 0.
sesc_simulation_mark 3 (simulated) @30321649
White(1): search time set to 99999.00.
sesc_simulation_mark 4 (simulated) @30423769
White(1): verbosity set to 5.
sesc_simulation_mark 5 (simulated) @30449198
White(1): sesc_simulation_mark 6 (simulated) @30751014
White(1): search depth set to 2.
sesc_simulation_mark 7 (simulated) @30767155
White(1):
clearing hash tables
depth time score variation (1)
1 ###.## -0.67 axb5 c6xb5
1 ###.## -0.08 a4a5
sesc_simulation_mark 8 (simulated) @33091197
1-> ###.## -0.08 a4a5
2 ###.## – a4a5
2 ###.## -0.65 a4a5 f6f5
2 ###.## -0.58 axb5 c6xb5 Ne4c5
2 ###.## -0.46 Rf1c1 f6f5
2 ###.## -0.43 Ra1c1 f6f5
sesc_simulation_mark 9 (simulated) @37838384
2-> ###.## -0.43 Ra1c1 f6f5
time:### cpu:### mat:-1 n:833 nps: ####
ext-> checks:18 recaps:4 pawns:0 1rep:6
predicted:0 nodes:833 evals:372
endgame tablebase-> probes done: 0 successful: 0
hashing-> trans/ref:17% pawn:83% used:w0% b0%
White(1): Ra1c1
time used: ###.##
sesc_simulation_mark 10 (simulated) @38879583
Black(1): execution complete.

Here is another howto for installing SESC, by Girish Venkatasubramanian.

  • Horia

    Hello,
    First of all thank you for this tutorial.
    I am trying to install SESC in Ubuntu 10.04. Everything worked fine until this step: $./build-2-gcc-core
    I receive the error that you mention there (but I have followed) all your steps. When I type gcc – v it prints gcc 3.4.6. What do I have to change. You say “change to gcc3.4 by following the How to Install old gcc3.4 by deb in Ubuntu 8.04” but I did not find this tutorial. Is there something I have to do extra?

    Thank you very much

    • admin

      @Horia, hi, the “How to Install old gcc3.4 by deb in Ubuntu 8.04” is the third one in the index. I think you’ve done that. What’s the error message exactly?

      • Horia

        @admin, I have done step 3.
        The error is:

        gcc: c-parse.c: No such file or directory
        gcc: no input files
        make[1]: *** [c-parse.o] Error 1
        make[1]: Leaving directory `/home/horicul/sescutils/build-mipseb-linux/obj/gcc-core-build/gcc’
        make: *** [all-gcc] Error 2

        if I give this command:
        sudo update-alternatives –config gcc
        [sudo] password for horicul:
        There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

        Selection Path Priority Status
        ————————————————————
        0 /usr/bin/gcc-4.4 40 auto mode
        * 1 /usr/bin/gcc-3.4 30 manual mode
        2 /usr/bin/gcc-4.4 40 manual mode

        And thank you again for your response. (I am writing a document on how to install it in Ubuntu 10.04 and after I am finished I can send it to you)

        • admin

          @Horia, actually, I am not 100% sure it’s the gcc that causes this problem. But it probably is. I thought it might be gcc because after I used gcc3.4, the error disappeared. But somebody built it successfully with gcc 4.x.

          You can try to add something like “$(CC) -v” to the scripts to make sure gcc 3.4 is being used. If the error is still there, maybe you can try ubuntu 8.04.

          I am expecting your doc. :)

          • @admin, I have found a solution. I have removed my current bison installation and install this one
            http://dir.filewatcher.com/d/Ubuntu/i386/devel/bison_2.3.dfsg-5_i386.deb.346632.html
            which is a newer one.

            Now I am the third build but i receive this error:
            configure: error:

            *** These critical programs are missing or too old: gcc

            *** Check the INSTALL file for required versions.

            make: *** No rule to make target `all’. Stop.

            I changed back gcc to 4.4 but it still gives me this error. I will continue searching and see if I can find a solution.
            Thank you for your help. And I will send you the document but it might take a while :) until I am finished.

          • admin

            @Horia, good luck~ :)

          • Amin

            The reason it fails is that it should use an older version of bison I think 2.3, but as of now the current version is 2.4.1. Solution is to modify ../build-mipseb-linux/obj/gcc-core-build/gcc/c-parse.y . Read: http://www.microchip.com/forums/m416697-print.aspx to see how to do that.

        • haha,I have tried several different bison version and version 2.0 make me succeed in building gcc-core.
          the following is gnu’s download site of bison. PS, be sure to remove the previous version before trying a new version. wish you good luck.
          http://ftp.gnu.org/gnu/bison/

          • sahar

            for solving this error:
            > make[1]: *** [collect2.o] Error 1
            ———————————————————————–
            You can fix it by changing line 1537 of gcc/collect2.c to this:
            redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0666);

          • sahar

            thanks a lot Amin: your answer was very helpful but we should modify c-parse.in according to your link no c-parse.y.

  • sankari

    hi…
    thank u for your detailed steps.
    but i got error during ./buid-2-gcc-core.
    configure: error: can not find sources in /home/sankari/sescutils/src/gcc-3.4/gcc or ..
    make: *** No rule to make target `all’. Stop.
    am new to this…
    what should i do?

    • admin

      @sankari, sorry, i don’t know this. Try to find the answer by Google.

      • sankari

        @admin,

        sir, somehow i installed as per ur advice…. it would be nice if u explain more on using thread level speculation ie. sesc.tls usage in sesc with a small program. Hope it would be useful to many people like me, as the help for tls is very less in sesc document.

  • srinivas

    hi

    I installed SESC on my ubuntu-9.10.
    I also found the method to remove the error.
    dont remove bison. install bison and flex as told in this website.

    please visit the following website for removing the bug:
    http://srinivas15j1988.blogspot.com or
    http://www.microchip.com/forums/m416697-print.aspx
    to get rid of the bug and continue with the next step of ./build-2-gcc-core

    • srinivas

      Thanks a lot man. I found this tutorial very helpful.

      Thanks :)

      • admin

        @srinivas, glad i helped.

  • qmttz

    using Horia’s method, remove the bison, and reinstall previous version bison, can get through step ./build-3-gcc-core quickly!
    Thanks

  • This is useful info. I am installing SESC on Ubuntu 10.04, w/ gcc-3.4.6. I was stuck in second script and wasn’t able to intercept the script to edit c-parser.y/c
    The solution as suggested by Horia to downgrade bison worked well for that step.

    Thanks.

  • You you should edit the blog name title SESC Tutorial – 1. Install Whole SESC Step by Step | Manio 马牛不是人 to more generic for your subject you create. I loved the blog post nevertheless.

  • asheesh

    thank for your tutorials,it really helpful.

    • admin

      @asheesh, :)

  • Abhishek Sagar

    awesome page. helped me a lot. thanks Jun :)

  • Mohsen

    Hi. Thanks. But I have the following problem:


    checking for i686-pc-linux-gnu-gcc… no
    checking for i686-pc-linux-gnu-cc… no
    checking for gnumake… no
    checking for gmake… no
    checking for make… make
    checking version of make… 3.81, ok
    configure: error:
    *** These critical programs are missing or too old: gcc
    *** Check the INSTALL file for required versions.
    make: *** No rule to make target `all’. Stop.

    Could you please help me?

    THANKS

  • Fede

    hi!
    thank u for your detailed tutorial.
    I tried to compile sescutils for Ubuntu 10.04 64 bits, and when i launch ./build-4-gcc the compilation have an error:

    checking for mipseb-linux-strip… mipseb-linux-strip
    checking for mipseb-linux-gcc… /home/user/sescutils/build-mipseb-linux/obj/gcc-build/gcc/xgcc -B/home/user/sescutils/build-mipseb-linux/obj/gcc-build/gcc/ -B/home/user/sescutils/install/mipseb-linux/bin/ -B/home/user/sescutils/install/mipseb-linux/lib/ -isystem /home/user/sescutils/install/mipseb-linux/include -isystem /home/user/sescutils/install/mipseb-linux/sys-include
    checking for suffix of object files… configure: error: cannot compute suffix of object files: cannot compile
    See `config.log’ for more details.
    make: *** [configure-target-libstdc++-v3] Error 1

    I export CFLAGS, LDFLAGS and CXXFLAGS on build-common with -m32.
    It’s posible to do this compilation??
    If I compile sescutils with gcc 3.4 64bits and simulator with 32 bits have any problem to run simulation later??

    Could you please help me?

    Sorry for my english.
    Tanks!

  • fede

    hi!
    thank u for your detailed tutorial.
    I tried to compile sescutils for Ubuntu 10.04 64 bits, and when i launch ./build-4-gcc the compilation have an error:

    checking for mipseb-linux-strip… mipseb-linux-strip
    checking for mipseb-linux-gcc… /home/user/sescutils/build-mipseb-linux/obj/gcc-build/gcc/xgcc -B/home/user/sescutils/build-mipseb-linux/obj/gcc-build/gcc/ -B/home/user/sescutils/install/mipseb-linux/bin/ -B/home/user/sescutils/install/mipseb-linux/lib/ -isystem /home/user/sescutils/install/mipseb-linux/include -isystem /home/user/sescutils/install/mipseb-linux/sys-include
    checking for suffix of object files… configure: error: cannot compute suffix of object files: cannot compile
    See `config.log’ for more details.
    make: *** [configure-target-libstdc++-v3] Error 1

    I export CFLAGS, LDFLAGS and CXXFLAGS on build-common with -m32.
    It’s posible to do this compilation??
    If I compile sescutils with gcc 3.4 64bits and simulator with 32 bits have any problem to run simulation later??

    Could you please help me?

    Sorry for my english.
    Tanks!

  • Thanks for this detailed tutorial~
    and i am do some research based on SESC simulator recently…

  • Pooja Arora

    hi sir…
    I am at step#13 of How to Build SESC source code & after installation of the package zlib1g-dev i am getting error i.e.

    pooja@pooja:~/sesc-build$ make
    g++ -O2 -march=i686 -o sesc.mem /home/pooja/sesc-build/obj/Linux_obj/mtst1.o /home/pooja/sesc-build/obj/Linux_obj/libmem.a /home/pooja/sesc-build/obj/Linux_obj/libcore.a /home/pooja/sesc-build/obj/Linux_obj/libmint.a /home/pooja/sesc-build/obj/Linux_obj/libll.a /home/pooja/sesc-build/obj/Linux_obj/libpint.a /home/pooja/sesc-build/obj/Linux_obj/libsuc.a -L/home/pooja/sesc-build/obj/Linux_obj -lm -lz
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(mint_init.o): In function `mint_init(int, char**, char**)’:
    mint_init.cpp:(.text+0x17e5): undefined reference to `move0_op’
    mint_init.cpp:(.text+0x17ea): undefined reference to `move_op’
    mint_init.cpp:(.text+0x1845): undefined reference to `li_op’
    mint_init.cpp:(.text+0x1862): undefined reference to `b_op’
    mint_init.cpp:(.text+0x1869): undefined reference to `beq0_op’
    mint_init.cpp:(.text+0x188e): undefined reference to `bne0_op’
    mint_init.cpp:(.text+0x1925): undefined reference to `addiu_xx_op’
    mint_init.cpp:(.text+0x195d): undefined reference to `sp_over_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x6cc): undefined reference to `j_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x6e0): undefined reference to `jal_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x6f4): undefined reference to `beq_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x708): undefined reference to `bne_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x71c): undefined reference to `blez_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x730): undefined reference to `bgtz_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x744): undefined reference to `addi_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x758): undefined reference to `addiu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x76c): undefined reference to `slti_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x780): undefined reference to `sltiu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x794): undefined reference to `andi_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x7a8): undefined reference to `ori_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x7bc): undefined reference to `xori_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x7d0): undefined reference to `lui_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x7e4): undefined reference to `cop0_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x7f8): undefined reference to `cop1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x80c): undefined reference to `cop2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x820): undefined reference to `cop3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x834): undefined reference to `beql_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x848): undefined reference to `bnel_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x85c): undefined reference to `blezl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x870): undefined reference to `bgtzl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x884): undefined reference to `lb_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x898): undefined reference to `lh_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x8ac): undefined reference to `lwl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x8c0): undefined reference to `lw_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x8d4): undefined reference to `lbu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x8e8): undefined reference to `lhu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x8fc): undefined reference to `lwr_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x910): undefined reference to `sb_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x924): undefined reference to `sh_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x938): undefined reference to `swl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x94c): undefined reference to `sw_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x960): undefined reference to `swr_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x974): undefined reference to `cache_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x988): undefined reference to `ll_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x99c): undefined reference to `lwc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x9b0): undefined reference to `lwc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x9c4): undefined reference to `lwc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x9d8): undefined reference to `ldc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x9ec): undefined reference to `ldc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa00): undefined reference to `ldc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa14): undefined reference to `sc_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa28): undefined reference to `swc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa3c): undefined reference to `swc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa50): undefined reference to `swc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa64): undefined reference to `sdc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa78): undefined reference to `sdc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xa8c): undefined reference to `sdc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xaa0): undefined reference to `sll_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xab4): undefined reference to `srl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xac8): undefined reference to `sra_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xadc): undefined reference to `sllv_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xaf0): undefined reference to `srlv_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb04): undefined reference to `srav_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb18): undefined reference to `jr_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb2c): undefined reference to `jalr_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb40): undefined reference to `syscall_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb54): undefined reference to `break_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb68): undefined reference to `sync_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb7c): undefined reference to `mfhi_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xb90): undefined reference to `mthi_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xba4): undefined reference to `mflo_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xbb8): undefined reference to `mtlo_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xbcc): undefined reference to `mult_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xbe0): undefined reference to `multu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xbf4): undefined reference to `div_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc08): undefined reference to `divu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc1c): undefined reference to `add_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc30): undefined reference to `addu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc44): undefined reference to `sub_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc58): undefined reference to `subu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc6c): undefined reference to `and_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc80): undefined reference to `or_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xc94): undefined reference to `xor_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xca8): undefined reference to `nor_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xcbc): undefined reference to `slt_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xcd0): undefined reference to `sltu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xce4): undefined reference to `tge_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xcf8): undefined reference to `tgeu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd0c): undefined reference to `tlt_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd20): undefined reference to `tltu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd34): undefined reference to `teq_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd48): undefined reference to `tne_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd5c): undefined reference to `bltz_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd70): undefined reference to `bgez_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd84): undefined reference to `bltzl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xd98): undefined reference to `bgezl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xdac): undefined reference to `tgei_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xdc0): undefined reference to `tgeiu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xdd4): undefined reference to `tlti_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xde8): undefined reference to `tltiu_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xdfc): undefined reference to `teqi_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe10): undefined reference to `tnei_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe24): undefined reference to `bltzal_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe38): undefined reference to `bgezal_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe4c): undefined reference to `bltzall_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe60): undefined reference to `bgezall_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe74): undefined reference to `c1_add_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe88): undefined reference to `c1_sub_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xe9c): undefined reference to `c1_mul_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xeb0): undefined reference to `c1_div_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xec4): undefined reference to `c1_sqrt_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xed8): undefined reference to `c1_abs_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xeec): undefined reference to `c1_mov_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf00): undefined reference to `c1_neg_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf14): undefined reference to `c1_round_w_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf28): undefined reference to `c1_trunc_w_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf3c): undefined reference to `c1_ceil_w_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf50): undefined reference to `c1_floor_w_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf64): undefined reference to `c1_cvt_d_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf78): undefined reference to `c1_cvt_w_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xf8c): undefined reference to `c1_c_f_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xfa0): undefined reference to `c1_c_un_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xfb4): undefined reference to `c1_c_eq_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xfc8): undefined reference to `c1_c_ueq_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xfdc): undefined reference to `c1_c_olt_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0xff0): undefined reference to `c1_c_ult_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1004): undefined reference to `c1_c_ole_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1018): undefined reference to `c1_c_ule_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x102c): undefined reference to `c1_c_sf_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1040): undefined reference to `c1_c_ngle_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1054): undefined reference to `c1_c_seq_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1068): undefined reference to `c1_c_ngl_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x107c): undefined reference to `c1_c_lt_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1090): undefined reference to `c1_c_nge_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x10a4): undefined reference to `c1_c_le_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x10b8): undefined reference to `c1_c_ngt_s’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x10cc): undefined reference to `c1_add_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x10e0): undefined reference to `c1_sub_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x10f4): undefined reference to `c1_mul_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1108): undefined reference to `c1_div_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x111c): undefined reference to `c1_sqrt_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1130): undefined reference to `c1_abs_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1144): undefined reference to `c1_mov_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1158): undefined reference to `c1_neg_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x116c): undefined reference to `c1_round_w_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1180): undefined reference to `c1_trunc_w_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1194): undefined reference to `c1_ceil_w_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x11a8): undefined reference to `c1_floor_w_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x11bc): undefined reference to `c1_cvt_s_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x11d0): undefined reference to `c1_cvt_w_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x11e4): undefined reference to `c1_c_f_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x11f8): undefined reference to `c1_c_un_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x120c): undefined reference to `c1_c_eq_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1220): undefined reference to `c1_c_ueq_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1234): undefined reference to `c1_c_olt_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1248): undefined reference to `c1_c_ult_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x125c): undefined reference to `c1_c_ole_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1270): undefined reference to `c1_c_ule_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1284): undefined reference to `c1_c_sf_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1298): undefined reference to `c1_c_ngle_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x12ac): undefined reference to `c1_c_seq_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x12c0): undefined reference to `c1_c_ngl_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x12d4): undefined reference to `c1_c_lt_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x12e8): undefined reference to `c1_c_nge_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x12fc): undefined reference to `c1_c_le_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1310): undefined reference to `c1_c_ngt_d’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1324): undefined reference to `c1_cvt_s_w’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1338): undefined reference to `c1_cvt_d_w’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x134c): undefined reference to `mfc0_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1360): undefined reference to `mfc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1374): undefined reference to `mfc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1388): undefined reference to `mfc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x139c): undefined reference to `mtc0_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x13b0): undefined reference to `mtc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x13c4): undefined reference to `mtc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x13d8): undefined reference to `mtc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x13ec): undefined reference to `cfc0_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1400): undefined reference to `cfc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1414): undefined reference to `cfc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1428): undefined reference to `cfc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x143c): undefined reference to `ctc0_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1450): undefined reference to `ctc1_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1464): undefined reference to `ctc2_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1478): undefined reference to `ctc3_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x148c): undefined reference to `bc0f_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x14a0): undefined reference to `bc0t_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x14b4): undefined reference to `bc0fl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x14c8): undefined reference to `bc0tl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x14dc): undefined reference to `bc1f_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x14f0): undefined reference to `bc1t_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1504): undefined reference to `bc1fl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1518): undefined reference to `bc1tl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x152c): undefined reference to `bc2f_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1540): undefined reference to `bc2t_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1554): undefined reference to `bc2fl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1568): undefined reference to `bc2tl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x157c): undefined reference to `bc3f_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1590): undefined reference to `bc3t_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x15a4): undefined reference to `bc3fl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x15b8): undefined reference to `bc3tl_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1608): undefined reference to `b_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x161c): undefined reference to `li_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1630): undefined reference to `move_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1644): undefined reference to `nop_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1658): undefined reference to `swallow_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x166c): undefined reference to `call_op’
    /home/pooja/sesc-build/obj/Linux_obj/libmint.a(opcodes.o):(.data+0x1680): undefined reference to `spawn_op’
    collect2: ld returned 1 exit status
    make[1]: *** [sesc.mem] Error 1
    make: *** [sesc] Error 2

    kindly provide me solution to resolve this error

  • Aravind Reddy

    Hello admin

    I am installing SESCutils on my Ubuntu 10.04 with gcc-3.4 verion and a compatible Bison version.
    When I run sudo ./build-2-gcc-core, I land into following error.
    Mine is a AMD64 machine. I have used AMD64 versions of gcc and bison.
    .

    …..
    cat /home/anusha/sescutils/src/gcc-3.4/gcc/gcc/config/fp-bit.c >> dp-bit.c
    /home/anusha/sescutils/build-mipseb-linux/obj/gcc-core-build/gcc/xgcc -B/home/anusha/sescutils/build-mipseb-linux/obj/gcc-core-build/gcc/ -B/home/anusha/sescutils/install/mipseb-linux/bin/ -B/home/anusha/sescutils/install/mipseb-linux/lib/ -isystem /home/anusha/sescutils/install/mipseb-linux/include -isystem /home/anusha/sescutils/install/mipseb-linux/sys-include -fno-PIC -mno-abicalls -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I/home/anusha/sescutils/src/gcc-3.4/gcc/gcc -I/home/anusha/sescutils/src/gcc-3.4/gcc/gcc/. -I/home/anusha/sescutils/src/gcc-3.4/gcc/gcc/../include -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time
    -c /home/anusha/sescutils/src/gcc-3.4/gcc/gcc/crtstuff.c -DCRT_BEGIN
    -o crtbegin.o
    as: unrecognized option ‘-EB’
    make[1]: *** [crtbegin.o] Error 1
    make[1]: Leaving directory `/home/anusha/sescutils/build-mipseb-linux/obj/gcc-core-build/gcc’
    make: *** [all-gcc] Error 2

    The error comes with illegal options for echo command in a Makefile.
    Can you please help me with it as it would be a great help to me.

    Thanks,
    Aravind.

  • smartroy

    after i install gcc-3.4 as you mentioned and change gcc to 3.4 there is always error saying that my gcc is not working? i’m using linux 11.4 thank you

    • admin

      Please refer to the comments of this thread.

  • taheri

    thanks, it was really helpful

  • Ani

    Hi. I am using opensuse and i am getting the same error you mentioned in the second step of sescutils.. I have version 3.3 and 4.4 on my system. I tried to install 3.4 in some other directory and included the location in the path. But, I dont see a gcc in the created executables. I see c++ g77 etc, but no gcc.. And I can not direct my gcc to version other than 4.4 due to unavoidable reasons, what alternatives do i have?

    Also, in the sescutils, in folder srs, gcc-3.4 folder has the complete package i suppose. Can we build from there? if yes, then where should it be done and what changes should be made?

  • Chao Chen

    it should be “sudo update-alternatives –config gcc”, not only “sudo update-alternatives”.

    • admin

      Actually the “–config gcc” is there, but you couldn’t see it due to the layout of this page. I’ll fix that.
      Thanks

  • Rohan

    Hey Admin,
    I am getting the same errors as Horia. I am stuck at the step of build-2-gcc-core. I am able to execute build-1-binutils using gcc-4.6 version but not with gcc3.4. I tried using different version of bison and all solutions mentioned here.
    Please help me with this.

  • Neha

    Hello Admin,

    I have followed all your steps. but I am getting an error when I run
    ./build-1-binutils
    When I run this with gcc 4.6 I dont get any error but I get the error you mentioned while
    ./build-2-gcc-core.
    But with gcc 3.4 I am not able to run build-1-binutils.I am getting the following error:

    eha@neha-ThinkPad-E520:~/sescutils/build-mipseb-linux$ ./build-1-binutils
    creating cache ./config.cache
    checking host system type… i686-pc-linux-gnu
    checking target system type… mipseb-unknown-linux-gnu
    checking build system type… i686-pc-linux-gnu
    checking for a BSD compatible install… /usr/bin/install -c
    checking whether ln works… yes
    checking whether ln -s works… yes
    checking for gcc… gcc
    checking whether the C compiler (gcc ) works… no
    configure: error: installation or configuration problem: C compiler cannot create executables.
    make: *** No rule to make target `all’. Stop.

    Please help.

  • Ree

    Hello Admin

    when i am writing ./build-1-binutils
    I am getting the following error

    rm: cannot remove `./obj/binutils-build’: Permission denied
    tee: ../binutils.conf.log: Permission denied
    ./build-1-binutils: line 11: /sescutils/src/binutils/configure: No such file or directory
    tee: ../binutils.gmake.log: Permission denied
    make: *** No rule to make target `all’. Stop.

    I will be extremely grateful if you can help me out with this .It is little urgent as it is for my research project.

    • Mohammed

      Hey ree, I have a pre-compiled portable version of SESC that can run on any machine. Hpever, I recommend to use Ubuntu 10.04 LTE its very stable for development! If you are interested, send me an email : mohad86@yahoo.com

  • Mohammed

    Thanks a lot, I faced many problems rather than mentioned in your tutorial during installation but at the end I survived !!

  • Mohammed

    In the last steps where installing the source code is done, in some cases, when you get “undeclared …”, If you included and didn’t figure out the problem, include also header.

  • Mohammed

    Need help **** VERY URGENT ****

    After I wen through all the steps, everything seems to be fine, but when I go further and try to run a helloWorld program Ive been surprised that (sesc.smp) is not in sesc-build neither in anywhere else.

    does that mean that I have not installed sesc correctly ?

  • Hey,

    This is something that may prove useful to someone. I am using ubuntu 14.04 LTS.

    I found that all the variables initialized by build-common are not represented in the other script files. Hence, adding the following at the bottom of the script helps.

    export GNUSRC
    export PREFIX
    export TARGET
    export MAKE