Hi Christian,
thank you and sorry for being off-topic. That helped! I could compile for 32bit under Ubuntu 14.04 64 bit with gcc like that: --snip-- sudo apt-get install gcc-multilib g++-multilib cd gecode-5.0.0./configure CC="gcc -m32" CXX="g++ -m32" ... --snap-- For others: I had to start with a vanilla gecode-source-tree, after compiling for 64bit and "make clean" it would not work compiling for 32bit. I got this error: "./gecode/flatzinc/parser.hh:68:41: fatal error: gecode/flatzinc/parser.tab.hh" in the part. deleting the sources and starting directly with 32 bit worked. Now I have a working 32bit gecode. Sadly, my fzn-Files doesn't work, I get the foloowing error in 32bit (64bit working): --snip-- terminate called after throwing an instance of 'Gecode::MemoryExhausted' what(): Memory: Heap memory exhausted --snap-- It seems to happen around 4 GB Memory being allocated. Now I wonder: I thought the 4 GB Memory-size limit under 32bit has been circumvented under Linux? Do I have do set something before compiling or do I have to do some trick before the run like calling ulimit or alike? Or is it just a limit I have to accept? Thank you Alexander Am 20.11.2016 um 14:33 schrieb Christian Schulte: Hi, Even though this is not really a Gecode-related question, the catch is that you need to pick up the right compiler, either 64 or 32 bit. You have to figure this out for your platform.Let's assume the C++ compiler for 32 bit is called g++-32 (that's most likely wrong) and the C compiler is called gcc-32 (again, made up) then you can set the environment variable CXX and CC before you run configure to point to the right C++ and C compilers (one can also pass that to make by make CXX=g++-32 CC=gcc-32). Hope that helps Christian -- Christian Schulte, www.gecode.org/~schulte Professor of Computer Science, KTH, cschu...@kth.se Expert Researcher, SICS, cschu...@sics.se -----Original Message----- From: users-boun...@gecode.org [mailto:users-boun...@gecode.org] On Behalf Of Alexander Schuppisser Sent: Saturday, November 19, 2016 23:37 To: users@gecode.org Subject: [gecode-users] Compile gecode for 32-bit under Linux Hi, I'd like to compare the performance of a 64-bit version of fzn-gecode to a 32-bit-version unter Linux (Ubuntu 16.04 or 14.04) for a certain problem. But I could not crosscompile it. I know that it's possible, because in the Minizinc IDE is a fzn-gecode for 32 bit. But this version has dependencies to Qt (which I don't have running it on a server). That's how I compile what I need on 64 bit: static: export PREFIX="/home/nath/apps/gecode-5.0.0" ./configure \ --prefix="$PREFIX" --enable-float-vars=no --enable-examples=no --enable-qt=no --enable-gist=no --enable-doc-dot=no \ --enable-doc-tagfile=no --enable-driver=no --enable-examples=no --enable-scheduling=no --enable-graph=no --enable-minimodel=no \ --enable-static --disable-shared shared: export PREFIX="/home/nath/apps/gecode-5.0.0" CFLAGS="-Wl,-rpath,$PREFIX/lib" CXXFLAGS="-Wl,-rpath,$PREFIX/lib" \ ./configure \ --prefix="$PREFIX" --enable-float-vars=no --enable-examples=no --enable-qt=no --enable-gist=no --enable-doc-dot=no \ --enable-doc-tagfile=no --enable-driver=no --enable-examples=no --enable-scheduling=no --enable-graph=no --enable-minimodel=no Now what to cange / add to get a 32-bit binary in the end? I tried a lot of things with Flags and setting env-Variables before compiling found as general tips for cross compiling, but nothing worked for fzn-gecode. What do I need to do? Thank you Alexander
|
_______________________________________________ Gecode users mailing list users@gecode.org https://www.gecode.org/mailman/listinfo/gecode-users