Linux tool vfctrl_usb build error, no xscope_endpoint.so

Technical questions regarding the XTC tools and programming with XMOS.
Post Reply
nestor_lee
Member
Posts: 13
Joined: Tue Nov 26, 2019 11:27 am

Linux tool vfctrl_usb build error, no xscope_endpoint.so

Post by nestor_lee »

Hi Team,

We have a customer designing an array microphone for conference.
The CPU platform runs Android, and uses a USB cable to connect to the XVF3000 array-mic board.
Customer needs to read the DOA angle frequently, to get the direction of the speaker, so they can switch the camera to the right person in a remote video conference.
We've tried vfctrl_usb.exe tool in Windows, and use DOAANGLE parameter, customer can read the DOA angle without issue.
Now we need to build a tool in Android to do this job. And to build a Linux tool in /sw_vocalfusion-[sw]_1.1.2rc5/lib_xbeclear/lib_xbeclear/host/control seems a good starting point.
However, we encountered some errors, saying that no xscope_endpoint.so found.
Please advise if there's a file missing or we can modify the makefile to work this out.
Thanks.

Error messages as follows:

/work/sw_vocalfusion-[sw]_1.1.2rc5/lib_xbeclear/lib_xbeclear/host/control$ make Makefile.Linux64 all
make: 'Makefile.Linux64' is up to date.
make -f Makefile.Linux64 all
make[1]: Entering directory '/home/dell/work/sw_vocalfusion-[sw]_1.1.2rc5/lib_xbeclear/lib_xbeclear/host/control'
mkdir -p bin
cd src ; gcc -std=c99 -D_GNU_SOURCE -Wall -g -D HOST_APP -o ../bin/vfctrl_xscope \
-DUSE_XSCOPE=1 \
../../../../../lib_device_control/lib_device_control/host/device_access_xscope.c \
-DBECLEAR_HOST=1 -I ../../../../../lib_device_control/lib_device_control/api -I ../../../../../lib_device_control/lib_device_control/src -I ../../../../../lib_device_control/lib_device_control/host -I ../../../../../sw_vocalfusion/module_vocalfusion/include -I ../../../../lib_xbeclear/inc/xmos -I ../../../../lib_xbeclear/api -I /opt/local/include ../../../../../lib_device_control/lib_device_control/host/util.c host.c -lm -lpthread -lreadline \
-I /include \
/lib/xscope_endpoint.so
gcc: error: /lib/xscope_endpoint.so: No such file or directory.
Makefile.Linux64:45: recipe for target 'vfctrl_xscope' failed
make[1]: *** [vfctrl_xscope] Error 1
make[1]: Leaving directory '/home/dell/work/sw_vocalfusion-[sw]_1.1.2rc5/lib_xbeclear/lib_xbeclear/host/control'
Makefile:30: recipe for target 'all' failed
make: *** [all] Error 2


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi. I think this file is supplied by XMOS as it is being referenced by other projects found through Google searches.

However, suspecting that the file folder path is in error.

Check if you indeed have a folder named lib off the root folder. If yes, then enter this folder and confirm if this file exists or not.

Use any file manager tool on Linux for this.

Also recommend to search using a similar tool for the xscope_endpoint.so file itself. Does it exist? Where is it on your drive.

Summary, believe the file is not being found by the supplied path.

If you search on Google for xscope_endpoint.so you can view how other projects reference the same including AN00152 which is relevant topic for your project.
Please post your results.
bugman
Newbie
Posts: 1
Joined: Fri Jun 19, 2020 5:59 pm

Post by bugman »

I had the same problem recently. The file is only needed for control via xscope, for usb only just use make Makefile.Linux64 vfctrl_usb and it should build just fine.
nestor_lee
Member
Posts: 13
Joined: Tue Nov 26, 2019 11:27 am

Post by nestor_lee »

bugman wrote: Fri Jun 19, 2020 6:03 pm I had the same problem recently. The file is only needed for control via xscope, for usb only just use make Makefile.Linux64 vfctrl_usb and it should build just fine.
YES. I tried make -f Makefile.Linux64 vfctrl_usb, and it can successfully build a application that runs.
Thanks.

However, the embedded CPU platform runs a 32-bit linux.
Can anyone tell me where could I modify the make file to build a 32-bit linux tool?
nestor_lee
Member
Posts: 13
Joined: Tue Nov 26, 2019 11:27 am

Post by nestor_lee »

I used Makefile.Pi as template, and made changes to the libusb path as follows:

vfctrl_usb:
mkdir -p bin
cd src ; gcc -std=c99 -D_GNU_SOURCE -Wall -g -D HOST_APP -o ../bin/vfctrl_usb \
-I ../libusb/Linux32 \
$(LIB_DEVICE_CONTROL)/lib_device_control/host/device_access_usb.c \
-lusb-1.0 \
-D USE_USB=1 \
$(COMMON)

The compiled app does not run correctly.
Can anyone help on this 32-bit Linux tool makefile?
Thanks.
Post Reply