UGENE Forum
https://forum.ugene.net/forum/YaBB.pl
General Category >> Help and How-to >> How to build UGENE from source
https://forum.ugene.net/forum/YaBB.pl?num=1247494150

Message started by Ivan Efremov on Jul 13th, 2009 at 9:09pm

Title: How to build UGENE from source
Post by Ivan Efremov on Jul 13th, 2009 at 9:09pm
Link to UGENE sources: http://ugene.unipro.ru/downloads/ugene-1.5.1.tar.gz.
The build process can take 30-60 minutes depending on hardware.

I. GNU/Linux

1) Install the latest Qt development package using your favourite package manager. Currently, UGENE depends on Qt 4.5.0. The process    may be different on different systems (e.g. there is distinct Qt WebKit development package in SuSe distribution)

2) Ensure that you have zlib development package. If not install it in the same way.

3) Download UGENE source tarball and extract it (for example, with the command tar -xzf ugene-1.5.0.tar.gz).

4) The common way to build UGENE is the following:
qmake -r
make
sudo make install

You can check ugene manual pages with 'man ugene' or 'man congene' commands.

Notes about the common way:
0) You can have no qmake binary but qmake-qt4 instead.

1) UGENE has configurable installation paths (e. g. if you want to install UGENE into your home directory). Installations paths may be corrected in the file src/ugene_globals.pri before running qmake or using qmake command-line options. For example:
 qmake -r INSTALL_PREFIX=/home/vpupkin/soft/ugene
Changing installation paths is useful when building on 64-bit machine: it is convinient to change INSTALL_LIBDIR to /usr/lib64.

2) Some other installation parameters may be chaned in ugene_globals. For example, UGENE_CELL flag must be set to 1 when building on Cell BE platform, or UGENE_SSE2_DETECTED may be manually switched to zero if non-sse2 binaries needed. We do not provide complete manual on configuring such parameters since nearly always default/automatically configured values are fine.

3) When building on multicore machine it is easy to reduce build time using '-j' option for make. For example,
make -j 2
for dual-core processor.

II. Mac OS

0) consider bulding UGENE package: http://ugene.unipro.ru/forum/YaBB.pl?num=1247492606

1) Install the Qt SDK binaries. Link:  http://get.qtsoftware.com/qtsdk/qt-sdk-mac-opensource-2009.03.dmg (443 Mb)

2) Download UGENE source tarball and extract it.

3) The common way to build UGENE is the following:
qmake -r -spec macx-g++
make all

4) Currently, UGENE cannot be correctly installed with 'make install' since the directory layout on of Mac OS differs from the standard one. Instead, you have to launch it from the source tree. Resulting UGENE binaries are are kept in src/_release directory. You have to set environment varialbe DYLD_LIBRARY_PATH before starting UGENE, for example with the following command:
export DYLD_LIBRARY_PATH="/Path/to/ugene/folder/src/_release"

Title: Re: How to build UGENE from source
Post by Alekos on Jun 4th, 2010 at 3:00am
hi, hmm, im new to linux, so i dont know what im doing wrong
ive just downloaded Ugene 1.7, untar, but when i type qmake -r, the terminal shows me the instructions for using qmake, like when i forgot to type options/modes/files, etc...

thanks

Title: Re: How to build UGENE from source
Post by Konstantin Okonechnikov on Jun 7th, 2010 at 10:41am
Alekos,
you should run qmake command from the ugene folder.
make sure that the file ugene.pro is in your current dir.

For example:
tar -xf ugene-1.7.0-src.tar.gz
cd ugene.1.7.0
qmake -r




Title: Re: How to build UGENE from source
Post by Alekos on Jun 9th, 2010 at 11:31am
hmm, ugene.pro is not in muy ugene-1.7.0 dir, where could it be?

Title: Re: How to build UGENE from source
Post by Konstantin Okonechnikov on Jun 9th, 2010 at 3:36pm
Alekos,
I've double-checked the source package from the website. Everything is OK.
When in unpacked ugene-1.7.0 dir, run ls command.

The result should be something like this:
okko@okko-desktop:~/Downloads/ugene-1.7.0$ ls
build.txt  COPYRIGHT  data  installer  LICENSE  src  ugene.pro


What linux distribution do you have? Perhaps you should consider using binary package?

Title: Re: How to build UGENE from source
Post by Alekos on Jun 12th, 2010 at 2:36am
greetings
hmm well, im not using a binary package because i need the command line interface of 1.7, and the latest ugene version in the repositories (PPA or synaptic) is 1.62
ive just downloaded again the package from http://ugene.unipro.ru/downloads/ugene-1.7.0-x86.tar.gz and when i tar, a folder ugene-1.7.0 is created and this is the result of a ls command

juan@juan:~/Downloads/ugene-1.7.0$ ls
data            libQtNetwork.so.4  libQtWebKit.so.4       transl_en.qm  ugeneui
libcore.so.1    libQtOpenGL.so.4   libQtXmlPatterns.so.4  transl_ru.qm
libQtCore.so.4  libQtScript.so.4   libQtXml.so.4          ugene
libQtGui.so.4   libQtSvg.so.4      plugins                ugenecl


thanks in advance
juan

Title: Re: How to build UGENE from source
Post by Konstantin Okonechnikov on Jun 14th, 2010 at 4:09pm
Juan,
the package you have downloaded is the binary package, not source code.  
You can launch GUI UGENE right away by executing command:
./ugene -ui
For console version execute:
./ugene

Title: Re: How to build UGENE from source
Post by Poh on Aug 9th, 2010 at 12:23pm
ok, I have compiled ugene-1.7.1 on fc13 with qt4 and I got an error. Not sure what is the problem, but it looks like some undefined reference to functions in libcore.so objects. Could someone kindly help? Thanks.

g++ -Wl,-O1 -o ../_release/ugeneui _tmp/obj/release/Main.o _tmp/obj/release/AppSettingsDialogController.o _tmp/obj/release/AppSettingsGUIImpl.o _tmp/obj/release/LogCache.o _tmp/obj/release/LogView.o _tmp/obj/release/AboutDialogController.o _tmp/obj/release/CheckUpdatesTask.o _tmp/obj/release/DockManagerImpl.o _tmp/obj/release/MainWindowImpl.o _tmp/obj/release/MDIManagerImpl.o _tmp/obj/release/MenuManager.o _tmp/obj/release/ShutdownTask.o _tmp/obj/release/ToolBarManager.o _tmp/obj/release/PluginViewerController.o _tmp/obj/release/PluginViewerImpl.o _tmp/obj/release/ExportProjectDialogController.o _tmp/obj/release/ProjectImpl.o _tmp/obj/release/ProjectLoaderImpl.o _tmp/obj/release/ProjectServiceImpl.o _tmp/obj/release/ProjectTasksGui.o _tmp/obj/release/BuiltInObjectViews.o _tmp/obj/release/ProjectViewDocTree.o _tmp/obj/release/ProjectViewImpl.o _tmp/obj/release/Shtirlitz.o _tmp/obj/release/TaskStatusBar.o _tmp/obj/release/TaskViewController.o _tmp/obj/release/LogSettingsGUIController.o _tmp/obj/release/NetworkSettingsGUIController.o _tmp/obj/release/ResourceSettingsGUIController.o _tmp/obj/release/UserApplicationsSettingsGUIController.o _tmp/obj/release/moc_AppSettingsDialogController.o _tmp/obj/release/moc_AppSettingsDialogTree.o _tmp/obj/release/moc_AppSettingsGUIImpl.o _tmp/obj/release/moc_LogCache.o _tmp/obj/release/moc_LogView.o _tmp/obj/release/moc_AboutDialogController.o _tmp/obj/release/moc_CheckUpdatesTask.o _tmp/obj/release/moc_DockManagerImpl.o _tmp/obj/release/moc_MainWindowImpl.o _tmp/obj/release/moc_MDIManagerImpl.o _tmp/obj/release/moc_MenuManager.o _tmp/obj/release/moc_ShutdownTask.o _tmp/obj/release/moc_PluginViewerController.o _tmp/obj/release/moc_PluginViewerImpl.o _tmp/obj/release/moc_ExportProjectDialogController.o _tmp/obj/release/moc_ProjectImpl.o _tmp/obj/release/moc_ProjectLoaderImpl.o _tmp/obj/release/moc_ProjectServiceImpl.o _tmp/obj/release/moc_ProjectTasksGui.o _tmp/obj/release/moc_ProjectViewImpl.o _tmp/obj/release/moc_Shtirlitz.o _tmp/obj/release/moc_TaskStatusBar.o _tmp/obj/release/moc_TaskViewController.o _tmp/obj/release/moc_LogSettingsGUIController.o _tmp/obj/release/moc_NetworkSettingsGUIController.o _tmp/obj/release/moc_ResourceSettingsGUIController.o _tmp/obj/release/moc_UserApplicationsSettingsGUIController.o _tmp/obj/release/qrc_ugeneui.o     -L../_release -lcore -lpthread -lQtWebKit -lQtScript -lQtXml -lQtGui -lQtNetwork -lQtCore
../_release/libcore.so: undefined reference to `einflate'
../_release/libcore.so: undefined reference to `edeflateInit2_'
../_release/libcore.so: undefined reference to `einflateInit2_'
../_release/libcore.so: undefined reference to `einflateEnd'
../_release/libcore.so: undefined reference to `edeflate'
../_release/libcore.so: undefined reference to `einflateSetDictionary'
../_release/libcore.so: undefined reference to `einflatePrime'
../_release/libcore.so: undefined reference to `edeflateEnd'
collect2: ld returned 1 exit status
make[2]: *** [../_release/ugeneui] Error 1
make[2]: Leaving directory `/ugene/ugene-1.7.1/src/ugeneui'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/ugene/ugene-1.7.1/src/ugeneui'
make: *** [sub-src-ugeneui-make_default-ordered] Error 2

Title: Re: How to build UGENE from source
Post by Alekos on Nov 22nd, 2010 at 11:11am
hi
im here again!
it works well with ugene 1.7 (there was a binary in ugene1.7 folder)
but i just cant build ugene 1.8 from source (there is no binary there)
im in a 64bit laptop

thanks in advance

Title: Re: How to build UGENE from source
Post by Konstantin Okonechnikov on Nov 22nd, 2010 at 12:11pm
Hi,
the source package doesn't contain any binaries.

If you want to launch UGENE on 64-bit linux distributive, download 64-bit binary package.
Unpack it and launch /.ugene -ui

To build UGENE from source code download  source package.
Unpack it and follow instructions from file build.txt of from this topic.

Title: Re: How to build UGENE from source
Post by Schlecht on Sep 5th, 2012 at 10:23am
Hi,
I'd like to try making an .rpm for the distro I use and I have only found a spec file made by Ivan Efremov for UGENE 1.9.4 in Fedora 16 repository.
May I ask Ivan (or anyone else who might be aware of this) if there are any new dependencies or making parameters like flags, etc for latest version compared to 1.9.4? Does it worth using the old spec file as a proxy for the first attempt?
Thank you.

Title: Re: How to build UGENE from source
Post by Qubert on Feb 7th, 2013 at 7:44pm
Hello,

I tried to compile ugene 1.11.4 (same problem in 1.11.3) for os x with qtCreator 2.6.1. I deactivated "shadow build" and started to build.
The debug build stopped at building U2Algorithm because of the samtools. It was not able to link U2Algorithm aginst samtools.


Code:
Undefined symbols for architecture x86_64:
 "___ks_insertsort_node", referenced from:
     _ks_combsort_node in libsamtoolsd.a(bam_lpileup.o)
     _ks_introsort_node in libsamtoolsd.a(bam_lpileup.o)
 "___ks_insertsort_uint16_t", referenced from:
     _ks_combsort_uint16_t in libsamtoolsd.a(errmod.o)
     _ks_introsort_uint16_t in libsamtoolsd.a(errmod.o)
 "_packInt16", referenced from:
     _deflate_block in libsamtoolsd.a(bgzf.o)
 "_packInt32", referenced from:
     _deflate_block in libsamtoolsd.a(bgzf.o)
 "_unpackInt16", referenced from:
     _bgzf_read_block in libsamtoolsd.a(bgzf.o)
     _check_header in libsamtoolsd.a(bgzf.o)


Looking with: "nm -g libsamtoolsd.a" tells that ___ks_insertsort_node is "U" - The symbol is undefined:

Code:
libsamtoolsd.a(bam_lpileup.o):
                U ___assert_rtn
                U ___ks_insertsort_node


QUICKFIX:
After commenting out the keyword "inline" in samtools/ksort.h line 148 and in samtools/bgzf.c in line 76, 84 und 91 it compiled the debug-build.

ksort.h:

Code:
/*inline*/ void __ks_insertsort_##name(type_t *s, type_t *t)


bgzf.c:

Code:
/*inline*/ void packInt16(uint8_t* buffer, uint16_t value)
/*inline*/ int unpackInt16(const uint8_t* buffer)
/*inline*/ void packInt32(uint8_t* buffer, uint32_t value)


This quickfix helps to compile and link successfully.
The Preprocessor in addition with the keyword inline seems to cause the problem.

Last but not least I am still not able to debug with qtCreator on OS X 10.8. The debug build does not start and I'm not familiar with qbuild to repair it.
qtCreator seems to start with the wrong path:
./ugene-1.11.4/src/ugeneui/ugeneui.app
instead of
./ugene-1.11.4/src/_debug/ugeneui.app

To start the release build I had to do an symbolic link with the plugins and the transl_XX.qm into ugeneXX.app/Contents/MacOS directory.

How do I develop & debug ugene with qtCreator on OS X?

Title: Re: How to build UGENE from source
Post by Claire Ellison on Dec 27th, 2016 at 12:37am
However, if a centralized source or program is going to make the data of ... For example, E UGene redistributes a variety of data as part of the software package

UGENE Forum » Powered by YaBB 2.5 AE!
YaBB Forum Software © 2000-2010. All Rights Reserved.