emojicode / emojicode

😀😜🔂 World’s only programming language that’s bursting with emojis

Home Page:https://emojicode.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🐧💻 Error While Loading Shared Libraries (´;ω;`)ウッ…

KawaneRio opened this issue · comments

Hello! First issue on GitHub! Hopefully I'm not butchering it... 🙇💦
Anyways, I was trying to compile Hello.emojic from the Official Guide before I ran into this error:

kawanerio@kawanerio-Lenovo-G70-35:~/Emojicode-1.0-beta.2-Linux-x86_64$ ./emojicodec 👋.🍇
./emojicodec: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

🤔🤔🤔🤔🤔
...Maybe it was the 👋EmojiFilename.🍇 on my Linux🐧Machine that's causing the issue💡, I thought. So, I've tried changing the filename.📄:

kawanerio@kawanerio-Lenovo-G70-35:~/Emojicode-1.0-beta.2-Linux-x86_64$ ./emojicodec test.emojic
./emojicodec: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

(´Д`)ハァ…

...🔎After a little bit of Googling🔍, I tried making a symbolic libtinfo.so.5 link in /usr/lib/ from libtinfo.so via ln:

kawanerio@kawanerio-Lenovo-G70-35:~/Emojicode-1.0-beta.2-Linux-x86_64$ sudo ln -s /usr/lib/libtinfo.so /usr/lib/libtinfo.so.5
[sudo] kawanerio のパスワード:             
すみません、もう一度試してください。
[sudo] kawanerio のパスワード:            
kawanerio@kawanerio-Lenovo-G70-35:~/Emojicode-1.0-beta.2-Linux-x86_64$ ls
🍇➕➕  👋.🍇  emojicodec  include  install.sh  packages
kawanerio@kawanerio-Lenovo-G70-35:~/Emojicode-1.0-beta.2-Linux-x86_64$ cd ..
kawanerio@kawanerio-Lenovo-G70-35:~$ ls
Emojicode-1.0-beta.2-Linux-x86_64  テンプレート  ドキュメント  ピクチャ      公開
ダウンロード                       デスクトップ  ビデオ        ミュージック  展開
kawanerio@kawanerio-Lenovo-G70-35:~$ cd E*
kawanerio@kawanerio-Lenovo-G70-35:~/Emojicode-1.0-beta.2-Linux-x86_64$ ./emojicodec 👋.🍇
./emojicodec: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

...Still can't compile it😅💦. So, I've tried 💻installing⬇ the previous version, beta 1.0, from scratch💡:

kawanerio@kawanerio-Lenovo-G70-35:~/ダウンロード$ cd Emojicode-1.0-beta.2-Linux-x86_64
kawanerio@kawanerio-Lenovo-G70-35:~/ダウンロード/Emojicode-1.0-beta.2-Linux-x86_64$ ./install.sh
👨‍💻  Hi, I’m the Emojicode Installer!

I’ll copy the Emojicode Compiler to /usr/local/bin.
Then I’ll copy the default packages to /usr/local/EmojicodePackages.
Finally, I’ll copy the Emojicode API headers to /usr/local/include/emojicode.
If you prefer different locations you can rerun me and provide me with other locations like so:
	 ./install.sh [binary location] [packages location] [include location]

If you want to proceed type y. ➡️  y
/usr/local/bin is not writeable from this user.
I can try to rerun myself with sudo.
If you wish me to do so type y. ➡️  y
[sudo] kawanerio のパスワード:             
I’ve super user privileges now and will try to perform the installation.
If you want to proceed type y. ➡️  y
Copying builds
Copying packages
✅  Emojicode was successfully installed.
kawanerio@kawanerio-Lenovo-G70-35:~/ダウンロード/Emojicode-1.0-beta.2-Linux-x86_64$ echo '🏁 🍇
>   😀 🔤Hello World!🔤❗️
> 🍉' > hello.emojic
kawanerio@kawanerio-Lenovo-G70-35:~/ダウンロード/Emojicode-1.0-beta.2-Linux-x86_64$ ./emojicodec hello.emojic  # Compile it
./emojicodec: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
kawanerio@kawanerio-Lenovo-G70-35:~/ダウンロード/Emojicode-1.0-beta.2-Linux-x86_64$ ./hello  # Run it!
bash: ./hello: そのようなファイルやディレクトリはありません

...But with no luck 😭😭😭
Emojicode works on my 💻Chromebook (Virtual Debian) but I can't get it to work on my Lenovo G70 with Linux Mint 20 inside (´;ω;`)

🥺Can someone show me the way❓




Specification:

kawanerio@kawanerio-Lenovo-G70-35:/home$ cat /etc/linuxmint/info
RELEASE=20
CODENAME=ulyana
EDITION="Xfce"
DESCRIPTION="Linux Mint 20 Ulyana"
DESKTOP=Gnome
TOOLKIT=GTK
NEW_FEATURES_URL=https://www.linuxmint.com/rel_ulyana_xfce_whatsnew.php
RELEASE_NOTES_URL=https://www.linuxmint.com/rel_ulyana_xfce.php
USER_GUIDE_URL=https://www.linuxmint.com/documentation.php
GRUB_TITLE=Linux Mint 20 Xfce
commented

Try installing ncurses:

sudo apt-get install libncurses-dev

If that doesn't help, try compiling Emojicode from source.

I see🤔... apparently, I am missing a lot of important stuff to make this work📚. I am actually in the midst of 🐧Linux Transition, so I'll get back to making 🍇Emojicode🍉 work on my machine as soon as my 📀partition is cleaned up and so (may be several weeks ahead, but I really want to master this language🔥).

Thank you so much for your super quick reply! I am honored to be in touch with the creator himself!

commented

I solved this by installing libncurses5
sudo apt install libncurses5
Credit: https://stackoverflow.com/a/51333801

Just throwing it out there that this occurs on Manjaro too. libtinfo.so is provided by ncurses, which I have installed, however it currently has libtinfo.so.6 not 5. And Manjaro does not have older versions in its repositories (so I can't install libncurses5 as suggested by @OSDVF ).

I'm assuming this won't be an issue if I compile emojicodec from source, since that was already mentioned. But this will probably lead a lot of people using rolling release distros not being able to use the existing binary...

Same problem here with Fedora 37 which have only libtinfo.so.6

I solved this by installing libncurses5 sudo apt install libncurses5 Credit: https://stackoverflow.com/a/51333801

Greetings from Kubuntu! I ran into this exact same error that I apparently ran into 3 years ago, but this comment solved it for me! Thanks a thousand and happy coding! 😀

Screenshot of me running to this exact issue 3 years later, but fixing it with a single command

image