Page 1 of 1

Linux tool vfctrl_usb build error, no xscope_endpoint.so

Posted: Wed Jun 17, 2020 1:03 pm
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

Re: Linux tool vfctrl_usb build error, no xscope_endpoint.so

Posted: Fri Jun 19, 2020 12:52 pm
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.

Re: Linux tool vfctrl_usb build error, no xscope_endpoint.so

Posted: Fri Jun 19, 2020 6:03 pm
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.

Re: Linux tool vfctrl_usb build error, no xscope_endpoint.so

Posted: Mon Jun 29, 2020 11:13 am
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?

Re: Linux tool vfctrl_usb build error, no xscope_endpoint.so

Posted: Wed Jul 01, 2020 4:50 am
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.