command not found?

308 views
Skip to first unread message

Ian Mellor

unread,
Jul 25, 2015, 7:30:48 AM7/25/15
to BeagleBoard

I'm sure I'm doing something stupid but I can't seem to install (run?) an application. I'm running Debian on a BBB and connecting through putty. It's a remote USB system from Eltima. These are the instructions I got:

1. Please try this build:

> http://www.eltima.com/temp/usb/arm/eveusb_3.6.0.armv5te.tgz

> It is compatible with all ARM platforms.

> Unpack the archive to the root directory and execute postinst script

> from /opt/Eltima/eveusb/bin/ Sub-folders will be determined by the

> archive automatically.

I also asked this and got a response:

> OK I have a Beaglebone black (4GB Debian) attached to my PC and I've

> unpacked eveusb_3.6.0.armv5te.tgz to root.

> I'm looking at the /opt/Eltima/eveusb/bin/ directoy and there are two

> files "eveusbc" and eveusbd".

> Which one do I need to call?

> Will it be installed permanently or will I need to call it each time

> we re-boot?


Response:

> USB Network Gate is designed to run as a system daemon. This ensures that all USB ports are re-shared and connections re-established automatically on system boot (before user login).

 

> eveusbd is the UNG daemon (starts with the system and is constantly running in the background), eveusbc is a command-line utility for controlling it. So you are probably looking for the latter.



I did the unpacking OK and there are two files in the sub-directory. Using bash from a remote terminal I try to execute each of the files (from the sub-directories) but all I get is: 

root@beaglebone:~/opt/Eltima/eveusb/bin# eveusbc
-bash: eveusbc: command not found
 
I assume to execute I only need to type their names? Also I assume they are executable?

Any ideas please? Thanks.

Peter Baltus

unread,
Jul 26, 2015, 4:11:10 AM7/26/15
to BeagleBoard
Try ./eveusbc
From the prompt it seems you are logged in as root and usually root does not have the current directory in it's path for executing commands.

Best regards,

Peter

Ian Mellor

unread,
Jul 26, 2015, 8:38:45 AM7/26/15
to BeagleBoard, peter....@gmail.com
Hi Peter,

Yes I'm logged on as root but I'm in the directory where the file is.
Does this not work the same as DOS?
I tried typing ./eveusbc but I just get "No such fie or directory"
I must say I'm lost.

Any ideas?

Thanks

Ian

Peter Baltus

unread,
Jul 26, 2015, 9:54:27 AM7/26/15
to BeagleBoard, ianpe...@gmail.com
Hi Ian,

Thanks for your email. Yes, it works more or less like in DOS, but there are some differences:
- most Linux systems are configured such that root (as opposed to most other users) does not by default execute files in the current directory. This is for security reasons if I'm not mistaken. This can be bypassed by typing the relative or full path to the command, such as ./eveusbc . Since that doesn't work, it is worth looking into another important difference with DOS:
- Linux systems have more extensive file permissions than the original DOS system. It could be that the eveusbc file does not have "execute" permission. You can check by 'ls -l', which shows the permissions in a format such as rwxrw-r--. There are three groups, identifying permissions for owner, group and world (from left to right). Each group can have r(ead), w(rite) and execute permissions. To excluse any problems in this area, you can give all permissions to everybody by 'chmod 777 eveusbc' and then try again './eveusbc' .

By the way, 'chmod 777' is not necessarily the best way to keep a computer secure ;-) but it should help determine whether the problem is related to permissions.

   Peter

evilwulfie

unread,
Jul 26, 2015, 9:55:15 AM7/26/15
to beagl...@googlegroups.com
have you changed the file to be executable ?

chmod +x filename
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ian Mellor

unread,
Jul 26, 2015, 10:31:30 AM7/26/15
to BeagleBoard, peter....@gmail.com
Hi Peter,

Thanks so much for you help.

Here is what I'm getting with permissions. It looks like it has execute permissions? 


root@beaglebone:~/usr# dir
bin  share  src
root@beaglebone:~/usr# cd bin
root@beaglebone:~/usr/bin# dir
eveusbc  eveusbd
root@beaglebone:~/usr/bin# ls -l
total 0
lrwxrwxrwx 1 root root 30 Dec  5  2014 eveusbc -> /opt/Eltima/eveusb/bin/eveusbc
lrwxrwxrwx 1 root root 30 Dec  5  2014 eveusbd -> /opt/Eltima/eveusb/bin/eveusbd
root@beaglebone:~/usr/bin# .eveusbc
-bash: .eveusbc: command not found
root@beaglebone:~/usr/bin# chmod 777 eveusbc
chmod: cannot operate on dangling symlink `eveusbc'
root@beaglebone:~/usr/bin#

evilwulfie

unread,
Jul 26, 2015, 10:36:48 AM7/26/15
to beagl...@googlegroups.com
cant change mode on a symlink
whats in this file ?
is it a shell script ?
a compiled executable ?
--

Chad Baker

unread,
Jul 26, 2015, 10:42:28 AM7/26/15
to beagl...@googlegroups.com
Have you tried using the full pathname? Just type the following on the command line.
/opt/Eltima/eveusb/bin/eveusbc

Chad
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
Chad Baker Memphis, TN

Ian Mellor

unread,
Jul 26, 2015, 10:53:20 AM7/26/15
to BeagleBoard, cmba...@gmail.com
Hi Chad,

Yep this is what I got? Thanks Ian

root@beaglebone:~# dir
etc  eveusb_3.6.0.armv5te.tgz  lib  opt  usr
root@beaglebone:~# /opt/Eltima/eveusb/bin/eveusbc
-bash: /opt/Eltima/eveusb/bin/eveusbc: No such file or directory

Ian Mellor

unread,
Jul 26, 2015, 11:08:11 AM7/26/15
to BeagleBoard, evilw...@gmail.com
Hi Wulf Man,

I don't know, is there a way to tell? Looking at what's inside there is no text script but the is ELF at the beginning so I assume its and exe?

The suppliers told me "eveusbd is the UNG daemon (starts with the system and is constantly running in the background), eveusbc is a command-line utility for controlling it. So you are probably looking for the latter." so again I would have assumed an exe?

I uploaded and unpacked the .tgz file. I assume that only unpacks and doesn't install anything. I couldn't find any related  processes running or anything in /systemd for startup but without an exact name I'm not sure.

One this that seem clear from what they told me is: "eveusbc is a command-line utility for controlling it". 

Thanks Ian

Robert Nelson

unread,
Jul 26, 2015, 12:40:55 PM7/26/15
to Beagle Board, evilw...@gmail.com, ianpe...@gmail.com


'armv5' binary means install the 'armel' multi arch, as it wasn't built for the 'armhf' abi...

William Hermans

unread,
Jul 26, 2015, 2:12:50 PM7/26/15
to beagl...@googlegroups.com
Too bad readelf does not exist for armhf systems( where it makes the most sense ). This could confirm that the file is indeed armel or armhf ABI. But the file name pretty much says it all as Robert pointed out.

armv5 == armel, and the ABI used on the beaglebone black - Stock *is* armhf.

Too bad also that file -s only reports "ARM" as well . . .

Ian Mellor

unread,
Jul 26, 2015, 3:36:44 PM7/26/15
to BeagleBoard, evilw...@gmail.com

Hi Wulfman

No readme but I found these:

# USB Network Gate "eveusb" rules
# Copyright (C) 2013-2014 Eltima Software

# This file should be copied to /lib/udev/rules.d.
# In any conflict, the last rule wins.

# 'libusb' device nodes, see 50-udev-default.rules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", OWNER="eveusb"

# eveusb.ko module
KERNEL=="eveusb", OWNER="eveusb"

********************************
Also this looks very interesting.
********************************

# eveusb - USB Network Gate daemon
#
# USB Network Gate allows you to share USB devices with remote computers
# and easily connect to shared devices at the remote side.

# This file should be copied to /lib/systemd/system.

[Unit]
Description=USB Network Gate daemon
After=local-fs.target 
After=network.target 
After=syslog.target

[Service]
# User=eveusb
# PermissionsStartOnly=true
# Type=forking
ExecStartPre=/sbin/modprobe eveusb
ExecStart=/opt/Eltima/eveusb/bin/eveusbd --process
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

*********
And this

*********
# eveusb - USB Network Gate daemon
#
# USB Network Gate allows you to share USB devices with remote computers
# and easily connect to shared devices at the remote side.

# This file should be copied to /etc/init.

description "USB Network Gate daemon"
author "Eltima Software <sup...@eltima.com>"

start on runlevel [2345]
stop on runlevel [!2345]

#expect fork
#setuid eveusb
kill timeout 30

exec /opt/Eltima/eveusb/bin/eveusbd --process

pre-start script
modprobe eveusb
end script

************

I tried installing them as requested in the files. The one in /etc/init was changed to be blank after reboot?
So I'm not sure what is going on?


On Sunday, 26 July 2015 15:36:48 UTC+1, Wulf Man wrote:

Robert Nelson

unread,
Jul 26, 2015, 4:49:35 PM7/26/15
to Beagle Board
On Sun, Jul 26, 2015 at 1:12 PM, William Hermans <yyr...@gmail.com> wrote:
> Too bad readelf does not exist for armhf systems( where it makes the most
> sense ). This could confirm that the file is indeed armel or armhf ABI. But
> the file name pretty much says it all as Robert pointed out.
>
> armv5 == armel, and the ABI used on the beaglebone black - Stock *is* armhf.
>
> Too bad also that file -s only reports "ARM" as well . . .
>

They actually ship their own linker:

voodoo@b2-omap5-uevm-2gb:/tmp/test/opt/Eltima/eveusb/lib$ ls -lh
total 2.1M
lrwxrwxrwx 1 voodoo voodoo 25 Dec 5 2014 ld-linux.so.3 ->
../libc/lib/ld-linux.so.3
-rw-r--r-- 1 voodoo voodoo 512K Dec 5 2014 libboost_program_options.so
-rw-r--r-- 1 voodoo voodoo 512K Dec 5 2014 libboost_program_options.so.1.57.0
-rw-r--r-- 1 voodoo voodoo 16K Dec 5 2014 libboost_system.so
-rw-r--r-- 1 voodoo voodoo 16K Dec 5 2014 libboost_system.so.1.57.0
-rw-r--r-- 1 voodoo voodoo 204K Dec 5 2014 libboost_thread.so
-rw-r--r-- 1 voodoo voodoo 204K Dec 5 2014 libboost_thread.so.1.57.0
lrwxrwxrwx 1 voodoo voodoo 18 Dec 5 2014 libeveusb.so -> libeveusb.so.3.0.0
lrwxrwxrwx 1 voodoo voodoo 18 Dec 5 2014 libeveusb.so.3 ->
libeveusb.so.3.0.0
-rw-r--r-- 1 voodoo voodoo 221K Dec 5 2014 libeveusb.so.3.0.0
-rw-r--r-- 1 voodoo voodoo 138K Dec 5 2014 libz.so
-rw-r--r-- 1 voodoo voodoo 138K Dec 5 2014 libz.so.1
-rw-r--r-- 1 voodoo voodoo 138K Dec 5 2014 libz.so.1.2.7


ld-linux.so.3 = armel..

see: https://wiki.debian.org/Multiarch/HOWTO

add "armel"...

Regards,

--
Robert Nelson
https://rcn-ee.com/

William Hermans

unread,
Jul 26, 2015, 5:50:53 PM7/26/15
to beagl...@googlegroups.com
see: https://wiki.debian.org/Multiarch/HOWTO

add "armel"...

Regards,

--
Robert Nelson
https://rcn-ee.com/

Yeah I saw that too hehe, first hit on google for "debian multiarch", but . . .the OP seems to be off exploring some other unrelated tangent ? *shrug*

--
For more options, visit http://beagleboard.org/discuss

William Hermans

unread,
Jul 26, 2015, 5:52:39 PM7/26/15
to beagl...@googlegroups.com
Just a word to the wise. For future reference. If the file exists, and the executable bit is set. Chances are nearly if not 100% that the executable is for the wrong ABI.

c...@isbd.net

unread,
Jul 27, 2015, 9:34:13 AM7/27/15
to beagl...@googlegroups.com
Ian Mellor <ianpe...@gmail.com> wrote:
> [-- multipart/alternative, encoding 7bit, 160 lines --]
>
> [-- text/plain, encoding 7bit, charset: UTF-8, 87 lines --]
>
> Hi Peter,
>
> Thanks so much for you help.
>
> Here is what I'm getting with permissions. It looks like it has execute
> permissions?
>
>
> root@beaglebone:~/usr# dir
> bin share src
> root@beaglebone:~/usr# cd bin
> root@beaglebone:~/usr/bin# dir
> eveusbc eveusbd
> root@beaglebone:~/usr/bin# ls -l
> total 0
> lrwxrwxrwx 1 root root 30 Dec 5 2014 eveusbc ->
> /opt/Eltima/eveusb/bin/eveusbc
> lrwxrwxrwx 1 root root 30 Dec 5 2014 eveusbd ->
> /opt/Eltima/eveusb/bin/eveusbd
> root@beaglebone:~/usr/bin# .eveusbc
> -bash: .eveusbc: command not found
> root@beaglebone:~/usr/bin# chmod 777 eveusbc
> chmod: cannot operate on dangling symlink `eveusbc'
> root@beaglebone:~/usr/bin#
>
>
There's your problem. eveusbc in the /usr/bin directory (which is the
file you are trying to execute) is a symlink to nowhere, i.e. the file
it's pointing at doesn't exist.

--
Chris Green
·

Reply all
Reply to author
Forward
0 new messages