unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
@ 2023-10-17  0:07 mahlamytsike
  0 siblings, 0 replies; 6+ messages in thread
From: mahlamytsike @ 2023-10-17  0:07 UTC (permalink / raw)
  To: help-gnu-emacs

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
and 
$ 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.

Relevant information:
Android 10
Downloaded Emacs 30.0.50-29 and Termux 0.118.0 from https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/termux/ with shared user ID and Termux terminal emulator signed with Emacs's signing keys to enable Emacs to make use of the Termux package repositories. Also made the following preparations:
Emacs shell: $ pkg update && pkg upgrade
and added to early-init.el:
(setenv "PATH" (format "%s:%s" "/data/data/com.termux/files/usr/bin" (getenv "PATH")))
(setenv "LD_LIBRARY_PATH" (format "%s:%s" "/data/data/com.termux/files/usr/lib" (getenv "LD_LIBRARY_PATH")))
(push "/data/data/com.termux/files/usr/bin" exec-path)
Other packages e.g. 'pkg' or 'git' work fine under Emacs shell.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
@ 2023-10-17 12:24 Herman
  0 siblings, 0 replies; 6+ messages in thread
From: Herman @ 2023-10-17 12:24 UTC (permalink / raw)
  To: help-gnu-emacs

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.

Relevant information:
Android 10
Downloaded Emacs 30.0.50-29 and Termux 0.118.0 from https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/termux/ with shared user ID and Termux terminal emulator signed with Emacs's signing keys. Also made the following preparations:
Emacs shell: $ pkg update && pkg upgrade
and added to early-init.el:
(setenv "PATH" (format "%s:%s" "/data/data/com.termux/files/usr/bin" (getenv "PATH")))
(setenv "LD_LIBRARY_PATH" (format "%s:%s" "/data/data/com.termux/files/usr/lib" (getenv "LD_LIBRARY_PATH")))
(push "/data/data/com.termux/files/usr/bin" exec-path)
Other packages e.g. 'pkg' or 'git' work fine under Emacs shell.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
@ 2023-10-17 13:41 Herman
  2023-10-17 13:45 ` Po Lu
  0 siblings, 1 reply; 6+ messages in thread
From: Herman @ 2023-10-17 13:41 UTC (permalink / raw)
  To: help-gnu-emacs

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.

Relevant information:
Android 10
Downloaded Emacs 30.0.50-29 and Termux 0.118.0 from https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/termux/ with shared user ID and Termux terminal emulator signed with Emacs's signing keys. Also made the following preparations:
Emacs shell: $ pkg update && pkg upgrade
and added to early-init.el:
(setenv "PATH" (format "%s:%s" "/data/data/com.termux/files/usr/bin" (getenv "PATH")))
(setenv "LD_LIBRARY_PATH" (format "%s:%s" "/data/data/com.termux/files/usr/lib" (getenv "LD_LIBRARY_PATH")))
(push "/data/data/com.termux/files/usr/bin" exec-path)
Other packages e.g. 'pkg' or 'git' work fine under Emacs shell.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
  2023-10-17 13:41 Herman
@ 2023-10-17 13:45 ` Po Lu
  2023-10-17 14:26   ` Herman
  0 siblings, 1 reply; 6+ messages in thread
From: Po Lu @ 2023-10-17 13:45 UTC (permalink / raw)
  To: Herman; +Cc: help-gnu-emacs

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.
>
> Relevant information:
> Android 10
> Downloaded Emacs 30.0.50-29 and Termux 0.118.0 from
> https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/termux/
> with shared user ID and Termux terminal emulator signed with Emacs's
> signing keys. Also made the following preparations:
> Emacs shell: $ pkg update && pkg upgrade
> and added to early-init.el:
> (setenv "PATH" (format "%s:%s" "/data/data/com.termux/files/usr/bin" (getenv "PATH")))
> (setenv "LD_LIBRARY_PATH" (format "%s:%s"
> "/data/data/com.termux/files/usr/lib" (getenv "LD_LIBRARY_PATH")))
> (push "/data/data/com.termux/files/usr/bin" exec-path)
> Other packages e.g. 'pkg' or 'git' work fine under Emacs shell.

Hmm, what if you introduce an entry for /system/lib64 into
LD_LIBRARY_PATH?



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
  2023-10-17 13:45 ` Po Lu
@ 2023-10-17 14:26   ` Herman
  2023-10-17 17:17     ` Herman
  0 siblings, 1 reply; 6+ messages in thread
From: Herman @ 2023-10-17 14:26 UTC (permalink / raw)
  To: Po Lu; +Cc: help-gnu-emacs

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"...



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android
  2023-10-17 14:26   ` Herman
@ 2023-10-17 17:17     ` Herman
  0 siblings, 0 replies; 6+ messages in thread
From: Herman @ 2023-10-17 17:17 UTC (permalink / raw)
  To: Po Lu; +Cc: help-gnu-emacs

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"...



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-10-17 17:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-17 12:24 Termux package "CANNOT LINK EXECUTABLE" error with Emacs Android Herman
  -- strict thread matches above, loose matches on Subject: below --
2023-10-17 13:41 Herman
2023-10-17 13:45 ` Po Lu
2023-10-17 14:26   ` Herman
2023-10-17 17:17     ` Herman
2023-10-17  0:07 mahlamytsike

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).