Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

aaa

Katrina Bekkers
Gentooed
Join date: 30 Mar 2007
Posts: 66
08-05-2007 09:18
Hiya all.

My cravings for utmost optimization put me (again) in trouble! :)

I'm trying to recompile 1.18.1.2, and it fails. It worked flawlessly for 1.18.0.6, using Henri's make-SL script, but with this source release, something changed and it doesn't link it anymore.

The compilation goes a-ok, but at linking... (my comments in {}'s)

From: someone

syylk@karis /home/syylk/src > ./make-SL --retry
Compiling the client into /home/syylk/src/SL/build...
scons: Reading SConscript files ...
Building client 1.18.1.2 on i686-linux (releasefordownload)
No CCACHE_DIR set.
scons: done reading SConscript files.
scons: Building targets ...
python /home/syylk/src/SL/scripts/template_verifier.py --mode="development" --cache_master 2>&1
master: http://secondlife.com/app/message_template/master_message_template.msg
current: /home/syylk/src/SL/scripts/messages/message_template.msg
Refreshing master cache from http://secondlife.com/app/message_template/master_message_template.msg
--- PASS ---
Same

{here it confirms that all object files have been correctly compiled:}
scons: `lib_releasefordownload_client/i686-linux/libllcommon.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllmath.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllvfs.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllimagej2coj.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllimage.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllmessage.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllinventory.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllcharacter.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllprimitive.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllrender.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllwindow.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllxml.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/liblscript.a' is up to date.
scons: `linux_crash_logger/linux-crash-logger-i686-bin-globalsyms' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllaudio.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllmedia.a' is up to date.
scons: `lib_releasefordownload_client/i686-linux/libllui.a' is up to date.

{now, the linking into the bin-globalsyms:}
g++ -o newview/secondlife-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /home/syylk/src/SL/build/home/syylk/src/SL/indra/i686-linux-client-releasefordownload/newview/head.o {...all the other object files...} -Llib_releasefordownload_client/i686-linux -L/home/syylk/src/SL/libraries/i686-linux/lib_release_client -llscript -lllwindow -lllrender -lllprimitive -lllmedia -lllinventory -lllimage -lllimagej2coj -lllcharacter -lllaudio -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lresolv -lgtk-x11-2.0 -latk-1.0 -lgmodule-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lpangoft2-1.0 -lpangox-1.0 -lpangoxft-1.0 -lXinerama -lELFIO -lglib-2.0 -lgobject-2.0 -lcurl -lssl -lcrypto -lexpat -laprutil-1 -lapr-1 -lz -lxmlrpc -lfreetype -lSDL -logg -lvorbisenc -lvorbisfile -lvorbis -ldb-4.2 -ljpeg -lopenjpeg -lpng12 -lGL -lGLU -lfmod-3.75

{here the errors, all related to undefined fns:}
/usr/lib/libgtk-x11-2.0.so: undefined reference to 'gdk_cairo_create'
/usr/lib/libgtk-x11-2.0.so: undefined reference to 'gdk_pango_renderer_set_drawable'
/usr/lib/libgtk-x11-2.0.so: undefined reference to 'gdk_cairo_set_source_pixbuf'
/usr/lib/libgtk-x11-2.0.so: undefined reference to 'g_get_user_config_dir'
{...and many, many more}

collect2: ld returned 1 exit status
scons: *** [newview/secondlife-i686-bin-globalsyms] Error 1
scons: building terminated because of errors.


Of course, I have all the correct libs, and correct headers. If I recursively grep for the undefined references both into /usr/include/* and in the libraries subdir of the source tree, I find references to those functions. Somehow, the new compilation doesn't look in the right place, or doesn't include what in the 1.18.0.6 was included.

I'm puzzled. Someone can help? Henri? Tofu?

Thanks in advance.

EDIT: this damn forum doesn't allow long/messy paths. The actual errors are in longer filenames with lots of "\..\" (with slashes in the RIGHT direction), but the forum blocks them. Blah.
Sariel Villota
SL Mentor
Join date: 1 May 2007
Posts: 25
08-06-2007 14:15
I would suggest waiting for the next source release. Appears to be a number of build problems with this release and bug reports have been filed to Jira. I have been able to build previous sources fine with make-SL but some major changes were introduced and no preview client available to test prior to release.
Tofu Linden
Linden Lab Employee
Join date: 29 Aug 2006
Posts: 471
08-07-2007 01:57
Did you download the latest linux libs bundle? The contents of this have changed a lot. Alternatively, if you're not using the libs bundle you might consider the new 'standalone' scons option.

This isn't really the forum for own-builds though - SLDev is a better place for that.
Katrina Bekkers
Gentooed
Join date: 30 Mar 2007
Posts: 66
08-07-2007 07:17
Yes, the latest libs bundle. No, I don't use LL-provided libs (but the Google PerfTools), because I want to use my own system libs - gentooishly optimized and all that. I use Henri's make-SL script, that patches SConstruct and the source tree to move there the headers and relevant lib links.

The "standalone" may be a good choice, I'll try it. But it leaves everything in the source tree? The "releasefordownload" produced a neat packaged tar.bz2. Oh, well. :)

I'll also follow your suggestion about SLDev. Thanks a lot, Tofu.