You are here

Compiling qtractor fails with undefined reference to `sord_erase' error

Forums: 

Hi there! Trying to compile qtractor 0.7.3 but it generates an error. Do you have any advice please?

/usr/local/lib/liblilv-0.so: undefined reference to `sord_erase'
collect2: error: ld returned 1 exit status
make[2]: *** [qtractor] Error 1
make[1]: *** [sub-src-make_first] Error 2
make: *** [src/qtractor] Error 2
/usr/local/lib/liblilv-0.so -> liblilv-0.so.0.22.1
rncbc's picture

you seem to be using an officially unreleased git version for libLILV from drobilla.net/lad stack. however, it seems, the rest of the other companions and/or its dependencies, namely libSERD is not aligned properly or is outdated... maybe you missed to fresh update the whole gang (serd, sord, sratom and lilv, in this order).

hth.
cheers

Yes everything on my system is compiled from git versions, thanks I'll try updating them and see what happens. Thanks! :)

I updated in the order you suggested but it hasn't worked, the same error's still there.

I'm using Dave's LAD Meta repository http://git.drobilla.net/cgit.cgi/drobillad.git/ because from what I recall (not sure anymore?) it was the only way I could find to get raul working in order to compile Ingen.

So I guess something's incompatible with qtractor's source and http://git.drobilla.net/cgit.cgi/drobillad.git/

rncbc's picture

i beg you to look at the caption line :)

most probably the root of all your problems is quite far from being in qtractor's source.

i'll suggest you to breakout things as they probably are by now:

- you're using a liblilv-0.so version that evidentially is 0.22.1 which is not officially released as of yet;
- the regular qtractor build do primarily link to liblilv-0.so alone and stops there; it is the later that can't find its correct and legal dependencies for cyring out loud! this said your system ruling (eg. ld.so.conf) might well make the search for link-time/run-time dependencies (libserd-0.so, etc.), in some fashion that is not that obvious (lilv -> sratom, sord -> serd) moreover when you have duplicate installed versions hanging around;
- if, for instance, you have any or some of the indirect dependencies (libsratom-0.so, libsord-0.so, libserd-0.so) installed under /usr/lib and your other alternative custom builds are in /usr/local/lib, then you have found the culprit ;)
- depending on your distro and arch, there might be a difference whether things are stapled to .../lib and/or .../lib64

all that said, bottom line goes like this:

a. un-install or remove any trace of the lilv, sratom, sord and serd from your system; any! get rid of them all;)
b. rebuild all those from scratch, again: serd, sord, sratom and lilv, installing one step only after the other, in that order!
c. try rebuilding your amenities once again, raul, ingen and ultimately qtractor.

hth.
cheers

It seems that I unwisely had Ubuntu dev packages for libserd, libsord, libsratom and liblilv installed (in addition to having later compiled those libraries from source) which caused the build to fail. After removing them qtractor compiled without issues.

Thank you so much for your kind advice and suggestions Mr Capela, a useful lesson learned :D

Add new comment