Install older version of protobuf via vcpkg - protobuf-c

I installed protobuf via vcpkg vcpkg install protobuf:x64-windows. Apparently it installs the latest version (3.6.1). For the project I need version<=3.5.1. Is there any way to install it using vcpkg? For now I just built 3.5.1 using cmake but project looking for protobuf using path to vcpkg and I don't really know if I'm allowed to change the code.

To have a specific version of a package in vcpkg, you need to checkout at the appropriate point in time in the vcpk repo.
Go to your git installed vcpk folder.
Identify the commit matching the version of protobuf you're looking for.
The following line color-codes the commit history to make it more
readable and pipe it with grep to identify protobuf related commits.
git log --color=always --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad)' --date=short | grep --color=never protobuf
You'll find a line like b1fea4588 - [protobuf] update to 3.5.1 (2018-01-31).
(The commit hash/message may have changed if the history has been rewritten.)
Checkout the commit of interest :
git checkout b1fea4588
Run vcpkg install protobuf
The issue of package version management is very active on vcpkg repo. Check Issue #3592

Use a new feature (June 2019): ports overlay https://github.com/microsoft/vcpkg/blob/master/docs/specifications/ports-overlay.md
Here is an example. The version of packet is hardcoded in file:
<VCPKG_ROOT>/ports/<packet_name>/CONTROL
Thus it's bound to the commit of vckpg. But you can override packet version with the following command
vcpkg --overlay-ports="/some/path/to/the_versions" install protobuf:x64-windows
The directory should contain packet specs:
/some/path/to/the_versions/protobuf/CONTROL
/some/path/to/the_versions/<packet_2_name>/CONTROL
/some/path/to/the_versions/<packet_3_name>/CONTROL
Usually, I just copy packet specs from the commit I was initially developing my project for. Hope this helps!

Related

Im having diffuclty installing Apache-age

Im follow the tutorial from https://age.apache.org/age-manual/master/intro/setup.html to install the apache-age. The first path on my $PATH variable is not the one from the pg_config so i used the make PG_CONFIG=/path/to/postgres/bin/pg_config install command and putting the pg_config path myself. But im getting this error : (https://i.stack.imgur.com/ov0G3.png)
I tried using sudo privilages but it didnt help, this seems to be a C syntax error or something like that
See with the command pg_config (or /path/to/postgres/bin/pg_config, if it's not on your $PATH) what is the version of PostgreSQL you're using.
If you're on version 12, and if you're cloning Apache AGE from Github, you must
git checkout AGE_PG12.1.0_ALPHA
before installing Apache AGE, as, like the branch name says, the support for version 12 is still in alpha state.
You are getting this error because most probably you are cloning the master branch, and I think by mistake development code was pushed to master branch.
You should use the release version's source code to install.
You might be having this problem because PostgreSQL and Apache AGE are not compatible with each other. Please follow the following to install Apache AGE from source Code.
How to install AGE extension of postgresql from source code in ubuntu?

Conda: How to install latest version of `pandoc-crossref` from Github in `conda` environment?

pandoc-crossref must match the pandoc version, and also only the 3.10.0 release works on OSX Big Sur. Thus, it is not possible to get pandoc and pandoc-crossref running in a conda environment from the official channel or from conda-forge.
I could easily download the matching binaries from https://github.com/lierdakil/pandoc-crossref/releases/tag/v0.3.10.0 and copy them e.g. to the binpath:
$ which pandoc-crossref
/usr/local/bin/pandoc-crossref
$ curl -OL https://github.com/lierdakil/pandoc-crossref/releases/download/v0.3.10.0/pandoc-crossref-macOS.tar.xz
$ tar -xzvf pandoc-crossref-macOS.tar.xz
$ mv pandoc-crossref /usr/local/bin/pandoc-crossref
But I think that is not a clean approach, because conda will not know that I updated the version for pandoc-crossref.
What is a clean approach for updating a package managed by conda from a binary available on Github?
Update Feedstock
I updated it on the Conda Forge feedstock, which is what I regard as the "cleanest" solution.
How does one do that? First, OP had posted a comment on the feedstock in the PR that they wanted merged. This was the appropriate first step and hopefully in future cases that should be sufficient to prompt maintainers to act. In this case, it was not sufficient. So, as a follow up, I chatted on the Conda Forge Gitter to point out that the feedstock had gone stale and had non-responding maintainer(s). One of the core Conda Forge members suggested I make a PR bumping the version and adding myself as maintainer, and they merged it for me. In all, this took about 10 mins of work and ~2 hours from start to having an updated package on Anaconda Cloud.
Custom Conda Build
Otherwise, there isn't really a clean solution for non-Python packages outside of building a Conda package. That is, clone the feedstock or write a new recipe, modify it to build from the GitHub reference, then install that build into your environment. It may also be worth uploading to an Anaconda Cloud user account, so there is some non-local reference for it.
Pip Install (Python Packages Only)
In the special case that it is a Python package, one could dump the environment to YAML, edit to install the package through pip, then recreate the environment.

Where do I find the latest versions of skulpt.min.js and skulpt-stdlib.js from GitHub?

I am looking for the latest versions of skulpt.min.js and skulpt-stdlib.js for my website. I am new to GitHub, and asked them. They said to make a new release. So I did. And I can't find the files I am looking for. Where could I find the latest releases?
The latest version of skulpt.js and skulpt-stdlib.js are now provided through bower, which is a package manager that keeps track of your packages and makes sure they're up to date.
Bower can be installed with npm running the command
npm install -g bower
From there you can get skult.js by running this command
bower install skulpt
If you don't want to use Bower, you can download it from here
Or you can get it as .zip or .tar.gz
Here: https://github.com/skulpt/skulpt/releases/tag/0.10.0
Look in the Downloads section. Here's the link: https://github.com/skulpt/skulpt/archive/0.10.0.zip
Note you'll have to build the project to get the .js files. See this https://github.com/skulpt/skulpt#building-skulpt for details.

Error on Yum update

I'm unfortunately not very experienced in CentOS administration, and was hoping someone might be able to help me understand and get past a small hurdle. I was hoping to run yum update on the system, but ran into some Transaction Check Errors:
file /etc/php.ini from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/curl.so from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/fileinfo.so from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/phar.so from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/pdo.so from install of php55-pdo-5.5.11-1.el6.x86_64 conflicts with file from package php-pdo-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/pdo_sqlite.so from install of php55-pdo-5.5.11-1.el6.x86_64 conflicts with file from package php-pdo-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/sqlite3.so from install of php55-pdo-5.5.11-1.el6.x86_64 conflicts with file from package php-pdo-5.3.3-40.el6_6.x86_64
It sort of looks like it's saying that some newer version files are conflicting with older version files. Is there a standard way to fix this? I was mainly just trying to update so that I could install Java later, but wasn't expecting to run into these errors. If it helps, the server is mainly being used for hosting a few websites with apache and mysql. Thanks so much for any help, it's greatly appreciated.
Edit: To add some more clarification, I had previously edited the baseurl variable in the /etc/yum.repos.d/centalt.repo file, which was originally set to
baseurl=centos.alt.ru/repository/centos/6/$basearch
The reason I changed the location was because I was previously getting an error when trying to run yum update, mentioned in this other stackoverflow question https://unix.stackexchange.com/questions/132674/repository-metadata-repomd-xml-for-repository-mratwork-centalt which had an answer recommending replacing the URL with
baseurl=mirror.sysadminguide.net/centalt/repository/centos/6/$basearch
Is there a different url I should be using instead?
You have a non-official repository which provides the php55-* packages which conflict with the official php-* packages.
You currently have the php-* versions installed.
If you want to switch you can try manually installing the matching php55-* package for every php-* package you have installed in one yum command (though that may not work).
If it doesn't, you might need to remove all the php packages you have installed first and then install the php55 versions after that.

Upgrade to msysgit 1.7.0.2?

I know this question is probably stoopid. But I just don't want to cause any hickups with my work system (Win7).
How do I upgrade the software? Do I just replace the existing version or do I need to remove the one I'm having and then install the new version?
I tried to find some info on the net but did not find any info on upgrading.
MsysGit uses a proper installer so you can just download and run the installer for the new version.
The code base distinguishes between "Git for Windows" which is simply the runnable application. This will install with a proper installer, or there is a portable version as well. downloads list
There is then the MsysGit which has the full source code so that you can contribute to the project, or at least try your own local fixes and recompile a local release etc. MSysGit:InstallMSysGit