-
Notifications
You must be signed in to change notification settings - Fork 468
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
[Bug]: Please avoid hardcoding brewisms, it is prone to failure and may create a mess with the installation #3373
Comments
This should be fixed now. The following packages are now being built from sources by CodeLite:
CodeLite no longer expects you to have Please re-open this if you are facing more brew related issues (I tried this on 2 computers) |
@eranif Thank you for responding! Could you please provide an option to use pre-installed libraries? What I meant initially is that forcing a particular package manager onto a user is undesirable, but provided package manager is used already, using existing libs makes a build faster, consumes less disk space and, importantly, may be strictly required in cases where default build of some dependency fails. I tried now to run the build as-is, with bundled libs, and it failed on OpenSSL (and that is on Sonoma, not an exotic legacy system):
At the same time OpenSSL installs via MacPorts with no errors. I do not need anything in the upstream code to specifically call MacPorts, that will be wrong, but there are canonical ways to prefer pre-installed dependencies if those are found, and if not, then build and install bundled ones. CMake has everything needed for this. I am sure if I try building with all dependencies bundled on a less mainstream platforms, things will be broken further. I have a PowerMac here :) UPD. Ah, here it conflicts with pre-installed OpenSSL. This is solvable, but the point about an option is still relevant. |
@eranif I am afraid this option is restricted to members (?). I do not see an option to re-open the issue. |
I wonder why it "sees" the installed OpenSSL, it shouldn't have. The good news is that with the latest change, it should be easy to allow the user to specify the path to an existing libraries. FYI: I too am using Sonoma (14) on ARM M2 |
This error looks like that the file |
No idea, tbh, I did not specify
This is awesome! Thank you, I will try it. |
Could you please and try building it without CodeLite? (mainly, to understand the root cause of this) cd codelite-src/submodules/openssl-cmake/
mkdir build-release
cd $_
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(sysctl -n hw.physicalcpu) |
QQ: I see that libssh provides I was planning on adding: cmake .. -DWITH_LIBSSH=/opt/homebrew (Replace |
Is it As long as there is some reasonable way to point the build system to the needed libraries, all is good. P. S. Since some libraries may be installed in a custom way (to allow co-existing versions, for example), it is helpful to be able to specify includes and libs separately. But normally CMake can handle that via canonical arguments. |
No, I am using libssh (without the 2). On my mac using brew, there is no FindLibSSH.cmake file, only the one I mentioned above |
Manually it works, at least on Sonoma:
(PowerPC is busy compiling other stuff.) |
@eranif So it is the same with MacPorts here. |
What happened?
CMakeLists hardcode a random third-party package manager as the requirement for macOS. This is wrong:
codelite/CMakeLists.txt
Lines 165 to 173 in 801b86f
There is no conceivable reason why Homebrew (or any package manager at all) should be required. All needed software can be compiled directly, if desired.
It is also a bad advice to give unconditionally: for a general user is it preferable to use a package manager which is already used. Nothing checks for that or allows to configure it manually. Someone using MacPorts or Fink may mess everything up by installing random packages from Homebrew (as well as the other way round). There is no reason to assume a potential user has
brew
(orport
) at all: these are not components of the OS or Xcode tools.Version
Self compiled
Operating system
macOS
Steps to reproduce
Relevant log output
The text was updated successfully, but these errors were encountered: