Compilation Failure Ubuntu 23.04

  • 5 Replies
  • 3041 Views
Compilation Failure Ubuntu 23.04
« on: July 27, 2023, 04:15:12 PM »
My compilation is failing at this step every time, I've tried this on 3 different computers (Ubuntu 23.04) , same error on all of them.
Python version is 3.9.5,  this is the software version I am using https://gitlab.com/scopefun/scopefun-software/-/tags/Release_v2.2.0 , I am following the build instructions inside this package.

This is the error -

[  3%] Built target libUsb
[  7%] Built target wxWidgets305
[ 73%] Built target SDL2-static
[ 74%] Linking CXX executable scopefun
/usr/bin/ld: ../lib/SDL2-2.0.12/libSDL2.a(SDL_waylandvideo.c.o): undefined reference to symbol 'wl_proxy_marshal_flags'
/usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [source/CMakeFiles/ScopeFun.dir/build.make:1076: source/scopefun] Error 1
make[1]: *** [CMakeFiles/Makefile2:286: source/CMakeFiles/ScopeFun.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

*

Dejan

  • *****
  • 150
    • View Profile
Re: Compilation Failure Ubuntu 23.04
« Reply #1 on: July 31, 2023, 08:55:12 AM »
Hi,

it seems the issue is related to the Ubuntu 23.04 and SDL2-2.0.12, however I'm not sure about the exact reason.

I am currently working on updating the scopefun repository with newer libraries, including SDL2. The latest version from the repository should already compile fine on Ubuntu. Could you try to compile the latest scopefun version by cloning from the current develop branch from GitLab?
git clone --branch develop https://gitlab.com/scopefun/scopefun-software.git
 
If you want to change only the SDL2 sources in Release_v2.2.0, you should download SDL2 latest release-2.28.1  and replace the SDL2 files in the "scopefun-software/lib/SDL2-2.0.12" folder.

Let me know any of the above helps.

Re: Compilation Failure Ubuntu 23.04
« Reply #2 on: July 31, 2023, 05:59:30 PM »
Thanks for the reply.
I am new to scopefun and trying to get the hang of it, I do have one scopefun from crow supply and I am trying to see if it is a viable option for future projects for my company. I will try to build the dev branch in Ubuntu 23 and I'll post the outcome here. I was able to compile it on Ubuntu 20 . I am not sure how to use the python API, the instructions are not very clear in the docs. I have 'test.py'  file inside my scopefun-software /bin/script dir but I am not sure where the scopefun module is located. I can see a 'scopefun' module in scopefun-software/source/ , is that the correct module? I tried pasting the test.py from scopefun-software /bin/script  to scopefun-software/source/ and I tried to run it but was unsuccessful, is there anything I am doing wrong? I am trying to make a PySide6 GUI application (python3.9,10)  for scopefun.

Re: Compilation Failure Ubuntu 23.04
« Reply #3 on: August 01, 2023, 04:14:04 PM »
Hi,
I am having a similar issue to OP. I'm not exactly sure which branch I should build and the instructions are unclear as well. I ran into issues with stable release's instructions and had the same issue where I couldn't find the module in /bin/script. Any info would be great, thank you.

*

Dejan

  • *****
  • 150
    • View Profile
Re: Compilation Failure Ubuntu 23.04
« Reply #4 on: August 01, 2023, 05:29:35 PM »
Hi.

Please follow instructions from the wiki: https://gitlab.com/scopefun/scopefun-software/-/wikis/Developers-Guide/Building-software-from-source

These instructions are for building the latest software version (GUI and Python API).
« Last Edit: October 11, 2023, 11:18:31 AM by Dejan »

*

Dejan

  • *****
  • 150
    • View Profile
Re: Compilation Failure Ubuntu 23.04
« Reply #5 on: August 02, 2023, 08:20:15 AM »
Regarding the Python module, it will be found in the "build/source" folder after successful compilation of the software. The name of the module indicates the Python version for which it was built for. For example: scopefun.cpython-310-x86_64-linux-gnu.so is for Python version 3.10. The module must be located in the same folder from which the python script will be run.

More information about using the API is available in Python API Wiki.
« Last Edit: August 07, 2023, 06:57:20 AM by Dejan »