Dolphin, the GameCube and Wii emulator - Forums

Full Version: Automatic Dolphin SVN Compiling Bash Script by aliendude5300
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I noticed that there are several threads asking how to compile dolphin using SVN on Linux, so I decided to make this script I made publicly available. I originally made this for personal use due to the high frequency of dolphin releases, since it can automatically run all the commands necessary to install/update dependencies, checkout either the latest revision or any revision you choose (you have to set the revision number -- see the documentary in the source code), and compile it. This is a fairly advanced bash script for simply checking out and compiling releases from SVN, but it saved me SO much time that I just couldn't keep it to my self. This script is perfectly safe to run, and since this is a batch script and you have the ability to look at and modify the source code, there's literally no reason to not trust it. It's also customizable. I included many different settings that can be changed simply by opening the script in a text editor and changing some variables which are located at the top of the source code.

Here is a complete list of settable variables:

install_location - Where the files are checked out to. The default setting is ~ (the 'Home Folder')

folder_name - What folder it downloads the files in the SVN to (default: dolphin-emu-read-only)

skipdepcheck - Determines whether or not the script will check to see if you have all the needed dependencies. (Default: 0, setting to 1 will make it not check for dependencies)

skiprootconfirm - If you run the script as root, it asks you if the installation location is acceptable. Changing this to 1 will skip this confirmation.

forceregularconfirm - By default, only root gets a confirmation message. Changing this to 1 will make all users need to confirm the location.

revison - Sets the revision number to checkout and compile. (Default: 0 -- checks out the latest revision).

verbose - If this is set to 1, additional technical information about the checking out and compiling process will be displayed on the screen (Default: 0).

If you are interested in this script, click here to download it! Enjoy! Big Grin If you use it, please leave feedback.
Thanks! But I have a problem in compiling:
Code:
Checking out latest Dolphin SVN release, this may take a while...

Fetching external item into '/home/nekit/dolphin-emu-read-only/Data/User/GameConfig'                                                                            
Checked out external at revision 158.

Получена редакция 2997.

Compiling Dolphin, please wait...
Plugin_PadSimpleEvnt Doesn't work without testgl
scons: building associated VariantDir targets: Build/Linux-i686-release
Linking Binary/Linux-i686/dsptool
Build/Linux-i686-release/libs/libdspcore.a(assemble.o): In function `DSPAssembler::InitPass(int)':
assemble.cpp:(.text+0x7c9): undefined reference to `LabelMap::Clear()'
assemble.cpp:(.text+0x7d7): undefined reference to `LabelMap::RegisterDefaults()'
Build/Linux-i686-release/libs/libdspcore.a(assemble.o): In function `DSPAssembler::ParseValue(char const*)':
assemble.cpp:(.text+0x1b80): undefined reference to `LabelMap::GetLabelValue(char const*, unsigned short*, LabelType) const'
Build/Linux-i686-release/libs/libdspcore.a(assemble.o): In function `DSPAssembler::AssembleFile(char const*, int)':
assemble.cpp:(.text+0x2a18): undefined reference to `LabelMap::RegisterLabel(char const*, unsigned short, LabelType)'
Build/Linux-i686-release/libs/libdspcore.a(assemble.o): In function `DSPAssembler::DSPAssembler(AssemblerSettings const&)':
assemble.cpp:(.text+0x3265): undefined reference to `LabelMap::LabelMap()'
Build/Linux-i686-release/libs/libdspcore.a(assemble.o): In function `DSPAssembler::DSPAssembler(AssemblerSettings const&)':
assemble.cpp:(.text+0x3305): undefined reference to `LabelMap::LabelMap()'
Build/Linux-i686-release/libs/libdspcore.a(disassemble.o): In function `DSPDisassembler::DSPDisassembler(AssemblerSettings const&)':
disassemble.cpp:(.text+0x13c8): undefined reference to `LabelMap::LabelMap()'
Build/Linux-i686-release/libs/libdspcore.a(disassemble.o): In function `DSPDisassembler::DSPDisassembler(AssemblerSettings const&)':
disassemble.cpp:(.text+0x1416): undefined reference to `LabelMap::LabelMap()'
collect2: ld returned 1 exit status
scons: *** [Binary/Linux-i686/dsptool] Error 1
If I try to run scons manually, this also happens.
Unload DSP Tool project
How can I do it?
I don't know, I'm user of Visual Studio. Try to unload it somehow in Scons.
Hmm... I'm also having trouble with 2997. Seems to be a Linux build issue. Manually setting it to a previous revision like 2995 works for me. I bet this will be fixed in a future revision, but since doing the commands manually doesn't work either, it's probably not related to the script itself.