Common compilation problems

From Second Life Wiki
Jump to navigation Jump to search

General Problems

Windows

Compiling on MSVC 2005

Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works.

What sort of errors are seen?

  • I'm still working through getting this to compile, but to get a good way further, In the property pages for the projects:
    1) In C/C++, set 'Treat Warnings as Errors' to No
    2) In C/C++-Language, set 'Treat wchar_t as Built-in Type' to No 

for information and just cast them correctly.

  • Looks like the last hurdle is going to be re-building Boost and Mozilla without libcp.lib dependencies (VC2005 uses libcpmt.lib; the multi-threaded

version)

[I'll come back when I finish getting it to build and post a link to changes/workarounds. Cheers -Drake Stonewall]

  • To minimize the number of warnings for now: in C/C++-Preprocessor add ';_CRT_SECURE_NO_DEPRECATE' to the Preprocessor Definitions, that will supress deprecation warnings --Artm Udal 12:42, 8 January 2007 (PST)

Mac OS X

Linux

  • From Mako Mabellon: Having a bit of trouble with ELFIO 1.0.3 under Linux - it wants to build a static library libELFIO.a, and Second Life appears to expect a shared library libelfio.so (judging from the build instructions on the Wiki)...
    • Tofu says... 'You can rename the library to have the right case. I don't know why ours ended up lower-case and yours is upper-case - I'll look into it.'
  • Something like: error: extra qualification 'LLMessageSystem::' on member 'init'
    • Tofu says... 'This is likely a GCC 4.x thing. We need GCC 3.4 or thereabouts, for now. If you want to use GCC 4.x anyway, you can harmlessly remove the LLMessageSystem:: from the troublesome line. Other stuff will need fixing too; people are on it!'
  • Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: error: `glActiveTextureARB' was not declared in this scope
    • Tofu says... 'You'll need to install OpenGL headers if you don't already have them: gl.h, gl_ext.h, glu.h (The ones from 'mesa' should work)
    • a resident reports good luck on Gentoo after doing 'eselect opengl set xorg-x11' (but note!! You must know what you're doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. 'eselect opengl set nvidia')'
    • Tofu says... 'Try removing the space in ' ../libraries/' around line 121 of indra/SConstruct'
  • Something like: indra.y.cpp:17: error: previous declaration of `int yyparse()'
    • Tofu says... 'This appears to be a problem with some versions of flex/bison. A resident reports success when comment out the #ifdef __cplusplus lines in lscript/lscript_compile/indra.y'
  • Compiler can't find gtk/gtk.h, but it's right there!
    • This is probably peculiar to certain SCons versions. Edit the indra/SConstruct file and remove the leading spaces from the ' ../libraries/' strings from around line 187 onwards.