Difference between revisions of "Talk:Compiling the viewer (MSVS2005)"

From Second Life Wiki
Jump to navigation Jump to search
Line 23: Line 23:
O, silly me!  Right click on indra.y and click on "Properties."  The Command Line field needs to be changed in "General" under "Custom Build" on the indra.y Property Page that will come up.  [[User:Synthalor Mandelbrot|Synthalor Mandelbrot]] 11:24, 3 February 2007 (PST)
O, silly me!  Right click on indra.y and click on "Properties."  The Command Line field needs to be changed in "General" under "Custom Build" on the indra.y Property Page that will come up.  [[User:Synthalor Mandelbrot|Synthalor Mandelbrot]] 11:24, 3 February 2007 (PST)
----
----
I got mine to work by having bison.exe along my path and removing the prefix portion, as Dzonatas Sol described. 
BUT!  If you have further errors, go to a Command Prompt and type in 'bison --help'."  You may get an error, as I did, that bison couldn't find one of its dependencies, cygintl-3.dll.  This is because of a nasty bug in some recent Cygwin installers.  Go get the newest Cygwin setup.exe.  Click through the usual updating routine, select the "Full" view, and go find "libintl3."  Mark it to be installed or reinstalled. 
You might as well also mark "libintl2," because you are going to need it when you go through this same drill to get indra.l functioning.  Flex will need libintl2 and it probably won't be there for you either.  You can check this by typing "flex --help" from the Command Prompt.  If it fails, you need libintl2. 
By the way, the 'l' in libintl2 and libintl3 is a lowercase 'L', not a '1'.
I marked both bison and flex for reinstall, as well.  Just for good luck!
After the Cygwin setup completes, try typing "bison" from the Command Prompt again.  It should succeed.  If so, you should be ready for indra.y.  Also, try typing "flex" from the Command Prompt to see if you're ready for indra.l.
Now, you will probably also need to edit the custom build step for indra.l.  Either clear the cruft from in front of 'flex', or make sure it matches your machine's path to the Cygwin 'bin' directory.
In theory, you are now ready to recompile and those nastinesses should go away and let you get on to your next group of errors!
Enjoy!
[[User:Synthalor Mandelbrot|Synthalor Mandelbrot]] 12:42, 3 February 2007 (PST)


== unistd.h ==
== unistd.h ==

Revision as of 00:42, 4 February 2007

Code Edits

I'm not sure casting all the time() calls should be done. It's more code edits, and time_t is still a 64bit typedef, which could cause issues besides just compiling that may be hard to find. I would suggest taking out all those code edits and putting _USE_32BIT_TIME_T preprocessor definition in the needed projects. --Bane Darrow 17:02, 9 January 2007 (PST)


I think ultimately things will migrate to 64bit. I had just built boost when I noticed the 2005 Express was up. And may as well delete the page I was maintaining through a link on the Common_compilation_problems section, since it is much the same, and I hadn't resolved the linker errors of boost & mozilla. Also, with the #pragma warning(disable : 4996) lines, ";_CRT_SECURE_NO_DEPRECATE" is not needed. And perhaps the std::hash_multimap to stdext::hash_multimap namespace change should be managed by a #if (_MSC_VER >= 1400) too. -- Paula Innis 19:11, 9 January 2007 (PST)

Boost

I don't think it's necessary to compile Boost and Boost-Regex yourself, you can download everything you need with a nice installer available here: http://www.boost-consulting.com/download.html and just drop the regex library in the appropriate directory. --Eddy Stryker 00:55, 10 January 2007 (PST)

lscript_compile_fb

bison insists on outputting a .hpp file rather than a .h file, I added the following line at the end of the custom build command for indra.y

"@IF EXIST ytab.hpp copy ytab.hpp ytab.h /Y >NUL"


The custom build step uses "C:\cygwin\..." explicitly, which could cause it to fail if it is located elsewhere. If you have cygwin in your PATH, you can erase "C:\cygwin\bin\" portion of each command. Dzonatas Sol 15:03, 11 January 2007 (PST)


Can someone please point us to where we can find the "custom build command" that needs to be edited? Synthalor Mandelbrot 12:36, 19 January 2007 (PST)


O, silly me! Right click on indra.y and click on "Properties." The Command Line field needs to be changed in "General" under "Custom Build" on the indra.y Property Page that will come up. Synthalor Mandelbrot 11:24, 3 February 2007 (PST)


I got mine to work by having bison.exe along my path and removing the prefix portion, as Dzonatas Sol described.

BUT! If you have further errors, go to a Command Prompt and type in 'bison --help'." You may get an error, as I did, that bison couldn't find one of its dependencies, cygintl-3.dll. This is because of a nasty bug in some recent Cygwin installers. Go get the newest Cygwin setup.exe. Click through the usual updating routine, select the "Full" view, and go find "libintl3." Mark it to be installed or reinstalled.

You might as well also mark "libintl2," because you are going to need it when you go through this same drill to get indra.l functioning. Flex will need libintl2 and it probably won't be there for you either. You can check this by typing "flex --help" from the Command Prompt. If it fails, you need libintl2.

By the way, the 'l' in libintl2 and libintl3 is a lowercase 'L', not a '1'.

I marked both bison and flex for reinstall, as well. Just for good luck!

After the Cygwin setup completes, try typing "bison" from the Command Prompt again. It should succeed. If so, you should be ready for indra.y. Also, try typing "flex" from the Command Prompt to see if you're ready for indra.l.

Now, you will probably also need to edit the custom build step for indra.l. Either clear the cruft from in front of 'flex', or make sure it matches your machine's path to the Cygwin 'bin' directory.

In theory, you are now ready to recompile and those nastinesses should go away and let you get on to your next group of errors!

Enjoy!

Synthalor Mandelbrot 12:42, 3 February 2007 (PST)

unistd.h

Need a place to find a compatible unistd.h and such headers if one doesn't already have them. (non-gcc specific) The Express version doesn't include these. Dzonatas Sol 15:36, 11 January 2007 (PST)

Looks like an empty libraries/include/unistd.h will work fine to get around this. Dzonatas Sol 19:30, 11 January 2007 (PST)

Compile error on APR headers

For some reason it compiled everything except files that used llapr.h because it said it couldn't find some apr-1 header files. I did a quick hack and copied the apr-1 headers from libraries/i686-win32/include/apr-1 to libraries/include/apr-1 and it compiled fine. The only thing I have noticed different so far is an extra backslash at the end of the Additional Includes under project properties. Dzonatas Sol 13:55, 11 January 2007 (PST)

Disable llMozLib for Windows?

Where are the instructions for adding in llMozLib for windows? Does anyone know how to add this feature in?