User:Wunderboy/sandbox: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
Line 2: Line 2:
{{Namespace}}
{{Namespace}}


==Linux enviroment to build the SDK==
==Makin a Linux enviroment to build the SDK==


The [[Compiling under Linux]] page states that GCC 3.4.X is recommended for compiling the SDK and that GCC 4.X doesn't work. Slackware 10 is recommended as a starting point.
The [[Compiling under Linux]] page states that GCC 3.4.X is recommended for compiling the SDK and that GCC 4.X doesn't work. Slackware 10 is recommended as a starting point.
Line 24: Line 24:


* Install Xerces
* Install Xerces
{{note|Using Xerces 2.7.0 as a pre-compiled package caused all sort of problems. The only way I could get vcpm to work was to re-build [http://archive.apache.org/dist/xml/xerces-c/Xerces-C_2_6_0/xerces-c-src_2_6_0.tar.gz Xerces 2.6.0] from source. }}


<pre>
<pre>
yum install xerces-c
cd /usr/local/src
yum install xerces-c-devel
tar zxvf xerces-c-src_2_6_0.tar.gz
yum install xerces-c-doc
cd /usr/local/src/xerces-c-src_2_6_0/src/xerces
export XERCESCROOT=/usr/local/src/xerces-c-src_2_6_0
./runConfigure -p linux -c gcc34 -x g++34
gmake
gmake install
</pre>
</pre>
The lib and header files needed by vcpm are then located in <code>/usr/local/src/xerces-c-src_2_6_0/lib</code> and <code>/usr/local/src/xerces-c-src_2_6_0/includes</code> respectively.


* Check versions?
* Check versions?
Line 43: Line 51:
</pre>
</pre>


<pre>
Doing the above ''should'' give you a the basic stuff you need to compile the SDK.
ls -l /lib/libc.*
/lib/libc.so.6 -> libc-2.5.so
</pre>
 
Not sure if last one counds as a valid check as it seems to be the current libc and not the compat version (where the heck did it install it?)
 
'''To-do:''' Set-up environment variables to point to older versions of compiler + lib and test compile.

Revision as of 16:12, 17 December 2006

The following are various notes, scribbles, thoughts, etc. from doing various Source-type things. None of these are structured of "definate" - just things I write down for reference. If anything you find here is useful, great, but use it at your own risk!!!

This is a personal page on my own namespace. If you have anything to add, questions, comments, or managed to find something I didn't, please post on the talk page instead. Thanks!

Makin a Linux enviroment to build the SDK

The Compiling under Linux page states that GCC 3.4.X is recommended for compiling the SDK and that GCC 4.X doesn't work. Slackware 10 is recommended as a starting point.

Hmm, how to use newer Linux releases for compiling the SDK? Fedora Core 6 maybe? Ships with GCC 4.1.1 so need to get older version of GCC running...

  • Install Fedora Core 6 (in my case on a virtual machine under VMWare)
  • Run updates to make sure default packages are up-to-date.
  • Install the older compat version of GCC, etc. (Can use the Add/Remove Software tool if you don't like the command line.)
yum install compat-gcc-34
yum install compat-gcc-34-g77
yum install compat-gcc-34-c++
yum install compat-libstdc++-33
yum install compat-db
yum install compat-readline43

Not sure if I need the old Fortran/DB/Readline stuff but what the hey...

  • Install Xerces
Note.pngNote:Using Xerces 2.7.0 as a pre-compiled package caused all sort of problems. The only way I could get vcpm to work was to re-build Xerces 2.6.0 from source.
cd /usr/local/src
tar zxvf xerces-c-src_2_6_0.tar.gz
cd /usr/local/src/xerces-c-src_2_6_0/src/xerces
export XERCESCROOT=/usr/local/src/xerces-c-src_2_6_0
./runConfigure -p linux -c gcc34 -x g++34
gmake
gmake install

The lib and header files needed by vcpm are then located in /usr/local/src/xerces-c-src_2_6_0/lib and /usr/local/src/xerces-c-src_2_6_0/includes respectively.

  • Check versions?
/usr/bin/gcc34 -v
gcc version 3.4.6 20060404 (Red Hat 3.4.6-4)
ls -l /usr/lib/libxerces-c.so
/usr/lib/libxerces-c.so -> libxerces-c.so.27.0

Doing the above should give you a the basic stuff you need to compile the SDK.