Page 1 of 1

Building guitarix from source code

Posted: Sun Jan 12, 2020 10:12 am
by hdr
I am trying to build guitarix from source code.
The install manual wants me to fulfill the dependencies http://guitarix.org/#install
I can find the following packages in debian package list https://packages.debian.org/en/buster/a ... mat=txt.gz
- ladspa-sdk
- zita-resampler
- jackd
- libjack: 7 different packages available. which is the one I need?
libjack-0.116, libjack-0.125, libjack-dev, libjack-dev, libjack-dev-session, libjack-jackd2-0, libjack-jackd2-dev
- jack (jackd, libjack, and dev) >= 0.109.1: what does dev mean? There is no package called dev

these packages are not available
- gtk+-2.0
- gtkmm-2.0
- gthread-2.0
- sigc++-2.0
- zita-convolver
- sndfile (but sndfile-programs and sndfile-tools is available)
- boost library: the package list contains 164 entries with boost. which is the correct one?
- libwebkit-dev

Re: Building guitarix from source code

Posted: Sun Jan 12, 2020 10:35 am
by tramp
Those are the build dependents:

Code: Select all

               intltool,
               ladspa-sdk,
               libavahi-gobject-dev,
               libbluetooth-dev ,
               libboost-dev ,
               libboost-system-dev ,
               libboost-thread-dev ,
               libboost-iostreams-dev,
               libcurl4-gnutls-dev,
               libeigen3-dev,
               libgtk2.0-dev,
               libgtkmm-2.4-dev,
               libjack-dev,
               liblilv-dev,
               liblrdf0-dev,
               libsndfile1-dev,
               libzita-convolver-dev,
               libzita-resampler-dev,
               lv2-dev,
               python,
were in the master branch currently python2 is needed.
dev -> means the development packages, which includes the header files of the specific packages.
the libjack-dev package, depends on which jack you use, could be libjack-dev (jackd1) or libjack-jackd2-dev (jackd2)

libwebkit isn't needed any-more.

Re: Building guitarix from source code

Posted: Sun Jan 12, 2020 2:43 pm
by hdr
Some more were needed:

Code: Select all

dpkg-buildpackage -rfakeroot -b
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package guitarix2
dpkg-buildpackage: info: source version 0.38.0
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by brummer <brummer-@web.de>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
dpkg-checkbuilddeps: error: Unmet build dependencies: libavcodec-dev libavutil-dev gperf
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
=>

Code: Select all

apt-get install libavcodec-dev libavutil-dev gperf 
I couldn't find all these dependents in the manual. Where did you find it?

After that I downloaded the latest version: https://sourceforge.net/projects/guitarix/files/
and ran

Code: Select all

dpkg-buildpackage -rfakeroot -b
then

Code: Select all

dpkg -i guitarix2_0.38.0_amd64.deb
Is this .deb package adapted to my system or can it be used form any other computer with debian 10?
The installation of all the dependencies and the package-building takes a lot of time. Wouldn't it be easier to provide a ready built package download?

Seemed to work, but an error occurs when starting guitarix:
[15:32:33] system init *** mlockall failed:
[15:32:34] PitchTracker *** error creating realtime thread - tuner not started
The logging window shows:
[15:32:33] system init *** mlockall failed:
[15:32:34] loaded state *** from file /home/olush/.config/guitarix/gx_head_rc
[15:32:34] Jack init *** The jack sample rate is 48000/sec
[15:32:34] Jack init *** The jack buffer size is 1024/frames ...
[15:32:34] PitchTracker *** error creating realtime thread - tuner not started
[15:32:34] loaded state *** from file /home/olush/.config/guitarix/gx_head_rc
[15:33:18] Jack XRun *** delay of at least -4.94514e+09 microsecs
[15:34:05] Jack XRun *** delay of at least -4.99212e+09 microsecs

Re: Building guitarix from source code

Posted: Sun Jan 12, 2020 3:35 pm
by tramp
Well, I'm the founder and current maintainer of the guitarix project.
Please forgive me that I forget some stuff, as I do it now for nearly 12 Years.
Beside that I've a couple of other projects I founded and maintain, so sometimes I may mix-up some stuff in my head.

However, download the latest release wouldn't help you much here, what I talk about is that you need to check out our git repository in order to get what you after. You need to get rid of your current guitarix install by un-install it with your package manager (synaptic?)
The command to check out the git repository is:

Code: Select all

git clone https://git.code.sf.net/p/guitarix/git guitarix-git
after checkout is finish, enter the directory "trunk"

Code: Select all

cd guitarix-git/trunk
then run

Code: Select all

python3 ./waf configure --prefix=/usr  --includeresampler --includeconvolver --optimization
then run:

Code: Select all

python3 ./waf build
then:

Code: Select all

sudo python3  ./waf install
you could get rid of this installation by run:

Code: Select all

sudo python3 ./waf uninstall
hdr wrote:Seemed to work, but an error occurs when starting guitarix:
This looks like you didn't run jackd with realtime privileges enabled.
To run guitarix jackd needs at least a priority of 20, better 70 - 90.
All below 15 isn't enough.
I wonder if you didn't get those messages before with the version comes with your distribution.

Re: Building guitarix from source code

Posted: Sun Jan 12, 2020 7:07 pm
by hdr
tramp wrote:Well, I'm the founder and current maintainer of the guitarix project.
Please forgive me that I forget some stuff, as I do it now for nearly 12 Years.
Thanks a lot for that great work!
Forgive me all the questions I have :)
tramp wrote:This looks like you didn't run jackd with realtime privileges enabled.
You are right. Now the message disappeared.
tramp wrote:I wonder if you didn't get those messages before with the version comes with your distribution.
I'm trying this first on a virtual machine before I do it on my host. So there was no before :wink:
tramp wrote:However, download the latest release wouldn't help you much here, what I talk about is that you need to check out our git repository in order to get what you after.
I'm confused, Why does that not help and whats the difference to your git repository?

Re: Building guitarix from source code

Posted: Sun Jan 12, 2020 7:28 pm
by tramp
hdr wrote:Thanks a lot for that great work!
Forgive me all the questions I have :)
You are welcome.
hdr wrote:I'm confused, Why does that not help and whats the difference to your git repository?
Our git repository contain the latest development, were the last release is just a snapshot of it from some time ago. I really didn't remember if the latest release contain already the options -D and -E.
If so, then all good and you are ready to go to make some music. If not, you may check out our git repository, as, all you need to build guitarix from source is now on your computer anyway.

Re: Building guitarix from source code

Posted: Sun Jan 12, 2020 7:32 pm
by hdr
tramp wrote:Our git repository contain the latest development, were the last release is just a snapshot of it from some time ago. I really didn't remember if the latest release contain already the options -D and -E.
Yes it does.
Will guitarix be updated automatically by apt-get update and apt-get upgrade If I use the repository?

Re: Building guitarix from source code

Posted: Mon Jan 13, 2020 5:49 am
by tramp
hdr wrote:Will guitarix be updated automatically by apt-get update and apt-get upgrade If I use the repository?
No. If you use our git repository, you've to do a

Code: Select all

git pull
from the directory which contain the source code and repeat the steps mentioned above in order to get the latest updates.
When you use debian stable, this is the only way to get a recent guitarix version.

Re: Building guitarix from source code

Posted: Fri Jan 17, 2020 3:13 am
by Kott
Hi,

tramp, what is the difference between compiling with bundled faust generated code and using system-wide installed faust?

Re: Building guitarix from source code

Posted: Fri Jan 17, 2020 5:13 am
by tramp
When using faust to build guitarix, all faust generated files will be re-generated. It barely makes a difference.
It's more a developers then a users option. We need to rebuild those files when we update to a newer faust release, for example, or when we modify our build scripts.

Re: Building guitarix from source code

Posted: Fri Jan 17, 2020 8:27 am
by Kott
I see, thanks.