DaemonForums  

Go Back   DaemonForums > FreeBSD > FreeBSD Ports and Packages

FreeBSD Ports and Packages Installation and upgrading of ports and packages on FreeBSD.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 5th March 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
Default Help installing Hippo viewer...

Hello all..

I would like to install the following linux software on my FreeBSD (PCBSD) workstation. I was wondering if someone could give me some pointers before I try it.

http://mjm-labs.com/viewer/index.php (scroll to bottom)

This software is a viewer/client for SL and similar virtual worlds.

Instructions for installation on Linux are here:

http://mjm-labs.com/viewer/build.php?platform=Linux

Thanks in advance for any assistance you might provide.

- bforest
Reply With Quote
  #2   (View Single Post)  
Old 5th March 2009
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is offline
Real Name: Martin
Old man from scene 24
 
Join Date: Apr 2008
Location: Eindhoven, Netherlands
Posts: 2,067
Thanked 198 Times in 156 Posts
Default

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.
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.
Reply With Quote
  #3   (View Single Post)  
Old 6th March 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
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
  #4   (View Single Post)  
Old 6th March 2009
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is offline
Real Name: Martin
Old man from scene 24
 
Join Date: Apr 2008
Location: Eindhoven, Netherlands
Posts: 2,067
Thanked 198 Times in 156 Posts
Default

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'
The problem is in develop.py, add "freebsd7" needs to be added to the setup_platform dict, this dict is defined in develop.py or in one of the imports ...
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.
Reply With Quote
  #5   (View Single Post)  
Old 6th March 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
Default

Thank you so much for your support "Carpetsmoker"

I made the following changes to ./linden/indra/develop.py:

Code:
setup_platform = {
    'darwin': DarwinSetup,
    'linux2': LinuxSetup,
    'freebsd7': LinuxSetup,
    'win32' : WindowsSetup,
    'cygwin' : CygwinSetup
    }
I received the following error, and am building cmake now:
Code:
root@pcbsd# scripts/Fbuild.sh
Running 'CXX=\'g++-4.1\' cmake -DCMAKE_BUILD_TYPE:STRING=RELEASE -G \'Unix Makefiles\' -DSERVER:BOOL=FALSE -DVIEWER:BOOL=TRUE -DSTANDALONE:BOOL=FALSE -DUNATTENDED:BOOL=FALSE "" \'/root/hippo/source/linden/indra\'' in 'viewer-linux-i386'
cmake: not found
Cleaning 'viewer-linux-i386'
Error: the command 'cmake' exited with status 127
Ok.. now apparently GCC is missing.. They want 4.1 but I only see 4.2 and above in the ports tree

Code:
root@pcbsd# scripts/Fbuild.sh
Running 'CXX=\'g++-4.1\' cmake -DCMAKE_BUILD_TYPE:STRING=RELEASE -G \'Unix Makefiles\' -DSERVER:BOOL=FALSE -DVIEWER:BOOL=TRUE -DSTANDALONE:BOOL=FALSE -DUNATTENDED:BOOL=FALSE "" \'/root/hippo/source/linden/indra\'' in 'viewer-linux-i386'
-- The C compiler identification is GNU
CMake Error at /usr/local/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:30 (MESSAGE):
  Could not find compiler set in environment variable CXX:

  g++-4.1.

Call Stack (most recent call first):
  CMakeLists.txt:16 (project)


CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:/root/hippo/source/linden/indra/viewer-linux-i386/CMakeFiles/CMakeCXXCompiler.cmake
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Cleaning 'viewer-linux-i386'
Error: the command 'cmake' exited with status 1
Code:
root@pcbsd# ls -laFd gcc*
drwxr-xr-x  3 root  wheel  512 Feb  6 00:44 gcc-ooo/
drwxr-xr-x  3 root  wheel  512 Feb  6 00:44 gcc295/
drwxr-xr-x  3 root  wheel  512 Feb  6 00:44 gcc33/
drwxr-xr-x  3 root  wheel  512 Feb  6 00:44 gcc34/
drwxr-xr-x  3 root  wheel  512 Feb 21 19:48 gcc42/
drwxr-xr-x  3 root  wheel  512 Feb  6 00:44 gcc42-withgcjawt/
drwxr-xr-x  3 root  wheel  512 Mar  5 22:32 gcc43/
drwxr-xr-x  3 root  wheel  512 Mar  5 22:32 gcc44/
Should I just build gcc42 and after that do I need to remake "cmake" to see it or ...
Attached Files
File Type: py develop.py (22.5 KB, 11 views)

Last edited by bforest; 6th March 2009 at 05:18 PM. Reason: added latest errors..
Reply With Quote
  #6   (View Single Post)  
Old 6th March 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
Default

GCC is here but I don't know how to get it to show its version.

Oh! found it..

Code:
root@pcbsd# gcc -dumpversion
4.2.1
So.. in this file ./source/linden/indra/develop.py there is this section which lists the compiler version and seems to indicate I could set this in the environment with $CXX or should I just modify it in here?

Code:
    def cmake_commandline(self, src_dir, build_dir, opts, simple):
        args = dict(
            dir=src_dir,
            generator=self.generator,
            opts=quote(opts),
            standalone=self.standalone,
            unattended=self.unattended,
            type=self.build_type.upper()
            )
        if not self.is_internal_tree():
            args.update({'cxx':'g++-4.1', 'server':'FALSE', 'viewer':'TRUE'})
        else:
            if self.distcc:
                distcc = self.find_in_path('distcc')
                baseonly = True
            else:
                distcc = []
                baseonly = False
            if 'server' in build_dir:
                gcc33 = distcc + self.find_in_path('g++-3.3', 'g++', baseonly)
                args.update({'cxx':' '.join(gcc33), 'server':'TRUE',
                             'viewer':'FALSE'})
            else:
                gcc41 = distcc + self.find_in_path('g++-4.1', 'g++', baseonly)
                args.update({'cxx': ' '.join(gcc41), 'server':'FALSE',
                             'viewer':'TRUE'})
        #if simple:
        #    return (('cmake %(opts)s '
        #             '-DSERVER:BOOL=%(server)s '
        #             '-DVIEWER:BOOL=%(viewer)s '
        #             '%(dir)r') % args)
        cmd = (('cmake -DCMAKE_BUILD_TYPE:STRING=%(type)s '
                '-G %(generator)r -DSERVER:BOOL=%(server)s '
                '-DVIEWER:BOOL=%(viewer)s -DSTANDALONE:BOOL=%(standalone)s '
                '-DUNATTENDED:BOOL=%(unattended)s '
                '%(opts)s %(dir)r')
               % args)
        if 'CXX' not in os.environ:
            args.update({'cmd':cmd})
            cmd = ('CXX=%(cxx)r %(cmd)s' % args)
        return cmd
Reply With Quote
  #7   (View Single Post)  
Old 9th March 2009
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is offline
Real Name: Martin
Old man from scene 24
 
Join Date: Apr 2008
Location: Eindhoven, Netherlands
Posts: 2,067
Thanked 198 Times in 156 Posts
Default

Just try something like:
# find hippoviewersrc/ -type f -exec sed -i.orig 's|g[+c][+c]4\.1|g[+c][+c]4.2|'

Bit bruteforce ... But it generally works.
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.

Last edited by Carpetsmoker; 10th March 2009 at 11:18 AM. Reason: Fix typo in command
Reply With Quote
  #8   (View Single Post)  
Old 9th March 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
Default

Thanks again for your efforts to help me...

Quote:
Originally Posted by Carpetsmoker View Post
Just try something like:
# find hippoviewersrc/ -type f -exec sed -e.orig 's|g[+c][+c]4\.1|g[+c][+c]4.2|'

Bit bruteforce ... But it generally works.
Please excuse my ignorance but ... I am not quite sure how to apply your suggestion.

I created a directory and put a copy of the python script into it because that was what I think is giving the error. I assume you are using SED to substitute references to 4.1 in that script to 4.2.

I don't understand the purpose of "-e.orig" option for SED. What command should be executed there?

(The file "develop.py" is attached in a previous post...)
Code:
user@pcbsd# ls
develop.py
user@pcbsd# find ./ -type f -exec sed -e.orig 's|g[+c][+c]4\.1|g[+c][+c]4.2|'
find: -exec: no terminating ";" or "+"
user@pcbsd# find ./ -type f -exec sed -e.orig 's|g[+c][+c]4\.1|g[+c][+c]4.2|';
find: -exec: no terminating ";" or "+"
user@pcbsd# find ./ -type f -exec sed -e.orig 's|g[+c][+c]4\.1|g[+c][+c]4.2|;'
find: -exec: no terminating ";" or "+"

Last edited by bforest; 10th March 2009 at 08:50 AM. Reason: add info...
Reply With Quote
  #9   (View Single Post)  
Old 10th March 2009
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is offline
Real Name: Martin
Old man from scene 24
 
Join Date: Apr 2008
Location: Eindhoven, Netherlands
Posts: 2,067
Thanked 198 Times in 156 Posts
Default

Quote:
I don't understand the purpose of "-e.orig" option for SED. What command should be executed there?
It should be -i.orig, it edits files in place saving a backup to <file>.orig
Sorry for the typo.

Note you may also need to escape the plus signs (\+ instead of +) in the search pattern ... Not sure and I can't try it (Recently moved, no internet yet, mostly Windows at work ...).
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.
Reply With Quote
Old 15th April 2009
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
Default

Maybe the issue is not the Python script but "cmake" instead...

Code:
root@pcbsd# python develop.py build

Error: run "develop.py cmake" first

root@pcbsd# python develop.py cmake

Running 'CXX=\'g++-4.1\' cmake -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO -G \'Unix Makefiles\' -DSERVER:BOOL=OFF -DVIEWER:BOOL=ON -DSTANDALONE:BOOL=OFF -DUNATTENDED:BOOL=OFF "" \'/root/hippo_source_v0.5.0/linden/indra\'' in 'viewer-linux-i386-relwithdebinfo'
-- The C compiler identification is GNU
CMake Error at /usr/local/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:30 (MESSAGE):
  Could not find compiler set in environment variable CXX:

  g++-4.1.

Call Stack (most recent call first):
  CMakeLists.txt:16 (project)


CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:/root/hippo_source_v0.5.0/linden/indra/viewer-linux-i386-relwithdebinfo/CMakeFiles/CMakeCXXCompiler.cmake
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Cleaning 'viewer-linux-i386-relwithdebinfo'
Error: the command 'cmake' exited with status 1

root@pcbsd#
Reply With Quote
Old 20th March 2010
bforest bforest is offline
Port Guard
 
Join Date: Aug 2008
Posts: 16
Thanked 0 Times in 0 Posts
Default New version of Hippo Opensimulator viewer available

I am hoping to get some help installing version 0.6.2 of this viewer.

http://mjm-labs.com/viewer/index.php

It has been a while since I last attempted this but.. I am now upgraded to PCBSD-8 and since they have continued to improve the Hippo Viewer ( I had heard it would not be ) it seems like a good time to revisit.

Code:
[user@pcbsd-2153]/home/user(27)% uname -a
FreeBSD pcbsd-2153 8.0-RELEASE-p2 
FreeBSD 8.0-RELEASE-p2 #4: Thu Jan  7 09:20:42 PST 2010
     root@build8x32.pcbsd.org:/usr/obj/usr/pcbsd-build80/fbsd-source/8.0-src/sys/PCBSD  i386
Successful Installation of this software will provide a FreeBSD client for visiting Opensimulator (or SecondLife) based virtual worlds.

http://opensimulator.org/wiki/Main_Page

Any assistance would be greatly appreciated!
-Ben

Last edited by bforest; 12th April 2010 at 06:14 PM.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Installing Xorg NetBSD NetBSD Installation and Upgrading 20 9th June 2009 02:22 PM
installing openbsd bsdnewbie999 OpenBSD Installation and Upgrading 12 4th May 2009 11:55 AM
installing X11 hirohitosan FreeBSD Installation and Upgrading 3 25th June 2008 09:37 AM
Looking towards installing FreeBSD 7.0 austinramsay FreeBSD General 4 23rd June 2008 01:39 AM
Installing another HD Johnny2Bad FreeBSD Installation and Upgrading 4 20th May 2008 05:38 PM


All times are GMT. The time now is 03:19 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick