Having Difficulty getting ASMLIB linked up

Asked by Jess Boerner on 2015-10-13

Hi,

I am building on ubuntu studio (15.04) and finally want to try out ASMLIB. Since instructions for installation of the library are sparse, I am unsure if I have done it correctly. Since it is a linked library I copied libaelf64o.a to /usr/local/lib/ and tried to recompile.

It got a bit further, but on the linking of the soundsource m4a plugin I get an error about needing a shared object library and to recompile with '-fPIC', however '-fPIC' is already one of the flags that has been enabled for this step.

Appreciate any guidance, I hear this will do wonders to latency for mixxx.

Question information

Language:
English Edit question
Status:
Answered
For:
Mixxx Edit question
Assignee:
No assignee Edit question
Last query:
2015-10-14
Last reply:
2015-10-14

You should not need to put anything in your system folders, but download the latest ASMLIB, extract it to a directory called "asmlib" at the same level as the mixxx source folder, then just build Mixxx with the asmlib=1 flag.

Jess Boerner (jessboerner) said : #3

It's definitely looking for ASMLIB in my PATH. Once I did as you instructed above and removing the file from /usr/local/lib I get this error:

/usr/bin/ld: cannot find -l:libaelf64o.a
collect2: error: ld returned 1 exit status

which is different from the error I get when the file is in /usr/local/lib:

/usr/bin/ld: /usr/local/lib/libaelf64o.a(memcpy64.o): relocation R_X86_64_PC32 against symbol `UnalignedIsFaster' can not be used when making a shared object; recompile with -fPIC

Jess Boerner (jessboerner) said : #4

http://www.agner.org/software/discuss/read.php?i=637

Found this discussion including the creator of asmlib troubleshooting

Jess Boerner (jessboerner) said : #5

Is it something to do with the fact that ASMLIB does not provide a shared object library for 64 bit and only a static one?

I was able to get current master to build with ASMLIB on Linux using the following invocation: scons -j2 asmlib=1 optimize=native build=release

(The -j2 is for two build threads since I have two cores, and optimize=native is for more performance for your particular CPU.)

Forgot to mention that I unpacked ASMLIB into a directory called "asmlib" one level above where the Mixxx code is. That is the directory with the LICENSE, README, etc. files. Go one level up, mkdir asmlib, then unpack the asmlib .a and .lib files into there.

Jess Boerner (jessboerner) said : #8

Remember that I am trying to install mixxx and it is hanging on the soundsource m4a plugin's link to asmlib. I believe that is with the faad=1 option enabled.

Jess Boerner (jessboerner) said : #9

With faad=0 I can build and install alright. So I guess the soundsource plugin needs some help?

Yes, it seems that way. I see the problem as well. Please file a bug on this. I'm not familiar with the SSM4A code, and filing a bug may get the attention of devs that are.

This may not be possible at all actually based on the error message. But still, the plugin should compile properly (skipping ASMLIB) even if the rest of Mixxx is compiled with it, so a bug is the best way forward.

Uwe Klotz (uklotzde) said : #12

A bug for this issue has already been filed:
https://bugs.launchpad.net/mixxx/+bug/670461

Can you help with this problem?

Provide an answer of your own, or ask Jess Boerner for more information if necessary.

To post a message you must log in.