-
Notifications
You must be signed in to change notification settings - Fork 64
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
Investigate static linking and/or support other binary distributions. #96
Comments
#129 comby is now distributed under homebrew for Mac OS X |
The same problem with Fedora 31. $ comby
comby: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory
$ sudo dnf provides "/usr/lib64/libpcre.so*"
Last metadata expiration check: 0:02:46 ago on Tue 21 Jan 2020 07:32:56 AM +03.
pcre-8.43-2.fc31.1.x86_64 : Perl-compatible regular expression library
Repo : @System
Matched from:
Filename : /usr/lib64/libpcre.so.1
Filename : /usr/lib64/libpcre.so.1.2.11
pcre-8.43-2.fc31.1.x86_64 : Perl-compatible regular expression library
Repo : fedora
Matched from:
Filename : /usr/lib64/libpcre.so.1
Filename : /usr/lib64/libpcre.so.1.2.11
pcre-devel-8.43-2.fc31.1.x86_64 : Development files for pcre
Repo : fedora
Matched from:
Filename : /usr/lib64/libpcre.so |
Appreciate the note. My plan is to release a cross platform implementation in Javascript through |
Docker image works for initial example.
|
I just ran into this. I am glad that Hombrew works, however, having to install 400+mb of Homebrew for a small library is less than ideal. I'm hoping for a static build in the future. :) |
Is that done? |
Long time unix sysop here. Besides doing a static link which may be problematic to some build/link environments it often is possible to set dynamic library pathes. So it may be possible to bundle a SHARED pcre library and just call comby via a shell script wrapper that sets those path(es). I remember some support for alternative pathes inside the binary but don't remember if that includes relative pathes. |
@PapyElGringo I haven't packaged a JS lib on
Interesting, are there examples of other projects that use this? If it can be done robustly, that might be a nice idea. |
I don't know if some project uses this. The idea is as follow:
|
Note that we recently had a similar linking problem with PCRE in semgrep, and a solution a colleague found was to |
Just as a heads up, I installed Comby on Fedora 35 Workstation with the curl | bash method and it also complained about not finding libcpre3. Apparently Fedora doesn't link libpcre3 with the version number in /lib64 so I fixed it by replacing the name of the library from
I'm not very familiar with how this works on the build side but maybe |
I've managed to implement (almost fully) statically linked comby via Nix. I've included muslc and glibc targets. Going to tidy it up a bit yet, and it may not ever get merged in that repo, but someone may find some inspiration from it. I saw some mention of ppx using glibc:
musl:
|
Dynamic linking against PCRE in the binary distributions is not great. This issue tracks alternative solutions.
The text was updated successfully, but these errors were encountered: