Closed bpipi closed 8 years ago
Please provide more details on your system.
It should be easy to detect problem with that
OS and version - Raspbian GNU/Linux 8.0 Jessie Systemd version - 215 I have build the systemd-220 but when I give systemd --version it is showing systemd 215.
Thanks
Did you install your systemd-220 compilation ´sudo make install´? maybe that's the problem.
systemctl --version must say 220
See there's a 219 branch on miraclecast with interfaces compatible with systemd <=219, but as you need to enable kdbus, focus on correctly install systemd
Yes systemctl --version is giving systemd 220. Just now I have checked.
root@raspberrypi:/home/pi/systemd-220# systemd --version systemd 215 +PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR root@raspberrypi:/home/pi/systemd-220# systemctl --version systemd 220 +PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN root@raspberrypi:/home/pi/systemd-220#
Please provide details on sources and compilation for systemd 220. I will update docs for raspbian users if we can solve this.
I have followed following procedure
For hardware test scripts http://www.rpiblog.com/2012/12/turn-raspberry-pi-into-wireless-access.html
For systemd I have downloaded the systemd-220.tar.xz from https://www.freedesktop.org/software/systemd/
For compiling I have used normal steps ./configure --enable-kdbus make && make install
Hi albfan, Did you find anything about this error? Or am I doing something wrong in the building process?
Thanks
As you open another issues executing miracle-wifid, I guess you bypass this problem. Anyway...
I use this git alias to find strings on a project over time
https://github.com/albfan/dotfiles/blob/master/gitconfig#L29
find = "!git log --color -p -S "
Issuing
$ git find LIBSYSTEMD_FUTURE -M
on systemd repo, you will find it was added on version 213 of systemd,
https://github.com/systemd/systemd/commit/42a04ee#diff-6efbfb51f689c4bd6084d7ce8892c748R152
and removed on version 220.
So, based on your description, I guess miraclecast was compiled against systemd 215 and now it is running against 220 and lacks that symbol.
You can confirm like this:
$ ldd $(which miracle-wifid)
linux-vdso.so.1 (0x00007ffcf17c4000)
libudev.so.1 => /usr/lib/libudev.so.1 (0x00007f32a9c8b000)
libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f32a9c05000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f32a98d4000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f32a96b7000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f32a9316000)
libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f32a9112000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f32a8e0d000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f32a8bf6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f32a9adc000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f32a89d0000)
liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f32a87be000)
libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f32a84dc000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f32a82c8000)
Then search for symbols on systemd lib
$ readelf -Ws /usr/lib/libsystemd.so | grep ABS 280: 0000000000085080 0 NOTYPE GLOBAL DEFAULT ABS _end 353: 00000000000845e0 0 NOTYPE GLOBAL DEFAULT ABS _edata 451: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_209 498: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_211 504: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_213 508: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_214 512: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_216 514: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_217 519: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_219 529: 00000000000845e0 0 NOTYPE GLOBAL DEFAULT ABS __bss_start 562: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_220 564: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_221 565: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_222 571: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_226 573: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_227 577: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_229
If you do not restart system after compile systemd things like that can happen. Normally
$ sudo ldconfig
can help.
Close this issue if any of that solves your problem
I have tried all the above commands but still the same error. But other than raspberry pi boards, all other boards are working without this error.On Rpi only I am getting this error.
Please open this issue. As I have not closed I cant open this issue.
Before reopen please post here results of:
$ ldd $(which miracle-wifid)
$ readelf -Ws /usr/lib/libsystemd.so | grep ABS
That's only to detect problem not to solve it. Once posted I can tell you what to do next
I am posting the ldd output is ldd.log and readelf output is readelf.log
Seems you check different libs. Add command line execution. That's the key.
With first command you get the libsystemd location (/lib/arm-linux-gnueabihf/libsystemd.so.0) so second command should be:
$ readelf -Ws /lib/arm-linux-gnueabihf/libsystemd.so.0 | grep ABS
Was that your command? or Did you use my example command (/usr/lib/libsystemd.so)?
Sorry I had used your command. Now When I used following command I got the following output.
$ readelf -Ws /lib/arm-linux-gnueabihf/libsystemd.so.0 | grep ABS 134: 00000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_211 135: 00000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_213 137: 00000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_214 218: 00000000 0 OBJECT GLOBAL DEFAULT ABS LIBSYSTEMD_209
Here you are. You have to versions installed of systemd. That's why I close this issue.
Old one version is discovered first by gcc, so miraclecast is compiled against it. Only at runtime it fails. If you remove old systemd installation and recompile all should work.
How come two systemd? Total 4 systemd's are showing when I execute the above command.
Four systemd? That's only symbols added on sucessive releases of systemd
systemd/systemd@42a04ee#diff-6efbfb51f689c4bd6084d7ce8892c748R152
I guess you install systemd from source, there's no step on compile and install a program which removes old version of that package. That's competence of package managers.
That's why I encourage to use them for install systemd. pacman and apt-get will inform about conflict and remove old package before install.
Hi all,
I am trying the miraclecast with Rpi. I have followed the given steps. I got passed results with the test scripts present in the res folder. I have successfully compiled and installed. But when I am trying to launch wifi-daemon I am getting following error...
Could you please help with this?
Thanks