Jump to content

Rebuilding fails [SOLVED]


Almin
 Share

Recommended Posts

Having problems with rebuilding 0ad. As you can see at the bottom, I can not even test whether all works fine or not.


[me@mypc 0ad]$ sh quickrebuild.sh
At revision 10428.
Updating bundled third-party dependencies...

bash -c 'mkdir -p output/{debug,release,test}/{FCollada/{FCDocument,FMath,FUtils,FColladaTest/{FCTestAssetManagement,FCTestExportImport,FCTestXRef}},FColladaPlugins/FArchiveXML}'
cp output/libFColladaSD.a ../lib/libFColladaSD.a
cp output/libFColladaSR.a ../lib/libFColladaSR.a

SpiderMonkey is already up to date

Building NVTT...

-- Setting optimal options
-- Processor: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
-- Compiler Flags:
-- Looking for OpenGL - found
-- Looking for GLUT - found
-- Looking for DirectX - not found
-- Looking for GLEW - found
-- Looking for Cg - not found
-- Looking for CUDA - not found
-- Looking for Maya - not found
-- Looking for JPEG - found
-- Looking for PNG - found
-- Looking for TIFF - found
-- Found OpenEXR: /usr/lib/libIlmImf.so
-- Looking for OpenEXR - found
-- Use thread library: -lpthread
-- Configuring done
-- Generating done
-- Build files have been written to: /home/markus/homemade/0ad/libraries/nvtt/src/build
[ 2%] Built target posh
[ 16%] [ 32%] Built target squish
Built target nvcore
[ 46%] Built target nvmath
[ 72%] Built target nvimage
[100%] Built target nvtt

Building libenet...

checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm - interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gethostbyaddr_r... yes
checking for gethostbyname_r... yes
checking for poll... yes
checking for fcntl... yes
checking for inet_pton... yes
checking for inet_ntop... yes
checking for struct msghdr.msg_flags... yes
checking for socklen_t... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libenet.pc
config.status: executing depfiles commands
config.status: executing libtool commands
make: Nothing to be done for `all'.

make: Entering directory `/home/markus/homemade/0ad/build/premake/premake4/build/gmake.unix'
==== Building Premake4 (release) ====
make: Leaving directory `/home/markus/homemade/0ad/build/premake/premake4/build/gmake.unix'

Building configurations...
Running action 'gmake'...
Generating ../workspaces/gcc/Makefile...
Generating ../workspaces/gcc/pyrogenesis.make...
Generating ../workspaces/gcc/network.make...
Generating ../workspaces/gcc/simulation2.make...
Generating ../workspaces/gcc/scriptinterface.make...
Generating ../workspaces/gcc/engine.make...
Generating ../workspaces/gcc/graphics.make...
Generating ../workspaces/gcc/atlas.make...
Generating ../workspaces/gcc/gui.make...
Generating ../workspaces/gcc/lowlevel.make...
Generating ../workspaces/gcc/mocks_real.make...
Generating ../workspaces/gcc/mocks_test.make...
Generating ../workspaces/gcc/AtlasObject.make...
Generating ../workspaces/gcc/AtlasScript.make...
Generating ../workspaces/gcc/AtlasUI.make...
Generating ../workspaces/gcc/ActorEditor.make...
Generating ../workspaces/gcc/Collada.make...
Generating ../workspaces/gcc/test.make...
Done.
==== Building mocks_real (release) ====
==== Building network (release) ====
==== Building scriptinterface (release) ====
==== Building simulation2 (release) ====
==== Building engine (release) ====
==== Building atlas (release) ====
==== Building graphics (release) ====
==== Building gui (release) ====
==== Building lowlevel (release) ====
==== Building mocks_test (release) ====
==== Building AtlasObject (release) ====
==== Building AtlasScript (release) ====
==== Building Collada (release) ====
==== Building AtlasUI (release) ====
apic.cpp
lcpu.cpp
linux.cpp
ldbg.cpp
dir_watch_fam.cpp
ufilesystem.cpp
unix.cpp
udbg.cpp
unuma.cpp
../../../source/lib/sysdep/arch/x86_x64/apic.cpp: In function 'ApicId ApicIdFromProcessor(size_t)':
../../../source/lib/sysdep/arch/x86_x64/apic.cpp:134:53: error: expected '}' at end of input
make[1]: *** [obj/lowlevel_Release/apic.o] Error 1
make[1]: *** Waiting for unfinished jobs....
==== Building ActorEditor (release) ====
Creating obj/ActorEditor_Release
ActorEditor.cpp
Linking ActorEditor
make: *** [lowlevel] Error 2

[me@mypc 0ad]$ ls
0ad-alpha_7-2-x86_64.pkg.tar.xz LICENSE.txt README.txt build libraries license_gpl-2.0.txt quickrebuild.sh source
Buildvorgang OpenLogsFolder.bat binaries docs license_dbghelp.txt license_lgpl-2.1.txt rebuild.sh startpyrogenesis.sh
[me@mypc 0ad]$ ./binaries/system/test
bash: ./binaries/system/test: No such file or directory

Does anyone of you know the problem. I have this problem since a few days or maybe 2 or 3 weeks.

edit: How can I hide the console output(to make the post shorter)?

EDIT/Mythos: Added Spoiler tags.

Edited by Almin
Link to comment
Share on other sites

Is there no one else, who has this problem? I'm on Arch GNU/Linux 64bit with the proprietary Nvidia driver and can not even build the "partly-stable" alpha 7 any more. That worked earlier for me. So it's not just the svn which fails. What could be the problem? Arch Linux is rolling release and has the newest stable versions of software in it's repositories. Might this cause trouble? Incompatible versions of gcc, the build-utils, nvidia-driver or something like this?

edit: With "partly-stable" alpha 7, I talk about these things:

http://releases.wildfiregames.com/0ad-r10288-alpha-unix-build.tar.xz

http://releases.wildfiregames.com/0ad-r10288-alpha-unix-data.tar.xz

Edited by Almin
Link to comment
Share on other sites

Is the reported failure (apic.cpp line 134 in your original post) the line that says

return ApicIdFromIndex(processorApicIds, processor);

in the version you're compiling?

What version of GCC are you using? (run "gcc -v")

Could you run "make lowlevel verbose=1", find the part of the output where it refers to apic.cpp like

apic.cpp
g++ -Iobj/lowlevel_Release -include obj/lowlevel_Release/precompiled.h -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DLIB_STATIC_LINK -DUSING_PCH -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -I../../../source/pch/lowlevel -I../../../source -I../../../libraries/valgrind/include -I../../../libraries/cxxtest/include -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fpch-preprocess -msse -fno-omit-frame-pointer -fvisibility=hidden `sdl-config --cflags` -MF obj/lowlevel_Release/apic.d -MT "obj/lowlevel_Release/apic.o" -o "obj/lowlevel_Release/apic.o" -c "../../../source/lib/sysdep/arch/x86_x64/apic.cpp"

and post here exactly what it says in your version?

Then, could you take that command (starting from the "g++"), add a "-E" to the end, run it (from the workspaces/gcc directory), then get obj/lowlevel_Release/apic.o (which should be a text file, not binary) and upload/attach/pastebin/etc it?

(I'm wondering if there's something weird in your environment that's defining a macro named "processor", because I don't see how else that code could fail, though then I don't see how some earlier code would succeed. In any case, hopefully the above would either show or rule out that problem :))

Link to comment
Share on other sites

gcc -v:



[me@mypc ~]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/src/gcc-4.6-20110819/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --enable-multilib --disable-libssp --disable-libstdcxx-pch --enable-checking=release
Thread model: posix
gcc version 4.6.1 20110819 (prerelease) (GCC)

edit:

and make lowlevel verbose=1:



[me@mypc gcc]$ make lowlevel verbose=1
==== Building lowlevel (release) ====
apic.cpp
g++ -Iobj/lowlevel_Release -include obj/lowlevel_Release/precompiled.h -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DLIB_STATIC_LINK -DUSING_PCH -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -I../../../source/pch/lowlevel -I../../../source -I../../../libraries/valgrind/include -I../../../libraries/cxxtest/include -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fpch-preprocess -msse -fno-omit-frame-pointer -fvisibility=hidden `sdl-config --cflags` -MF obj/lowlevel_Release/apic.d -MT "obj/lowlevel_Release/apic.o" -o "obj/lowlevel_Release/apic.o" -c "../../../source/lib/sysdep/arch/x86_x64/apic.cpp"
../../../source/lib/sysdep/arch/x86_x64/apic.cpp: In function 'ApicId ApicIdFromProcessor(size_t)':
../../../source/lib/sysdep/arch/x86_x64/apic.cpp:134:53: error: expected '}' at end of input
make[1]: *** [obj/lowlevel_Release/apic.o] Error 1
make: *** [lowlevel] Error 2

Edited by Almin
Link to comment
Share on other sites

Sorry for posting another reply, but I wanted to keep this topic clean at the end, because my problem is solved.

First: I am ashamed and embarrassed, because, when I read Ykkroshs' reply, something came in my mind: I realised, that I did not use gcc in the correct 64bit version, but another version, which is called gcc-multilib in Arch GNU/Linux. This multilib-Repository "contains 32 bit libraries that can be used to run 32 bit applications like the flash plugin and skype in 64 bit installation."

For further information, what it's all about: https://wiki.archlinux.org/index.php/Multilib

I'm sorry for the time that you(feneur, historic_bruno, Mythos_Ruler and Ykkrosh) lost for my silly mistake, but I can't give it back to you. Next time I will start thinking, before posting! ;)

edit: I forgot to say, that everything works fine now. Compiled without any error. And you're just awesome. You're simply awesome! I love you guys! :banana:

Edited by Almin
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...