Tiny Core Linux

Tiny Core Extensions => TCE Talk => Extension requests => Topic started by: Sebster on January 21, 2017, 10:02:48 AM

Title: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 21, 2017, 10:02:48 AM
Hello everyone!!  :)

I've been struggling because I want to make a program run on my raspi zero but I does not start because the shared libary "ld-linux.so.3" is missing which is part of GlibC 2.4 ...
As far as I can see for the rapi zero on TC 8.0 there is just GlibC 2.24 available...

So I wanted to compile it myself but I don't have any luck.

My question:
Can someone provide glibc >=2.4 for TC and armv6 ?
Or does someone know how I can bypass the missing libary error because of ld-linux.so.3 ?

thank you very much guys!
I really need your help with this!

Sebster
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: bmarkus on January 21, 2017, 10:17:13 AM
Isn't GLIBC 2.24 > 2.4?

Are you compileng a program from source or trying to run a 3rd party binary?

Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 21, 2017, 11:15:48 AM
Well, I actually don't know if GLIBC 2.24 is more up to date than 2.4...

But what I can say is, that I was able to run this 3rd party binary on raspian lite without any extra programs needed to be installed.

The program is called "librespot" and it just needs libasound2 installed which is part of the ALSA Sound module AFAIK so that is not the problem.

While searching for the reason of this ld-linux.so.3 error I've seen that this libary is party of GLIBC >=2.4...
So why is it missing? 
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: bmarkus on January 21, 2017, 11:45:19 AM
While searching for the reason of this ld-linux.so.3 error I've seen that this libary is party of GLIBC >=2.4...
So why is it missing?

Why do you think it is missing? piCore works fine both core and applications from repo. Running 3rd party binaries is your risk. Best is to rebuild it in piCore. Alternatively you can try to create an ld-linux.so-3 symlink. It may or may not work.
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 21, 2017, 11:52:22 AM
Thank your for your quick answer!

What I've found out so far is that there is the symlink:
Code: [Select]
tc@piCorePlayer:~$ ls -al /lib | grep ld
-rwxr-xr-x    1 root     root        134392 Dec 19 19:37 ld-2.24.so
lrwxrwxrwx    1 root     root            10 Jan  1  1970 ld-linux-armhf.so.3 -> ld-2.24.so

but :
Code: [Select]
tc@piCorePlayer:~$ sudo ./librespot
./librespot: error while loading shared libraries: ld-linux.so.3: cannot open shared object file: No such file or directory

Do you think it is related to a incompatible prebuild of this binary?
Or do you have a suggestion for me what to do?

Thank you very much, i appreciate all of your help bmarkus!

Sebster
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: bmarkus on January 21, 2017, 12:00:17 PM
Did you run ldconfig?
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: polikuo on January 21, 2017, 12:01:10 PM
On x64, ld-linux.so can only be found in man-pages.tcz as ld-linux.so.8
On x86, however, it can also be found in man-pages.tcz but as ld-linux.so.8.txt
You may want to compile man-pages first.
I hope this may help.
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 21, 2017, 12:09:30 PM
Did you run ldconfig?

i am sorry but what do you mean with that?
Just running it as a command in the terminal?

I did that and... nothing happened   :D
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 21, 2017, 12:10:47 PM
On x64, ld-linux.so can only be found in man-pages.tcz as ld-linux.so.8
On x86, however, it can also be found in man-pages.tcz but as ld-linux.so.8.txt
You may want to compile man-pages first.
I hope this may help.

I will try to do that tomorrow, thank you!

But the strange thing is...
There seems to be the correct libary but librespot does not seem to find it...
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: polikuo on January 21, 2017, 12:19:00 PM
Does "/lib/ld-linux-armhf.so.3" present after running "sudo ldconfig" on your machine.
Maybe you'll need to create a symbolic link, maybe you won't.
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Misalf on January 21, 2017, 12:47:45 PM
Code: [Select]
tc@piCorePlayer:~$ ls -al /lib | grep ld
-rwxr-xr-x    1 root     root        134392 Dec 19 19:37 ld-2.24.so
lrwxrwxrwx    1 root     root            10 Jan  1  1970 ld-linux-armhf.so.3 -> ld-2.24.so

but :
Code: [Select]
tc@piCorePlayer:~$ sudo ./librespot
./librespot: error while loading shared libraries: ld-linux.so.3: cannot open shared object file: No such file or directory

I'd try
Code: [Select]
cd /lib
sudo ln -s ld-linux-armhf.so.3 ld-linux.so.3
sudo ldconfig
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: curaga on January 22, 2017, 05:32:10 AM
So your binary is soft-float and the system is hard-float? I'm not sure that'll work.
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 22, 2017, 07:56:36 AM


I'd try
Code: [Select]
cd /lib
sudo ln -s ld-linux-armhf.so.3 ld-linux.so.3
sudo ldconfig

I tried that and now I does not come up with my missing libary error any more (Yeeeah! ) , but now when I try to start the program:

I get:
Code: [Select]
tc@piCorePlayer:~$ /bin/librespot
Segmentation fault

So your binary is soft-float and the system is hard-float? I'm not sure that'll work.
Maybe that's the reason why I get this segmation fault error?

I'm just curious on how you know wether my binary is hard or soft-float? :)


I am really confused about my error right now...

Any suggestions what to do now?
Could recompiling the binary on TC solve my problem?
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Sebster on January 22, 2017, 08:02:41 AM
And thats the source btw:

https://github.com/herrernst/librespot/releases

It is directly compiled for the Raspberry Pi so that's why I am so confused that TinyCore cannot execute it.
I guess the differences between Raspian and TC are simply to big to make it run out of the box...

But I still want to make it work on TC because I like this OS just to much to switch to Raspian...
Title: Re: [REQUEST] GlibC 2.4 for TinyCoreLinux on armv6
Post by: Juanito on January 22, 2017, 08:05:49 AM
Could recompiling the binary on TC solve my problem?

Yes