glibc-2.15 cannot remove `/var/db/Makefile' - gcc

When trying to install glibc-2.15 on Centos-5(Kernel version 2.6.18-238.9.1.el5, gcc-4.6.3), make install step fails with the error message cannot remove/var/db/Makefile'`
The configure command is /data1/downloads/gcc/utils/glibc-2.15/configure --prefix=/data1/downloads/gcc/utils/binutils
glibc-2.16+ solves this problem but I'm restricted by the kernel version. To fix this problem I made changes to glibc-2.15/(config*in|Makeconfig) as mentioned in http://sourceware.org/ml/libc-alpha/2012-06/msg00632.html but this results in configure error(caught signal 2).
Any pointers to help resolve the issue is much appreciated.

Newer Glibc should work with older kernels, shouldn't it? It just disables the optional features. Of course, that probably only goes so far ....
Anyway, the magic build option will be something like this:
/path/to/source/configure --enable-kernel=2.6.18 ...blah..

Related

Inconsistent internal package errors with go get

I'm trying to go get go.etcd.io/etcd/tools/benchmark.
Previously this has worked, flawlessly. However when I try to do it currently I have alternatively got no errors and I've had it fail on me with:
go/src/go.etcd.io/etcd/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:28:2: use of internal package google.golang.org/grpc/internal/buffer not allowed
go/src/go.etcd.io/etcd/vendor/google.golang.org/grpc/clientconn.go:49:2: use of internal package google.golang.org/grpc/internal/resolver/dns not allowed
go/src/go.etcd.io/etcd/vendor/google.golang.org/grpc/clientconn.go:50:2: use of internal package google.golang.org/grpc/internal/resolver/passthrough not allowed
The first time I ran it on a new go-1.13 installation it worked, but the following times it has failed as above.
The repo has not changed as far as I can tell in the past 8 months and I've tried on various golang versions but all so far have failed (bar the go-1.13 on that first try...).
Any assistance debugging this would be greatly appreciated!
I have both a workaround and an official fix.
The workaround:
Here I defined a go.mod which then used a previous version of the library.
The official fix:
This was fixed upstream and thus no one else should experience this.
I guess you can try by removing vendor folder from the go.etcd.io/etcd repo. Also disable the vendoring mode. It should work.

Installing caffe brings up some questions, depending libraries and versions

I wanted to install caffe on openSuse.
Just for the record - it worked out for me, I just don't know what's the "exact" way to do this. The things I did maybe aren't really for someone who's new to this, and also it was kind of a "bad installation". My way was the following:
First, I did
make all
This worked, until it complained that some libraries weren't found (libclbas etc.). So I used
ccmake .
to change the paths to the libraries manually. I needed to manually type the paths to the snappy, boost_python, blas, cblas and lapack libs. After doing that I did
cmake .
and then
make
and everything worked. My problem now is - why doesn't make find the libs, and is there a way to fix this? I think the problem was that I didn't have /usr/lib/libcblas.so but /usr/lib/libcblas.so.3, and similar "problems" with the other libraries.
Another thing - when I tried using ccmake/cmake right from the beginning (without the make part first), there weren't any files in my build directory (like $CAFFE_ROOT/build/examples or $CAFFE_ROOT/build/tools were empty), so the mnist tutorial for example wasn't working. That's why I first called
make all
, what may seem strange to you.
Of course I know how to fix this stuff, but I would like to know how the correct way for a "clean and simple installation" is. Did is miss anything when using make/cmake, is this some kind of inconsistency in caffe or something else? And, what is the clean way to do this?
Maybe look at the Ubuntu installation guide? http://caffe.berkeleyvision.org/install_apt.html
It mentions all the different packages you might need. I couldn't find openSuse installation instructions - but you should be able to translate the apt-get commands for your platform.

Dependency solution when make/compile error from source code

Very often we need to install software from its source code. Most of the time I just hit "make world" or "make all" then it will work like a charm. But some other time we see make errors, and we need to install other packages in order to let the make go through. This is particularly a problem for compiling low-level systems, such as a Linux kernel or Xen hypervisor.
I have one experience with Xen 3.4. Maybe it has been documented in some corner documents, but it depends on udev-125 to work properly. The weird thing is it functions well most of the time when udev version is 160+, it only breaks in certain cases! It took me a few MONTHS to find out it was because of the wrong udev version!
To make developers' life easier, when a source code is made successfully in one machine, is there some tools to record the list of packages and versions of that machine? Such a 'snapshot' should be shipped with the source code as well, so that when someone meets the make error they at least have a successful 'snapshot' for reference.
Is there such a tool already?
If your software depends on a specific version of a dependency, you should write a check for your configure script/cmakefile/etc. that tests the version of the dependency and bails out if the wrong version was found.
Comparing the output of config.log (a file created by a configure script) can also help diagnose problems like you encountered.

How to upgrade a package in Mathematica?

If I have a package installed, that has built-in documentation, and I want to install an updated version of the same package, is it safe just to erase the old version folder?
Last time I tried, I got some error messages on the documentation, but never understood if the problem came from this fact. Is there an “uninstall package” procedure?
Thank you,
Pedro
If the package has an installer, you should see if it has a corresponding uninstall mode. Otherwise, simple deletion should be safe.
If you do run into any errors, feel free to update your question.

Using make with msysgit

I'm using msysgit on Windows 7, but it doesn't seem to come with make. Is there an easy way to get make running on msysgit?
I found a link to make.exe in the msysgit Google code issues section. I downloaded it and put it in Git\bin and it works perfectly.
Suprisingly, by using MSYS itself, or MinGW if you need the GCC compiler - see http://www.mingw.org or better http://tdragon.net/recentgcc.
did you try the netinstall ? It does come with make.
I'm going to guess that the msys.bat and initialize.sh step still needed to be performed.
The 'Full installer' isn't. It only gets you a minimum, and you then have to get it to do the remaining download - see MSysGit:InstallMSysGit. I just updated the wiki to highlight the steps I'd missed!
The Net Installer is a much better option as it is able to run through almost all the steps for you, downloading and compiling the latest version automatically. Once you have done so, have a look for the various release.sh files.
It can be a nervous first step choosing the right course of action - I'm only a few steps ahead, and still cautious.

Resources