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

rename compiled library: Mongoose to SuiteSparse_Mongoose #588

Merged
merged 2 commits into from
Dec 13, 2023

Conversation

DrTimothyAldenDavis
Copy link
Owner

library name change: compiled library renamed from libmongoose.so (dylib,
etc) to libsuitesparse_mongoose.so, to avoid name conflict with the
mongoose web server (https://github.com/cesanta/mongoose). That
package is in C, and its user-visible functions are all prefixed mg_*,
and an #include file of mongoose.h. This SuiteSparse/Mongoose library
is in C++, with a namespace of Mongoose::, and an #include file of
Mongoose.hpp. So the function names and include files do not conflict.
The web mongoose project does not create any *Config.cmake files, but
they might in the future, so the cmake and pkg-config files here have
been renamed from Mongoose*.cmake, etc, to SuiteSparse_Mongoose*.cmake.

@mmuetzel
Copy link
Contributor

Looks good to me. 👍

@DrTimothyAldenDavis
Copy link
Owner Author

Looks good to me. 👍

Great! I think this is a decent approach that is the least disruptive but should resolve the issue with MSYS2, and homebrew as well. Here's what brew reports about their packaging of "suite-sparse" (with a dash in the middle ... oh well). So brew could remove this conflict with SuiteSparse 7.4.0:

mac $ brew info suite-sparse
==> suite-sparse: stable 7.3.1 (bottled)
Suite of Sparse Matrix Software
https://people.engr.tamu.edu/davis/suitesparse.html
Conflicts with:
  mongoose (because suite-sparse vendors libmongoose.dylib)
/opt/homebrew/Cellar/suite-sparse/7.3.1 (209 files, 69.9MB) *
  Poured from bottle using the formulae.brew.sh API on 2023-12-06 at 19:32:03
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/s/suite-sparse.rb
License: BSD-3-Clause and LGPL-2.1-or-later and GPL-2.0-or-later and Apache-2.0 and GPL-3.0-only and (LGPL-3.0-or-later or GPL-2.0-or-later)
==> Dependencies
Build: cmake ✔
Required: metis ✔, openblas ✘
==> Analytics
install: 9,164 (30 days), 20,753 (90 days), 55,881 (365 days)
install-on-request: 3,944 (30 days), 9,029 (90 days), 24,359 (365 days)
build-error: 1 (30 days)

and for the web server:

mac $ brew info mongoose
==> mongoose: stable 7.12 (bottled)
Web server build on top of Libmongoose embedded library
https://github.com/cesanta/mongoose
Conflicts with:
  suite-sparse (because suite-sparse vendors libmongoose.dylib)
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/m/mongoose.rb
License: GPL-2.0-only
==> Dependencies
Required: openssl@3 ✘
==> Analytics
install: 67 (30 days), 241 (90 days), 853 (365 days)
install-on-request: 67 (30 days), 241 (90 days), 853 (365 days)
build-error: 0 (30 days)

@DrTimothyAldenDavis DrTimothyAldenDavis merged commit ba76e08 into dev Dec 13, 2023
23 checks passed
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

Successfully merging this pull request may close these issues.

2 participants