Welcome, Guest. Please Login or Register
UGENE Bulletin Board
  Welcome to our forum.
  HomeHelpSearchLoginRegister  
 
 
Page Index Toggle Pages: 1
How to build UGENE from source (Read 44874 times)
Jul 13th, 2009 at 9:09pm

Ivan Efremov   Offline
YaBB Administrator
Novosibirsk

Gender: male
Posts: 46
*****
 
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"
« Last Edit: Jul 27th, 2009 at 10:14am by Ivan Efremov »  

UGENE team
IP Logged
 
Reply #1 - Jun 4th, 2010 at 3:00am

Alekos   Offline
YaBB Newbies

Posts: 8
*
 
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
 
IP Logged
 
Reply #2 - Jun 7th, 2010 at 10:41am

Konstantin Okonechnikov   Offline
Global Moderator

Posts: 173
*****
 
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



 
IP Logged
 
Reply #3 - Jun 9th, 2010 at 11:31am

Alekos   Offline
YaBB Newbies

Posts: 8
*
 
hmm, ugene.pro is not in muy ugene-1.7.0 dir, where could it be?
 
IP Logged
 
Reply #4 - Jun 9th, 2010 at 3:36pm

Konstantin Okonechnikov   Offline
Global Moderator

Posts: 173
*****
 
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?
 
IP Logged
 
Reply #5 - Jun 12th, 2010 at 2:36am

Alekos   Offline
YaBB Newbies

Posts: 8
*
 
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
 
IP Logged
 
Reply #6 - Jun 14th, 2010 at 4:09pm

Konstantin Okonechnikov   Offline
Global Moderator

Posts: 173
*****
 
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
« Last Edit: Jun 15th, 2010 at 11:51am by Konstantin Okonechnikov »  
IP Logged
 
Reply #7 - Aug 9th, 2010 at 12:23pm

Poh   Offline
YaBB Newbies

Posts: 46
*
 
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
 
IP Logged
 
Reply #8 - Nov 22nd, 2010 at 11:11am

Alekos   Offline
YaBB Newbies

Posts: 8
*
 
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
 
IP Logged
 
Reply #9 - Nov 22nd, 2010 at 12:11pm

Konstantin Okonechnikov   Offline
Global Moderator

Posts: 173
*****
 
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.
 
IP Logged
 
Reply #10 - Sep 5th, 2012 at 10:23am

Schlecht   Offline
YaBB Newbies

Posts: 8
*
 
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.
 
IP Logged
 
Reply #11 - Feb 7th, 2013 at 7:44pm

Qubert   Offline
YaBB Newbies

Posts: 3
*
 
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?
« Last Edit: Feb 8th, 2013 at 10:13pm by Qubert »  
IP Logged
 
Reply #12 - Dec 27th, 2016 at 12:37am

Claire Ellison   Offline
YaBB Newbies

Posts: 5
*
 
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
 
IP Logged
 
Page Index Toggle Pages: 1