Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raspberry Pi OS: Compile error: libSM.so and libICE.so not found #949

Closed
kjcole opened this issue May 5, 2022 · 5 comments
Closed

Raspberry Pi OS: Compile error: libSM.so and libICE.so not found #949

kjcole opened this issue May 5, 2022 · 5 comments

Comments

@kjcole
Copy link

kjcole commented May 5, 2022

Describe the bug

On a Raspberry Pi 4 with a fresh install or Raspberry Pi OS, and following the directions for Compiling on Debian, the make fails to find the libraries.

To Reproduce

$ make -j$(nproc)
...
make[2]: *** No rule to make target '/usr/lib/arm-linux-gnueabihf/libSM.so', needed by 'strawberry'.  Stop.
...
make[2]: *** No rule to make target '/usr/lib/arm-linux-gnueabihf/libICE.so', needed by 'strawberry'.  Stop.

Expected behavior
I expected it to find the libraries. 😉

Quick fix

$ sudo -i
$ cd /usr/lib/arm-linux-gnueabihf/
$ ln -s libSM.so.6.0.1  libSM.so
$ ln -s libICE.so.6.3.0 libICE.so
$ exit

System Information:

  • Operating system:
$ lsb_release -a
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye

$ uname -a
Linux xxxxxx 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
  • Strawberry Version:
$ strawberry --version

Strawberry 1.0.4-19-gedd08892
@kjcole
Copy link
Author

kjcole commented May 5, 2022

(Symbolic links for libICE.so.6 and libSM.so.6 were already present, in case the better solution is to point the code to those.)

$ cd /usr/lib/arm-linux-gnueabihf/
$ ls -l libSM* libICE*
lrwxrwxrwx 1 root root    15 May  4 21:33 libICE.so -> libICE.so.6.3.0
lrwxrwxrwx 1 root root    15 Sep 24  2020 libICE.so.6 -> libICE.so.6.3.0
-rw-r--r-- 1 root root 80216 Sep 24  2020 libICE.so.6.3.0
lrwxrwxrwx 1 root root    14 May  4 21:32 libSM.so -> libSM.so.6.0.1
lrwxrwxrwx 1 root root    14 Feb  8  2019 libSM.so.6 -> libSM.so.6.0.1
-rw-r--r-- 1 root root 26116 Feb  8  2019 libSM.so.6.0.1

@jonaski
Copy link
Member

jonaski commented May 5, 2022

Why is this a Strawberry bug?

@jonaski jonaski changed the title Raspbery Pi OS: Compile error: libSM.so and libICE.so not found Raspberry Pi OS: Compile error: libSM.so and libICE.so not found May 5, 2022
@kjcole
Copy link
Author

kjcole commented May 5, 2022

I'm hoping that either Strawberry maintainers or libice6 maintainers and libsm6 maintainers will recognize that something isn't right. I'm hoping that the maintainers don't just point their fingers at the others and say "It's not OUR problem."

Since I did not encounter any problem until I attempted to build Strawberry, I filed a bug report here first. Two minutes ago, I filed bug reports against libice6 and libsm6. But if the maintainers there say "won't fix", then the problem remains that Strawberry won't compile without the symbolic links. (These bugs could affect other packages, but I reported where I encountered it.)

Perhaps the fix is something as simple as adding a caveat to the build instructions saying "If you encounter these errors, create the following symbolic link(s)."

@jonaski
Copy link
Member

jonaski commented May 5, 2022

I just don't see how or why this is a library, or strawberry bug.
Strawberry links to X11 libraries. It uses the libraries returned by cmake's find_package, which is what's found on your system.
This sounds like either something is broken on your system, or it's a distribution/packaging specific issue.
If there are missing or broken symbolic links we should not be responsible for fixing that, or explain how to fix a system in the build instructions. We don't even have build instructions specific for Raspbian.
There is a CI here compiling on 14 different distros/versions including debian and ubuntu and none of those have this issue.
I think it's better to ask for help, or file a bug report to the specific linux distro where the problem occurs.

@kjcole
Copy link
Author

kjcole commented May 6, 2022

I just got word from the Debian maintainers of the two libraries. According to them, there's a bug in your documentation:

The symbolic links required by the make are only provided in the development packages libice-dev and libsm-dev. However, your documentation does not include those libraries in the list of required dependencies. So adding them to the apt-get install -y... list of dependencies would solve the issue.

@jonaski jonaski closed this as completed May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants