[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
From: |
Herman |
Subject: |
Re: Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android |
Date: |
Tue, 17 Oct 2023 20:17:38 +0300 |
The problem seems to be that in Termux and Emacs shell the same executable is
linked to the same library (libpcrecpp.so) but in different locations. How can
it be solved ?
### Termux ###
$ ldd /data/data/com.termux/files/usr/bin/mega-cmd-server | grep -e "pcrecpp"
libpcrecpp.so => /data/data/com.termux/files/usr/lib/libpcrecpp.so
$ nm -gD /data/data/com.termux/files/usr/lib/libpcrecpp.so | grep -e
"_ZN7pcrecpp2RE6no"
00000000000125d0 B _ZN7pcrecpp2RE6no_argE
### Emacs shell ###
$ ldd /data/data/com.termux/files/usr/bin/mega-cmd-server | grep -e "pcrecpp"
(standard input):2: libpcrecpp.so => /system/lib64/libpcrecpp.so
$ nm -gD /system/lib64/libpcrecpp.so | grep -e "_ZN7pcrecpp2RE6no"
$
/sorry for initial repeated messages/
On Tue, 17 Oct 2023 17:26:50 +0300
Herman <mahlamytsike@gmail.com> wrote:
> On Tue, 17 Oct 2023 21:45:13 +0800
> Po Lu <luangruo@yahoo.com> wrote:
>
> > Herman <mahlamytsike@gmail.com> writes:
> >
> > > Hi !
> > >
> > > Installed megacmd package under Termux.
> > >
> > > megacmd commands under Termux work fine. But not under Emacs shell
> > > or eshell:
> > >
> > > $ megasimplesync
> > > CANNOT LINK EXECUTABLE
> > > "/data/data/com.termux/files/usr/bin/megasimplesync": cannot
> > > locate symbol "CrcGenerateTable" referenced by
> > > "/system/lib64/libunwindstack.so"...
> > >
> > > To reproduce it's enough to run any 'mega-'command.
> > > $ mega-login
> > >
> > > $ cat ~/megaCmd/megacmdserver.log
> > > CANNOT LINK EXECUTABLE "mega-smd-server": cannot locate symbol
> > > "CrcGenerateTable" referenced by
> > > "/system/lib64/libunwindstack.so"...
> > >
> > > Dont know, if it is misconfiguration or bug.
> > >
> >
> > Hmm, what if you introduce an entry for /system/lib64 into
> > LD_LIBRARY_PATH?
>
> Thanks ! Adding /system/lib64 into LD_LIBRARY_PATH made
> megasumplesync working.
>
> This revealed now the next obstacle. Megasimplesync is a simple
> process that just stays on after launch. However, all other 'mega-'
> commands will spawn 'mega-cmd-server' and this will fail under Emacs.
>
> $ mega-sync
> [Initiating MEGAcmd server in background. Log:
> /data/data/org.gnu.emacs/files/.megaCmd/megacmdserver.log]
> Unable to connect to service: error=111
> Please ensure mega-cmd-server is running
> Failed to create socket for registering for state changes
>
> $ cat ~/.megaCmd/megacmdserver.log
> CANNOT LINK EXECUTABLE "mega-cmd-server": cannot locate symbol
> "_ZN7pcrecpp2RE6no_argE" referenced by
> "/data/data/com.termux/files/usr/bin/mega-cmd-server"...