compile error

Hi,

I played around with GameDevelop on Windows, now trying to use it on Ubuntu 12.10 (64-bit). Downloaded the version from the website. Installed it, run te script StartGameDevelop.sh. Got a message to installe build-essentials. Installed them using Ubuntu’s software center. After that GameDevelop started normally.

Then opened the example game “Breakout” and started tot compile it. That’s when I got the error. I’ve attached a printscreen and the error log below. It complains about a something not right in the predefs.h header.

Any idea’s?
LatestCompilationOutput.txt (494 Bytes)

Could you paste here me the full contents of the LatestCompilationOutput.txt file? :slight_smile:

The file was attached, but here’s the contents:

In file included from /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/os_defines.h:40:0,

                 from /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/c++config.h:393,

                 from /usr/include/c++/4.6/bits/stl_algobase.h:60,

                 from /usr/include/c++/4.6/vector:61,

                 from /tmp/GDTemporaries/GD0xb304900RuntimeEventsSource.cpp:1:

/usr/include/features.h:324:26: fatale fout: bits/predefs.h: Bestand of map bestaat niet

compilation terminated.

My bad, I didn’t see that you joined the file.
Try to install the libc6-dev-i386 package. Launch a terminal and type:

sudo apt-get install libc6-dev-i386 

Ah… but I’m working on a 64-bit Ubuntu version and the package you propose is a 32-bit package. The machine already had the libc6-dev installed. Does this mean that compile only compiles for 32-bit OS?

No, you just need 32bit version of libc6 and devel headers. You’ll compile against 32bit libs, but it should work fine on 64bit Linux if player has 32bit version of libraries installed.

You need this package as games are compiled so that they are runnable on 32bits and 64bits system. :slight_smile:

Hi,

I did as you told in the previous post and installed the libc6-dev-i386 package. Then tried tot compile again. Now a linker error occurs. I guess I’m still missing one or more libs or it is rejecting the libs on a 64-bit platform (my guess, looking at the errors). Any ideas?


/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a when searching for -lstdc++

/usr/bin/ld: cannot find -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a when searching for -lstdc++

/usr/bin/ld: cannot find -lstdc++

collect2: ld gaf exit-status 1 terug

Try to type this in the terminal:

sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so

Then try again to preview a game.

Hi,

I’m still stuck here…

I entered the command, however, the problem still persists. The same file is still unreachable by te linker. I looked at the /usr/lib32 folder and found that the file libstdc++.so.6 actually doesn’t exist. So it makes sense the problem still is there. I’ve added the overview of packages installed on the system (see attached file). I tried to install various other i386 packages but that was not possible due to missing dependencies.

If compiling, is it building a 32-bit binary or a 64-bit binary? And (for that matter) why make the distinction? Why not build 64-bit binaries? At least it would solve the linking error.

If you build 64 bits binaries, people using a 32 bit Linux will not be able to play to your game.

Did the command ( sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so ) returned any error or message?

The command: sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so
returned a message saying it could not make the symbolic link because the file already exists. Is it possible the link points towards an incompatible (probably 64-bit) version of the file? If yes, then how can I check this?

Anyway, I’m really appreciating the help here. Even though I can decipher a lot of what is going on here, this is definitely beyond my (limited) linux knowledge.

Yeah, I’m aware of that. But the same applies if I cannot compile :unamused: