View Single Post
  #3   (View Single Post)  
Old 6th March 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Location: East Coast, USA
Posts: 32
Default

Quote:
Originally Posted by Carpetsmoker View Post
Build instructions are the same on BSD.

From the list at the link, the dependencies are:
devel/subversion (Only needed to fetch the source)
devel/scons (Needed for building only)
devel/bison (Probably needed for building only)
lang/python25
graphics/libGLU

The rest is included in FreeBSD base.
Almost...

on PCBSD the only thing that seems to be needed from the list is "devel/scons (Needed for building only)" since the others are already standard in PCBSD.

I found some additional ports that are needed..
ftp/wget
devel/cmake


Now I am having problems with some of the scripts.. They are looking for and expecting a Linux distribution. They are trying to run "uname -o" which doesn't work on FreeBSD. Here are the errors I am getting and here is the two scripts that I am trying to run.

=First Error=
Code:
root@pcbsd# scripts/build.sh                                          
uname: illegal option -- o
usage: uname [-aimnprsv]
I resolved the first error (see below) enough to be able to run the scripts but...

=Second Error=
Code:
root@pcbsd# scripts/Fbuild.sh
Traceback (most recent call last):
  File "./develop.py", line 676, in <module>
    main(sys.argv[1:])
  File "./develop.py", line 607, in main
    setup = setup_platform[sys.platform]()
KeyError: 'freebsd7'
Is there a proper way to fix this or do I need to "doctor it up" like I did the scripts. I don't know Python so not sure which way to go from here.

-Ben

- - - - - - -
=First Error FIX=

Here is two of the original scripts
Code:
root@pcbsd# cat scripts/build.sh                                      
#!/bin/sh

set -e

os=`uname -o`
status=""


if [ "$os" = "GNU/Linux" ]; then

    if [ ! -r linden/libraries/i686-linux/lib_release/libfmod-3.75.so ]; then
        scripts/addons_get_fmod.sh
    fi

    cd linden/indra

    ./develop.py -t Release configure
    ./develop.py -t Release build

    mv viewer-linux-i686/newview/*.tar.bz2 ../.. 

    status="done"

fi


if [ "$os" = "Cygwin" ]; then

    if [ ! -r linden/libraries/i686-win32/lib/release/fmodvc.lib ]; then
        scripts/addons_get_fmod.sh
    fi

    cd linden/indra

    ./develop.py -G VC80 -t Release configure

    status="done"

fi


if [ "$status" != "done" ]; then

    echo "Platform '$os' not supported yet."

fi
Code:
root@pcbsd# cat scripts/addons_get_fmod.sh
#!/bin/sh

set -e

os=`uname -o`
status=""


if [ "$os" = "GNU/Linux" ]; then

    mkdir -p linden/libraries/i686-linux/lib_debug/
    mkdir -p linden/libraries/i686-linux/lib_release/
    mkdir -p linden/libraries/i686-linux/lib_release_client/
    mkdir -p linden/libraries/include/

    wget http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz
    tar -xvzf fmodapi375linux.tar.gz
    cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_debug/
    cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_release/
    cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_release_client/
    cp fmodapi375linux/api/inc/* linden/libraries/include/

    rm -rf fmodapi375linux.tar.gz fmodapi375linux

    status="done"

fi


if [ "$os" = "Cygwin" ]; then

    mkdir -p linden/libraries/i686-win32/lib/debug/
    mkdir -p linden/libraries/i686-win32/lib/release/
    mkdir -p linden/libraries/include/

    wget http://www.fmod.org/index.php/release/version/fmodapi375win.zip
    unzip fmodapi375win.zip
    cp fmodapi375win/api/inc/* linden/libraries/include/
    cp fmodapi375win/api/fmod.dll linden/indra/newview/
    cp fmodapi375win/api/lib/fmodvc.lib linden/libraries/i686-win32/lib/debug/
    cp fmodapi375win/api/lib/fmodvc.lib linden/libraries/i686-win32/lib/release/

    rm -rf fmodapi375win.zip fmodapi375win/

    status="done"

fi


if [ "$status" != "done" ]; then

    echo "Platform '$os' not supported yet."

fi
I copied these two scripts:

cp scripts/addons_get_fmod.sh scripts/Faddons_get_fmod.sh
cp scripts/build.sh scripts/Fbuild.sh


and made changes to the copies so they would run:

Code:
root@pcbsd# cat scripts/Faddons_get_fmod.sh
#!/bin/sh

set -e

os=`uname`
status=""

if [ "$os" = "FreeBSD" ]; then

    mkdir -p linden/libraries/i686-linux/lib_debug/
    mkdir -p linden/libraries/i686-linux/lib_release/
    mkdir -p linden/libraries/i686-linux/lib_release_client/
    mkdir -p linden/libraries/include/

    wget http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz
    tar -xvzf fmodapi375linux.tar.gz
    cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_debug/
    cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_release/
    cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_release_client/
    cp fmodapi375linux/api/inc/* linden/libraries/include/

    rm -rf fmodapi375linux.tar.gz fmodapi375linux

    status="done"

fi


if [ "$os" = "Cygwin" ]; then

    mkdir -p linden/libraries/i686-win32/lib/debug/
    mkdir -p linden/libraries/i686-win32/lib/release/
    mkdir -p linden/libraries/include/

    wget http://www.fmod.org/index.php/release/version/fmodapi375win.zip
    unzip fmodapi375win.zip
    cp fmodapi375win/api/inc/* linden/libraries/include/
    cp fmodapi375win/api/fmod.dll linden/indra/newview/
    cp fmodapi375win/api/lib/fmodvc.lib linden/libraries/i686-win32/lib/debug/
    cp fmodapi375win/api/lib/fmodvc.lib linden/libraries/i686-win32/lib/release/

    rm -rf fmodapi375win.zip fmodapi375win/

    status="done"

fi


if [ "$status" != "done" ]; then

    echo "Platform '$os' not supported yet."

fi
Code:
root@pcbsd# cat scripts/Fbuild.sh
#!/bin/sh

set -e

os=`uname`
status=""


if [ "$os" = "FreeBSD" ]; then

    if [ ! -r linden/libraries/i686-linux/lib_release/libfmod-3.75.so ]; then
        scripts/Faddons_get_fmod.sh
    fi

    cd linden/indra

    ./develop.py -t Release configure
    ./develop.py -t Release build

    mv viewer-linux-i686/newview/*.tar.bz2 ../.. 

    status="done"

fi


if [ "$os" = "Cygwin" ]; then

    if [ ! -r linden/libraries/i686-win32/lib/release/fmodvc.lib ]; then
        scripts/addons_get_fmod.sh
    fi

    cd linden/indra

    ./develop.py -G VC80 -t Release configure

    status="done"

fi


if [ "$status" != "done" ]; then

    echo "Platform '$os' not supported yet."

fi

Last edited by bforest; 6th March 2009 at 04:42 PM. Reason: adding to list of needed ports...
Reply With Quote