You are not logged in.

#1 2011-11-21 18:06:47

GordonGR
Member
From: Thessaloniki, Greece
Registered: 2011-11-07
Posts: 276

Problems compiling Imprudence in Arch64

Hallo everyone.

I'm trying to compile Imprudence 1.40 beta 1 (x86_64) edition, non-standalone, following the official instructions. I also installed gcc-4.3 from the AUR. I configured with

nikos@Russell:~/tmp/imprudence-non-standalone/linden/indra$ CXX=/usr/bin/g++-4.3 python develop.py cmake
Running 'cmake -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO -G \'Unix Makefiles\' -DSERVER:BOOL=OFF -DVIEWER:BOOL=ON -DSTANDALONE:BOOL=OFF -DUNATTENDED:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Imprudence "" \'/home/nikos/tmp/imprudence-non-standalone/linden/indra\'' in 'viewer-linux-x86_64-relwithdebinfo'
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++-4.3
-- Check for working CXX compiler: /usr/bin/g++-4.3 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.2")
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Found OpenGL: /usr/lib/libGL.so 
-- Version of viewer is 1.4.0-Experimental-2011.04.19
-- Configuring done
CMake Warning at newview/CMakeLists.txt:1286 (add_executable):
  Cannot generate a safe linker search path for target imprudence-bin because
  files in some directories may conflict with libraries in implicit
  directories:

    link library [libGLU.so] in /usr/lib may be hidden by files in:
      /home/nikos/tmp/imprudence-non-standalone/linden/indra/../libraries/x86_64-linux/lib_release_client

  Some of these libraries may not be found correctly.


-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    UNATTENDED


-- Build files have been written to: /home/nikos/tmp/imprudence-non-standalone/linden/indra/viewer-linux-x86_64-relwithdebinfo

(The configuring script downloaded and extracted various libraries from their site, as it should).
Then I invoked

CXX=/usr/bin/g++-4.3 python develop.py build

as per instructions.

The compiling process halts at 43%, where it states

[ 42%] Building CXX object llui/CMakeFiles/llui.dir/llviewborder.o                
[ 43%] Building CXX object llui/CMakeFiles/llui.dir/llview.o                      
[ 43%] Building CXX object llui/CMakeFiles/llui.dir/llviewquery.o                 
Linking CXX static library libllui.a                                              
make[2]: Leaving directory `/home/nikos/tmp/imprudence-non-standalone/linden/indra/viewer-linux-x86_64-relwithdebinfo'
[ 43%] Built target llui
make[1]: Leaving directory `/home/nikos/tmp/imprudence-non-standalone/linden/indra/viewer-linux-x86_64-relwithdebinfo'
make: *** [all] Error 2
make: Leaving directory `/home/nikos/tmp/imprudence-non-standalone/linden/indra/viewer-linux-x86_64-relwithdebinfo'
Error: the command 'make' exited with status 2

I have two ideas:

First, that while g++ is correctly identified as g++4.3, gcc isn't and that causes problems, but if so I don't know how to pass it to cmake. I tried

C=/usr/bin/gcc-4.3 CXX=/usr/bin/g++-4.3 blahblah

but nothing changed.

Secondly, that I'm using too modern a version of cmake (namely 2.8.6), but I didn't find any older versions in the AUR, and I'm afraid to downgrade in fear I might break anything.

Thirdly, following to the warning above, I soft-linked

ln -s /usr/lib/libGLU.so.1.3.071100 ~/tmp/imprudence-non-standalone/linden/libraries/x86_64-linux/lib_release_client/libGLU.so.1

so I now had

nikos@Russell:~/tmp/imprudence-non-standalone/linden/libraries/x86_64-linux/lib_release_client$ ls -l libGLU*
lrwxrwxrwx 1 nikos users     11 Νοέ  21 19:40 libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 nikos users     29 Νοέ  21 19:52 libGLU.so.1 -> /usr/lib/libGLU.so.1.3.071100
-rwxr-xr-x 1 nikos users 466288 Φεβ   3  2010 libGLU.so.1.3.070600

but that didn't change a thing, either.

Any ideas?


Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, x86_64. AURs.

“No one without the knowledge of geometry may enter.“ Plato.

Offline

#2 2011-11-22 10:41:44

xcausex
Member
Registered: 2010-08-27
Posts: 12

Re: Problems compiling Imprudence in Arch64

Is there a reason why you don't want to just use the stand-alone versions available from their website?

That's what I always use, seems like it would be a lot less hassle than trying to build it yourself. I had a lot of issues in the past trying to build SL viewers on Linux, especially on Arch since our systems are a fair bit more up-to-date than other systems. All the viewers based on the old code base use a number of out-dated libraries that make it a real pain to build.

Sorry I can't offer any real advice on building it, as I have long given up on trying. The stand-alone versions just need to be unpacked and run as is from their folder, so much easier and fairly stress-free. That alone was enough incentive for me to live with those versions.

If you are interested in getting involved with development then I can understand wanting to build it, but if you just need a viewer to access a grid I would really suggest settling for the stand-alones.

Offline

#3 2011-11-22 17:07:32

GordonGR
Member
From: Thessaloniki, Greece
Registered: 2011-11-07
Posts: 276

Re: Problems compiling Imprudence in Arch64

I think I had *some* progress, but not quite:

Scrolling back I saw a warning at 37%:

[ 37%] Building CXX object llui/CMakeFiles/llui.dir/llalertdialog.o
Warning: Could not generate ChangeLog.txt: fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

and an error soon after:

[ 38%] Building CXX object linux_crash_logger/CMakeFiles/linux-crash-logger.dir/llcrashloggerlinux.o                                                                
Linking CXX executable linux-crash-logger                                         
g++-4.3: ;-Wl,--as-needed: No such file or directory
make[2]: *** [linux_crash_logger/linux-crash-logger] Error 1

The first is something to do with git, which I have installed but haven't used, because I just downloaded a source tarball. The second, according to this post needs to override the LDFLAGS environment variable to LDFLAGS="-Wl,--hash-style=gnu".

Now, I tried to do that, any way I could think of, that is

set LDFLAGS="-Wl;--hash-style=gnu"

or

CXX=/usr/bin/g++-4.3 python develop.py --type=Release cmake -DCMAKE_LDFLAGS="-Wl;--hash-style=gnu"

or

set CMAKE_LDFLAGS="-Wl;--hash-style=gnu"

but alas none worked.


Is there a reason why you don't want to just use the stand-alone versions available from their website?

Yes. Building non-standalone from source is the first step to building standalone from source. I want to compare the graphics result between ready binaries and self-compiled binaries in a modern viewer. I have already seen how an old snowglobe 1.3 self-compiled gives way better graphics in my Intel GMA card (G41) that a ready binary of the same viewer. Thank you for your thoughts, though.


Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, x86_64. AURs.

“No one without the knowledge of geometry may enter.“ Plato.

Offline

Board footer

Powered by FluxBB