50ButtonsEach / fliclib-linux-dist

114 stars 19 forks source link

x86-64 version built with gcc 5.1 #17

Open kokotchY opened 8 years ago

kokotchY commented 8 years ago

Hello,

I'm currently running Gentoo x86-64 and I was not able to start the deamon because of the following error:

./daemon: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./daemon)

./daemon: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./daemon)

According to the gcc page [1], CXXABI_1.3.9 and GLIBCXX_3.4.21 are avaible wit gcc 5.1. Is there any reason why the fliclib is built with such a recent version of gcc? (nearly one year, I know ^^)

It seems that, at the time, it is not planned to release gcc 5.1 on gentoo (but the version 5.3 is available for some reason).

Thanks,

[1] https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html

fabianbergmark commented 8 years ago

I think you that if you manage to get 5.3 running you should be good to go. Right now I'm building on the latest Ubuntu release (and the latest Raspbian for RPI), but I might downgrade this if more people have this issue.

kokotchY commented 8 years ago

Thank you, with gcc 5.3, I can start the daemon and I don't need to configure my system to use it since it can find the correct library. I cannot connect a flic yet, but it is probably for another reason (Bluetooth LE not present in my kernel, currently building a more recent one).

Should we keep the issue open for other people to comment on it?

fabianbergmark commented 8 years ago

Yes for now. I'm still working on how to make this as compatible as possible so any input is appreciated. When you get around to building bluez, check if you need to apply these patches http://thread.gmane.org/gmane.linux.bluez.kernel/66537

kokotchY commented 8 years ago

Without the patches, it seems that it was already working (I have already bluez-5.37). With the patches, it seems that it is also working.

When a press the flic, I go the following output from ./flic:

Button up (up/down): Button click (click/hold): Button single click (single/double): Button single click (single/double/hold):

So it seems to get all event at once.

fabianbergmark commented 8 years ago

The event types are a bit tricky to understand and should be covered in the Readme. Basically there are 5 event types, down, up, click, double click and hold. However one might not be interested in double click events and would thus want two click events when the button is double-clicked. To accommodate for this, we have different scopes which is why you are seeing multiple events at once, one for each scope.

Ziemowit commented 8 years ago

Ok I don't know if it is a proper place to ask but I have quite similar problem...

./daemon: relocation error: ./daemon: symbol _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

My gcc/g++ version is 4.8.5. System Mint 17.3 'Rosa' 64 bit.

Any idea? :(

fabianbergmark commented 8 years ago

You need to upgrade your libc/libstdc++. I suggest a fresh install with Raspbian Jessie