Yices support for X64 architecture

1 view
Skip to first unread message

Thomas Reinbacher

unread,
Sep 6, 2010, 4:47:45 AM9/6/10
to cav-g...@googlegroups.com, cavlu2010_group1, cav-g...@googlegroups.com
Hi there,

Right now, we use the x32 library for yices, i.e., those of use who are working on a X64 architecture will not be able to compile the thing :(
Those working on a X64 architecture (as me) will get a "skipping incompatible" error from their linker. I did some effort to improve this.

A quick hack to support X64 is now:

what i changed in the codebase:
  • i checked in the X64 lib for yices  in our SVN under /src/yices1.0.28_X64
  • the X32 version remains in the same place and under the same name /src/yices1.0.28
what you have to change to make it work under X64:
  • under Properties, Settings, GCC C++ Linker -> Libraries you make sure u set the Library search path to "${workspace_loc:/${ProjName}/src/yices-1.0.28_X64/lib}"
  • then you go in the source code under /Group3/Yiceshandler.h and change
#include "../yices-1.0.28/include/yices_c.h"
#include "../yices-1.0.28/include/yicesl_c.h"

to

#include "../yices-1.0.28_X64/include/yices_c.h"
#include "../yices-1.0.28_X64/include/yicesl_c.h"

Then it should compile on your X64 architecture. For ppl using X32 machines, everything remains the same.

Important:

Im not a big C++ guru, if someone knows a more elegant solution to this, pls. let me know. Maybe the there is a way to make an include depending on one's architecture:
like: 

#IFMYMACHINEISX32THEN
#include "../yices-1.0.28/include/yices_c.h"
#include "../yices-1.0.28/include/yicesl_c.h"

#ELSEIFMYMACHINEISX64
#include "../yices-1.0.28_X64/include/yices_c.h"
#include "../yices-1.0.28_X64/include/yicesl_c.h"
#END

cheers,
Thomas

===*===*===*===*===*===*===*===*===*===*===*===
Thomas Reinbacher

Vienna University of Technology
Institute of Computer Engineering | ECS Group
Treitlstr. 3, 2nd floor, Room DE 02 64, 1040 Vienna, AT

voice:  +43 (1) 58801-18261 | skype: thomas_reinbacher
http://ti.tuwien.ac.at/ecs | http://thomasreinbacher.wasner.it
===*===*===*===*===*===*===*===*===*===*===*===
Reply all
Reply to author
Forward
0 new messages