|
|
Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » Linux compile fails
Linux compile fails [message #1230] |
Fri, 24 February 2006 10:19  |
iplayfast
Messages: 47 Registered: February 2006
|
Member |
|
|
After editing the Makefile to give names (as mentioned in the readme) it compiled everything but then died on the final link.
It was trying to write the output to /src/ide I believe. (no such directory on my system).
I changed it to bin/TheIde and let er rip.
It then came back with
/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/../../../../i686-pc-linux-gnu/bin/ld: ./bin/ide/GCC32-Gcc-Gui-Linux-Main-Shared/SelectPkg.o(.gnu.linkonce.r._ZTV14CallbackAction+0x8): unresolvable relocation against symbol `__cxa_pure_virtual@@CXXABI_1.3'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/../../../../i686-pc-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
distcc[23448] ERROR: compile (null) on localhost failed
make: *** [bin/Theide] Error 1
I'm not sure what to do with that.
I'm compiling using Linux
gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/specs
Configured with: /var/tmp/portage/gcc-3.4.5/work/gcc-3.4.5/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.5 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.5 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.5/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.5/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.5/include/g++-v3 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libgcj --enable-languages=c,c++,f77 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0, pie-8.7.9)
[Updated on: Fri, 24 February 2006 10:22] Report message to a moderator
|
|
|
|
|
Re: Linux compile fails [message #1236 is a reply to message #1235] |
Fri, 24 February 2006 11:31   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
iplayfast wrote on Fri, 24 February 2006 05:01 |
luzr wrote on Fri, 24 February 2006 04:50 | Please, try to remove
-ffunction-sections
from the
CC = c++ -c -O2 -Os -ffunction-sections
line.
Mirek
P.S.: I am sorry for linux troubles - we are seeking for capable Linux maintainer/releaser for years now...
|
I've not seen -ffunction-sections before. What does it do?
As far as Linux I might be able to give you a hand. Let me get more familiar with your system first though. After I get this up and running I'm going to try to make a autoconf make system for it. (If nothing else it will refresh my skills).
|
Well, -ffunction-sections is a flag for compiler that puts each function into separate section. This makes dead-code removal possible for the linker.
However, it unfortunately turns out that "ld" does not do removal anyway, and some ld versions react with the error message you have encountered (meanwhile, our own MinGW ld replacement "uld" is able to use this).
I have already encountered the error in ubuntu a "-ffunction-sections" is now removed from TheIDE GCC builder in Linux, but it looks like it somehow survived in makefile generator...
When thinking about autoconf etc, please keep always keep in mind the "synthetic" nature of Makefile. OTOH, if something is needed to be added to Makefile generator, we will be happy to do so.
Also, the whole linux distribution structure is open to discussion. What we have now is what we were able to put together with our limited resources...
Mirek
|
|
|
|
|
|
|
|
|
|
Re: Linux compile fails [message #1257 is a reply to message #1255] |
Fri, 24 February 2006 21:31   |
|
zsolt wrote on Fri, 24 February 2006 14:33 |
Quote: | but this to me looks like re-inventing the wheel.
|
Try using TheIDE for one or two weeks for professional development.
And after it switch back to your conventional environment with make.
You will find that conventional model unusably slow.
Using U++'s build environment is viery addictive 
I started using upp about 2 monts ago, but I can not imagine going back to make or scons world.
|
I wouldn't say that better!
|
|
|
|
|
Re: Linux compile fails [message #1262 is a reply to message #1259] |
Fri, 24 February 2006 21:52   |
iplayfast
Messages: 47 Registered: February 2006
|
Member |
|
|
luzr wrote on Fri, 24 February 2006 15:48 | Well, BLITZ is very different system. Please read the explanation again:) OTOH, BLITZ needs to know more about what he compiles than makefiles are able to provide (it is C++ specific, goes through files, checks things and even generates some stub C++ code).
For full debug mode rebuild, BLITZ can be as much as 4 times faster .
The reason why it seem slow at first is that because of BLITZ, we can avoid traditional system of compiled libraries - in U++, all libraries exist in source form only. If you compile any example for the first time, complete "U++ library" gets recompiled on the way (and gets cached).
Mirek
|
Well I'll not argue the point since we both agree it is cool. However perhaps you can help with a bug. In Linux the sdlexample won't link the sdl library. How do I tell it to?
|
|
|
Re: Linux compile fails [message #1263 is a reply to message #1262] |
Fri, 24 February 2006 21:57   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
iplayfast wrote on Fri, 24 February 2006 15:52 |
luzr wrote on Fri, 24 February 2006 15:48 | Well, BLITZ is very different system. Please read the explanation again:) OTOH, BLITZ needs to know more about what he compiles than makefiles are able to provide (it is C++ specific, goes through files, checks things and even generates some stub C++ code).
For full debug mode rebuild, BLITZ can be as much as 4 times faster .
The reason why it seem slow at first is that because of BLITZ, we can avoid traditional system of compiled libraries - in U++, all libraries exist in source form only. If you compile any example for the first time, complete "U++ library" gets recompiled on the way (and gets cached).
Mirek
|
Well I'll not argue the point since we both agree it is cool. However perhaps you can help with a bug. In Linux the sdlexample won't link the sdl library. How do I tell it to?
|
In Package organizer. (Project/Package organizer).
BTW, we have not tested SDL in linux yet (In fact, SDL is not a part of U++, we have added it to Win32 version just to make things easy for people interested in game development and not necessarily interested in U++ library). I would welcome fix there - the simplest would be to post here fixed .upp and .cpp files of SDLExample package.
Mirek
|
|
|
|
|
|
|
Goto Forum:
Current Time: Sat Apr 26 20:37:58 CEST 2025
Total time taken to generate the page: 0.00915 seconds
|
|
|