Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.8.10-20230514 breaks Mageia build #398

Closed
barjac opened this issue May 21, 2023 · 14 comments
Closed

1.8.10-20230514 breaks Mageia build #398

barjac opened this issue May 21, 2023 · 14 comments

Comments

@barjac
Copy link

barjac commented May 21, 2023

This version and later tries to clone sioclient repository during the build.

External downloads are not allowed during the build process under any
circumstances and the build system does not allow external web access
for this reason.

I can see nothing about this extra new dependency in the release notes, nor
can I see this packaged anywhere else.

Is this 'really' required or is it optional?

If it is required then I will probably have to package it.

Any thoughts?

Cheers,
Barry
(freedv, codec2, lpcnetfreedv and hamlib package maintainer for Mageia)

@Tyrbiter
Copy link

It's for the WIP from #390

Currently this is built as a static library in the freedv binary, at least it is on Fedora.

I don't know what @tmiw is intending finally, but currently the sioclient code from github doesn't seem to be packaged for (m)any distros so it's not been built as a shared library.

@tmiw
Copy link
Collaborator

tmiw commented May 21, 2023

It's for the WIP from #390

Currently this is built as a static library in the freedv binary, at least it is on Fedora.

I don't know what @tmiw is intending finally, but currently the sioclient code from github doesn't seem to be packaged for (m)any distros so it's not been built as a shared library.

Yeah, sioclient is needed to enable FreeDV Reporter reporting functionality. The current cmake build stuff to include it forces it to build even if it does exist but I can add similar logic to what we do for Hamlib to allow linking an external version.

@tmiw
Copy link
Collaborator

tmiw commented May 21, 2023

@barjac, pull 8c3c229 down and let me know if that helps. Seems to build on macOS at least.

@Tyrbiter
Copy link

I've just pulled this and rebuilt it on Fedora, seems to run OK and I am showing up on the freedv reporter page.

@barjac
Copy link
Author

barjac commented May 22, 2023

I just put a rough and ready package of sioclient together and tested a build of 8c3c229 against it.
-- Looking for sioclient...
-- Socket.io library: /usr/lib64/libsioclient.so
-- Socket.io headers: /usr/include
-- Socket.io library found.

then later...
-- Build type will be: RelWithDebInfo
-- package name = 10-devel-2023-05-22
-- Configuring done (2.3s)
CMake Error at src/reporting/CMakeLists.txt:9 (add_dependencies):
The dependency target "sioclient" of target "fdv_reporting" does not exist.

I'm pushed for time to dig deeper now, but will look again this evening.

@barjac
Copy link
Author

barjac commented May 22, 2023

By removing /src/fdv_reporting/CMakeLists.txt line 9 it builds fine using my packaged sioclient.
Been on the air, had a QSO and my call etc. appeared in FreeDV Reporter - nice!

@tmiw
Copy link
Collaborator

tmiw commented May 22, 2023

By removing /src/fdv_reporting/CMakeLists.txt line 9 it builds fine using my packaged sioclient. Been on the air, had a QSO and my call etc. appeared in FreeDV Reporter - nice!

Try syncing to 7cc1ed7. That should include a change similar to the one you mentioned (the line in question still has to be included but only if the build has to download and build sioclient itself).

@barjac
Copy link
Author

barjac commented May 22, 2023

Perfect!
Many thanks :)

@barjac barjac closed this as completed May 22, 2023
@barjac
Copy link
Author

barjac commented May 22, 2023

@Tyrbiter what package name did you/Fedora use for sioclient? I will push my package to Mageia but we may as well use the same package name!
Temporarily I have used socketio-client-cpp, but it seems a bit over long.
Maybe sioclient-cpp?

@Tyrbiter
Copy link

Tyrbiter commented May 22, 2023

I currently have the sioclient building as a static library linked in to the freedv binary, but if it gets built as a shared object it is called libsioclient.so.[ver] so I would think libsioclient would be a sensible package name.

I have not seen any other distros with this package, you may be starting a trend.

@barjac
Copy link
Author

barjac commented May 23, 2023

Yes libsioclient does make more sense - thanks :)

@barjac
Copy link
Author

barjac commented May 23, 2023

It seems that libsioclient-3.1.0 is old and the current git master is needed to build freedv-1.8.10 without failure.
I used git master for the initial package testing with its bundled 3rd party libs. These are omitted from the 3.1.0 tarball.
I am currently using upstream master with the 3rd party libs removed and replaced with official packages.
With this, freedv builds OK and runs fine.

@tmiw
Copy link
Collaborator

tmiw commented May 24, 2023

I have not seen any other distros with this package, you may be starting a trend.

Looks like there's a PR open to add Debian support: socketio/socket.io-client-cpp#346

@barjac
Copy link
Author

barjac commented May 25, 2023

I just pushed it to Mageia Cauldron (soon to be Mageia 9).
http://svnweb.mageia.org/packages/cauldron/libsioclient/current/
FreeDV -1.8.10 builds against it with no issues.
Gave it version 3.1.0.1 as I don't know what the next version will be.
It's built from current git master (b10474e).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants