By checking the Output window (View menu -> Other Windows), this shows up as an error saying: ''link: extra operand `/NOLOGO' ''

+

+

As reported by Brad Linden, this is caused by having the compiler executable directories in the wrong order, with the Cygwin directory path listed above the Visual Studio paths. This causes the Cygwin linker to be used instead of Visual Studio's linker.

+

+

Go to Tools -> Options -> Projects -> VC++ Directories, show directories for Executables, and move "C:\cygwin\bin" to the bottom of the list.

== Cannot open include file: 'glh/glh_linear.h' or 'glh/glh_convenience.h' ==

== Cannot open include file: 'glh/glh_linear.h' or 'glh/glh_convenience.h' ==

These files are currently missing from Linden Windlight distributions. See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.

These files are currently missing from Linden Windlight distributions. See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.

−

<br/>

−

[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .

<br/>

<br/>

<br/>

<br/>

Line 113:

Line 162:

<br/>

<br/>

<br/>

<br/>

+

== Cannot open include file: 'windows.h' ==

== Cannot open include file: 'windows.h' ==

If you run into this problem:

If you run into this problem:

Line 133:

Line 183:

Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).

Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).

+

+

Also be sure that your error does not come from previously in the log: like the cgywin component bison not being found. For MSVS2005 Express, you may need to go to tools>options>Projects and Solutions>VC++ Directories>Executable files and add the directory for cgywin.

+

<br/>

<br/>

<br/>

<br/>

Line 151:

Line 204:

copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares

copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares

−

<br/>

+

−

<br/>

+

===FMOD===

+

FMOD headers and libs need to be copied into the viewer build directory BUT on Windows the manifests are not currently moving the libs to the correct location post build so the application will fail to run, to resolve copy fmod.dll to indra/build-vc71/newview/debug and indra/build-vc71/newview/relwithdebinfo and indra/build-vc71/newview/release

+

+

===Boost and VS 2008===

+

If you use Visual Studio C++ 2008 (VC90), you may find that the Boost library will lock up solid and the viewer will not tun consuming 50-100% of CPU doing nothing. The only solutions are to use Visual Studio 2005 OR to get a newer version/rebuild boost with Visual Studio 2008.

+

+

This problem is being worked on. Look here for updates: [https://jira.secondlife.com/browse/VWR-9541 VWR-9541]

+

+

===Express editions of Visual C++===

+

Express editions do not have some of the extra features that VSTool.exe requires, VSTool is a little application that sets a few default project options, like which project is the startup and which build configuration to use.

+

+

+

===LLKDU===

+

This is not present in the automated libs download but is required at least on windows by the copy_win_scrips script. The file is not actually needed for the viewer to run (if present it will be used for jpeg2000 decoding in preference to Openjpeg. The solution is to remove the lines from newview/copy_win_scripts that reference llkdu and this should then allow this custom build step to run without issue

+

+

=== [...]/CMakeDetermineCompilerABI_C.bin cannot be read. ===

+

Occurs on Windows 7, make sure your running the cmd shell (or whatever your using to run the "python develop.py") with Administrator privileges.

+

+

== fatal error C1060: compiler is out of heap space ==

+

If you are not using Incredibuild and have precompiled headers disabled, you may encounter this error.

Sometimes the provide libGL.a can cause issues. To avoid linker errors, you may need to remove indra/libraries/i686-linux/release/libGL.a and indra/libraries/i686-linux/debug/libGL.a

+

+

+

=== Packaging errors ===

The final packaging step may fail with errors about the manifest if you are not using the <i>slviewer-linux-libs</i> bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at <b>indra/newview/viewer_manifest.py</b>

The final packaging step may fail with errors about the manifest if you are not using the <i>slviewer-linux-libs</i> bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at <b>indra/newview/viewer_manifest.py</b>

** Tofu says... 'This appears to be a problem with some versions of flex/bison. A resident reports success when comment out the <i>#ifdef __cplusplus</i> lines in lscript/lscript_compile/indra.y'

−

** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: <b>undefined

−

* Linking failures ("script not found") due to spaces in the LINKFLAGS variable?

−

** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.

−

* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using ''BUILD=releasefordownload'' I get many ''[: 89: ==: unexpected operator'' errors; ''cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory'' error, and same thing for character, fonts, help, skins, res-sdl; ''[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator''. I can succesfully run the client from the source tree.

+

====Blino's SL build/linking patches for '''gcc4'''====

−

** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)

* Tofu says... 'This is an omission from our manifest which I'll fix. Meanwhile it's a safe fix to create an empty file with that name.'

−

** two residents report good luck on Gentoo after doing 'eselect opengl set xorg-x11' (<b>but note!!</b> 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... 'This appears to be a problem with some versions of flex/bison. A resident reports success when comment out the <i>#ifdef __cplusplus</i> lines in lscript/lscript_compile/indra.y'

+

* Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: <b>undefined</b>

+

* Abi says: I forgot to install bison. Once I did that, problem solved.

+

+

+

====Linking failures ("script not found") due to spaces in the LINKFLAGS variable?====

+

* I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.

+

+

+

====''cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory''====

+

Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using ''BUILD=releasefordownload'' I get many ''[: 89: ==: unexpected operator'' errors; ''cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory'' error, and same thing for character, fonts, help, skins, res-sdl; ''[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator''. I can succesfully run the client from the source tree.

+

* i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)

+

+

+

====`['.../lscript/lscript_compile/indra.l.cpp']': Don't know how to build a file with suffix `.l'====

+

scons: *** While building `['.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp']': Don't know how to build a file with suffix `.l'.

+

* You probably don't have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)

+

+

+

====`glActiveTextureARB' was not declared in this scope====

+

Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: <b>error: `glActiveTextureARB' was not declared in this scope</b>

* two residents report good luck on Gentoo after doing 'eselect opengl set xorg-x11' (<b>but note!!</b> 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')'

+

* Note that the above xorg-x11/nvidia issue is addressed in [http://jira.secondlife.com/browse/VWR-9557 VWR-9557] which includes patches!

** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile was happy after that. Although it's not done yet and I'm still fixing another error, that I assume is unrelated.

+

* I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile was happy after that. Although it's not done yet and I'm still fixing another error, that I assume is unrelated.

−

* C-Ares compatability issue.

+

+

====C-Ares compatability issue.====

Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:

Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:

Line 299:

Line 408:

Fixed with patch from https://jira.secondlife.com/browse/VWR-3480

Fixed with patch from https://jira.secondlife.com/browse/VWR-3480

−

==== scons got wild ====

−

* AttributeError: SConsEnvironment instance has no attribute 'CFile'

+

====memset used with constant zero length parameter====

−

: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.

+

Building with -t Release causes memset error in /usr/include/bits/string3.h:82

−

:* When your system has no bison installed, the above message will be supplemented as:

+

The error is "/usr/include/bits/string3.h:82: error: call to `__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters"

If you get an undefined reference to `FT_Realloc'* from libpangoft2-1.0.so, you might have to delete some bundled libraries. [http://imprudenceviewer.org/wiki/How_to_compile#Removing_Bad_Libraries_on_Gentoo_Linux See here]

General Problems

Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform

Windows

Viewer 1.19.1.4 / VS2003

C1083: Cannot open include file: 'dxdiag.h'

The DirectX SDK doesn't automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -> Options -> Projects (on left) -> VC++ Directories. On right show directories for Include files, and add:

C4018: '<' : signed/unsigned mismatch

I'm not sure whether this has already been addressed here, but we
discovered a problem with the latest version of Cygwin flex and
lscript_compile and I thought I would share the workaround. We've
committed the workaround to our release-candidate branche so it should
be in an upcoming source drop as well.

1. Add YY_NO_UNISTD_H to the list of Preprocessor Definitions in the
lscript_compile project file.

[...] error result returned from 'link.exe'

By checking the Output window (View menu -> Other Windows), this shows up as an error saying: link: extra operand `/NOLOGO'

As reported by Brad Linden, this is caused by having the compiler executable directories in the wrong order, with the Cygwin directory path listed above the Visual Studio paths. This causes the Cygwin linker to be used instead of Visual Studio's linker.

Go to Tools -> Options -> Projects -> VC++ Directories, show directories for Executables, and move "C:\cygwin\bin" to the bottom of the list.

Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider

These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK. To workaround, edit lldxhardware.cpp and replace the following (line 35):

#include <dxdiag.h>

with...

#define INITGUID
#include <dxdiag.h>
#undef INITGUID

Cannot open input file 'dxguid.lib'

fatal error LNK1181: cannot open input file 'dxguid.lib' in ...

If you are using a fairly recent DirectX SDK ("December 2006" or newer), your VC++ Libraries Directory may be wrong because the SDK's lib folder now has 2 sub-folders for x64 and x86. Try changing the path from C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib to C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib\x86

Cannot open input file 'dxerr8.lib'

fatal error LNK1104: cannot open file 'dxerr8.lib'

If you are using the most recent DirectX SDK ("November 2007"), the file dxerr8.lib does no longer exist. To fix this, you'll need to change the newview project to include 'dxerr9.lib' instead. To do this, right-lick newview > Configuration Properties > Linker > Input, click Additional Dependencies on the right to show a button labeled "..." on it at the very right on the line, then click the ... button. Scroll down the list to find 'dxerr8.lib'. Rewrite it to 'dxerr9.lib'. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.

A tool returned an error code from "Building ytab.cpp"

lscript_compile_fb error PRJ0019: A tool returned an error code from "Building ytab.cpp"

One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command. Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.

Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).

Cannot open include file: 'png.h': No such file or directory

imagepng.cpp : fatal error C1083: Cannot open include file: 'libpng12/png.h': No such file or directory.

There are a couple of files missing since the 1.17. distribution. You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from here (see the readme.txt inside the png archive there).

Cannot open include file: 'glh/glh_linear.h' or 'glh/glh_convenience.h'

These files are currently missing from Linden Windlight distributions. See JIRA VWR-3415 or grab a copy from here and put the files into a folder named linden/libraries/include/glh.

Errors relating to "template_verifier.py"

With version 1.18 a template verifier script written in Python is used to ensure the message template is correct. In some distributions the file was missing. You will also get an error if you have skipped the Python install. In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA VWR-1267

Missing resources

.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico

Some releases have missing files, which were reported to be last seen in the 1.14.0.1 release.

Can not find library ll*.lib

If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview > Properties > Linker > Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).

Cannot open include file: 'windows.h'

If you run into this problem:

..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory

You might need to edit the above path to refer to your particular platform SDK. If you don't have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft. It is version specific and can be tricky to find on their website.

If you're having problems with windows.h in Visual Studio Express 2005, check out this forum post:
MSDN Forum Post

This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree. I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.

Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).

Also be sure that your error does not come from previously in the log: like the cgywin component bison not being found. For MSVS2005 Express, you may need to go to tools>options>Projects and Solutions>VC++ Directories>Executable files and add the directory for cgywin.

Cannot open include file: 'ares.h'

copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug

copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares

FMOD

FMOD headers and libs need to be copied into the viewer build directory BUT on Windows the manifests are not currently moving the libs to the correct location post build so the application will fail to run, to resolve copy fmod.dll to indra/build-vc71/newview/debug and indra/build-vc71/newview/relwithdebinfo and indra/build-vc71/newview/release

Boost and VS 2008

If you use Visual Studio C++ 2008 (VC90), you may find that the Boost library will lock up solid and the viewer will not tun consuming 50-100% of CPU doing nothing. The only solutions are to use Visual Studio 2005 OR to get a newer version/rebuild boost with Visual Studio 2008.

Express editions of Visual C++

Express editions do not have some of the extra features that VSTool.exe requires, VSTool is a little application that sets a few default project options, like which project is the startup and which build configuration to use.

LLKDU

This is not present in the automated libs download but is required at least on windows by the copy_win_scrips script. The file is not actually needed for the viewer to run (if present it will be used for jpeg2000 decoding in preference to Openjpeg. The solution is to remove the lines from newview/copy_win_scripts that reference llkdu and this should then allow this custom build step to run without issue

[...]/CMakeDetermineCompilerABI_C.bin cannot be read.

Occurs on Windows 7, make sure your running the cmd shell (or whatever your using to run the "python develop.py") with Administrator privileges.

fatal error C1060: compiler is out of heap space

If you are not using Incredibuild and have precompiled headers disabled, you may encounter this error.
Try enabling building with precompiled headers:

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

Getting:

/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory

Linux

libGL

Sometimes the provide libGL.a can cause issues. To avoid linker errors, you may need to remove indra/libraries/i686-linux/release/libGL.a and indra/libraries/i686-linux/debug/libGL.a

Packaging errors

The final packaging step may fail with errors about the manifest if you are not using the slviewer-linux-libs bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at indra/newview/viewer_manifest.py

Something like: /usr/bin/ld: cannot find -lz

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'

Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: undefined

Abi says: I forgot to install bison. Once I did that, problem solved.

Linking failures ("script not found") due to spaces in the LINKFLAGS variable?

I saw a report, and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.

cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory

Building 20070112a using BUILD=releasefordownload I get many [: 89: ==: unexpected operator errors; cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory error, and same thing for character, fonts, help, skins, res-sdl; [: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator. I can succesfully run the client from the source tree.

`['.../lscript/lscript_compile/indra.l.cpp']': Don't know how to build a file with suffix `.l'

scons: *** While building `['.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp']': Don't know how to build a file with suffix `.l'.

You probably don't have all the dependencies installed (I had the same problem). Check that you have flex and bison. --Random73 Janus 07:43, 16 May 2007 (PDT)

`glActiveTextureARB' was not declared in this scope

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, glext.h, glu.h (The ones from 'mesa' should work)

two residents report 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')'

Note that the above xorg-x11/nvidia issue is addressed in VWR-9557 which includes patches!

Building Shared Library ELFIO

Building Shared Library ELFIO Compiling_the_viewer_(Linux) on AMD64 ubuntu 6.10
g++-3.4 -shared *.o -o libelfio.so
/usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol' can
not be used when making a shared object; recompile with -fPIC
ELFIDynamic.o: could not read symbols: Bad value

I got around this with "export CXXFLAGS=-fPIC" before configuring ELFIO.

I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile was happy after that. Although it's not done yet and I'm still fixing another error, that I assume is unrelated.

C-Ares compatability issue.

Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:

memset used with constant zero length parameter

Building with -t Release causes memset error in /usr/include/bits/string3.h:82
The error is "/usr/include/bits/string3.h:82: error: call to `__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters"