Please let me know if there's a better place to ask this question. I'm new to the field and know absolutely nothing.
I'm trying to configure quantum espresso with libxc, and no matter what I do I seem to get the same error: 'configure: error: Could not find required libxc library'. I downloaded the libxc source and followed the installation instructions on this website: https://tddft.org/programs/libxc/. I can't seem to find any errors in the installation but I really have no idea what I'm doing so it's possible.
Configuring quantum espresso with the './configure' command and then making PW, everything works fine and I can use quantum espresso just find without the libxc library. Adding the --with-libxc flag, no matter what I put for --with-libxc-prefix flag, I always get the same error pictured below.
I'm working through ssh on my research group's supercomputer. This is my first time using a unix interface, I know nothing about compilers or anything like that, I have absolutely no idea how to solve this problem, I can't seem to find any solutions that work on the quantum espresso forums, and I feel extremely stuck. Any help is appreciated.
One needs to compile both programs with the same compiler. My default was using gfortran for one and ifort for the other.
A good place to ask these kinds of questions is to the mailing list listed here: https://www.quantum-espresso.org/users-forum/
Related
I've never compiled a single kernel module. I would like to understand how to change the source of a kernel module, compile and install it on Debian SO.
Can someone illustrate the steps or tell me a tutorial about it?
Thank you and everyone.
This question is a bit confusing since a .ko file represents a kernel object. In other words, it has already been compiled.
To edit the module you would need the source code, most likely tun.c and some related files.
StackOverflow is more meant for specific questions to be answered, not a tutorial site. Please do some research about Linux modules and make an attempt to install the module yourself. Some good sites for beginners:
kernel.org
https://www.oreilly.com/library/view/linux-device-drivers/0596005903/
http://derekmolloy.ie/writing-a-linux-kernel-module-part-1-introduction/
The last of these is the least comprehensive, but quickest to get you up and running. Once you get to the point where you have detailed questions, post them here and you will get better help.
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.
So I have been attempting to incorporate the ability to both fetch and clone repo's using rugged. I have tried the following
repo.fetch("origin")
and this
remote = Rugged::Remote.lookup(repo, remote_name)
remote.connect(:fetch)
also this
subject.clone(url, local_path)
All of these return with the error
Rugged::NetworkError:
This transport isn't implemented. Sorry
Now, ordinarily, I would take the error as it not being implemented yet. However, having seen questions asked like this, and this. I question the accuracy of that error.
I have ensured that libgit2 and libssh2 are both installed on the my local system running this code.
I have also looked through the source attempting to find where this error is generated, and was unable to locate it. To me, this does not make sense, since the error is not as descriptive to point to specifically where it is failing.
My question is, is this intended behavior? I would think it is not, based on the questions and answers I found regarding this. In which case, does someone know if this is a common issue? Any help is appreciated.
so I discovered the issue, in that that libgit2 and libssh2 where not properly linking at installation of rugged using bundler. I was pointed in this general direction by this answer.
By running the following command
bundle install --path bundle/
The conflict was resolved.
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.
I have been trying to get the example sky-shell to build and am failing at it.
I have tried in contiki-2.6 and contiki-2.7. I had thought that it's possibly the compiler itself being inefficient or something so when trying in contiki-2.7 I made sure to try msp430-4.5.3, 4.6.3 and 4.7.0 (using the answer to this forum question to switch mspgcc versions: https://askubuntu.com/questions/187253/how-to-update-a-package-from-command-line-gcc-compiler).
None of this seemed to help. I also tried compiling with "SMALL=0" but this seemed to only increase the overflow.
I then tried commenting out any code in sky-upload.c (such as shell_netfile_init(), shell_rim_init() and shell_rim_netcmd_init()). This seemed to reduce the compilation enough so that it would get past the overflow in compilation, but now it says that it has missing references in function vuprintf to __udivmodsi4. I tried researching this issue and it seems that I may somehow be using a different version of gcc for part of the compilation than what I currently think (forum post here: http://sourceforge.net/p/mspgcc/mailman/mspgcc-users/thread/D45E6EE7-2771-41EC-9999-F773C6B22AA4#imag.fr/)
I feel like the example should work with none of the above mentioned init() calls commented out. It also seems that to ultimately get the example to work as intended (i.e. send ELF files over the air to a mote and then load them) I can't have the above mentioned init() calls commented out and may need even more code on top of what is provided in the example.
I realize that there are two main questions here and typically a post only deals with one at a time, but since they are muddled together I thought it best to post both issues (the overflow and the missing references).
Does anyone know what may be going wrong here? I am a novice when it comes to all things contiki so please add extra explanation wherever possible :).
Thanks