Linux, Web Development

Making npm Work on a Cifs/Windows Share

npm install --no-bin-links

This is since on a cifs partition npm will actually bail out with chmod when trying to set symlinks for the modules that it cannot due to you using a Windows share, since Windows has no concept of symlinks.


/etc/network/if-up.d/upstart: 38: cannot create /run/network/ifup.eth0: Directory nonexistent run-parts: /etc/network/if-up.d/upstart exited with return code 2 …done.

I got this error today after an upgrade and Google searched a lot. Turns out some one had encountered this error and had got the perfect fix on Nemethge’s Blog

I am not sure exactly why this works but it seems like just symlinking your /var/run with your /run seems to do the trick. Anyway, you have him to thank for coming up with this solution. I can safely say it works (just tried it now). I have quoted the solution below just in case of dead link.

Note: This also solved the problem of my network settings not being found and Ubuntu waiting 60 secs before loading. So if your getting this problem then it could be related to the solution below however I have the same network problem on another network and that install of Ubuntu can find its network at startup despite the error message (can login remotely without having to restart the network for one). So this solution may not solve every case you get the network error message but it will in some cases.

It seems the move from /var/run to /run did not work during the upgrade process.

I fixed with this:

cd /var
mv run _run
ln -s /run .


E: Could not perform immediate configuration on ‘util-linux’. Please see man 5 apt

I stole this from the Ubuntu forums (haven’t got link anymore since I just pasted it here very quickly for reference):

I ran into this problem myself, and I’ve seen that others have had the same problem when updating from Karmic to Lucid via apt-get. There is a bug in apt for Lucid, and it has been noted on one of the Ubuntu lists (sorry, I lost the link.)

This is a simple how-to and a work-around to the upgrading with apt-get:

1) Update your sources.list file to replace all instances of ‘karmic” to ‘lucid’ :

$ sudo sed -i ‘s/karmic/lucid/g’ /etc/apt/sources.list

2) Run apt-get update:

$ sudo apt-get update

3) Run a regular upgrade;

$ sudo apt-get upgrade -y

Here is where the problem comes in. Apt is looking for the util-linux package, which is part of upstart-job, but someone apparenlty forgot to write the code to tell apt-about this (whoops!)

So, you now need to install upstart-job by itself. By skipping this step you will get the error message when you try to run step 5: “E: Could not perform immediate configuration on ‘util-linux’.Please see man 5 apt”

4) $ sudo apt-get install upstart-job

5) Now you can run apt-get dist-upgrade:

$ sudo apt-get dist-upgrade -y

Hope this helps out anyone who got stuck.

Linux, Windows

Cifs cannot allocate memory (-12) producing Windows Srv Error 2017 ((12)Cannot allocate memory: file permissions deny server access:)

Note: This problem can sometimes be resolved with restarting the srv process in Windows, you may need to restart the virtual machine’s own network as well. You can restart Windows’ srv process with:

net restart srv

After this, you can either try a remount or a restart of the virtual machine to see if that solves your problem.

If this does not solve your problem then another blogger found a method for the more stubborn of computers here: Windows 7 Nonpaged Pool Srv Error 2017

Below is the quotation of the solution from the article. Please note that HKLM actually means HKEY_LOCAL_MACHINE.

Set the following registry key to ’1′:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache

and set the following registry key to ’3′:


After making these changes and restarting, I haven’t seen this issue arise again. Fixed!


Patching Wine from Source

Not many people seem to know this, however, it is relatively easy once you get the hang of it. Imagine you have just downloaded a patch (.diff/.patch) for Wine and don’t have a clue where to start with patching Wine yourself. This tutorial will teach you how to do exactly that.

I will be using this wine tutorial with some additional little tips and tricks to deliver a complete and thorough tutorial.

Now if you are doing this for the first time you will need to follow this initial step. Punch this into terminal and run it:

sudo apt-get build-dep wine //gets the dependencies required to compile wine
sudo apt-get install make //gets the (not default installed) make "program" which compiles the actual source code

Note: Once these two lines have been run once they will never need to be run again.

We now continue with downloading the wine source code: On the page will see a list of files and folders. To choose the correct one simply choose the version you want and download the .tar.bz2 and NOT the .tar.bz2.sign. If you download the .sign file you will not get the actual source code.

Now after you have downloaded the .tar.bz2 extract it to, say, your home folder so the path will look something like: “/home/someone/wine-1.1.32”. After the extraction is complete download and save the patch into the Wine source code directory (i.e. “/home/somoneone/wine-1.1.32/SetPixelShader.patch”).

Note: if you open up the patch in, say, a web browser from Wine HQ or a similar site then simply do right click->save page as and the page will save correctly.

After you have the patch saved within the Wine source code directory simply cd in terminal:

cd /home/someone/wine-1.1.32

After you have changed the directory simply run in terminal:

patch -p1 < SetPixelShader.patch

This will display a progress of “hunks” installing. After this is completed you may proceed to configure, compile, and install the new Wine. In order to do that you must run the next three commands (within the same terminal window, if you close that terminal window open a new one and cd to the Wine source code directory):

make depend && make
sudo make install

These commands may take some time depending on how big the patch you applied was and how many patches that were applied since last compile. Once make install is completed your Wine is ready to be used. Enjoy :).

PS. Almost forgot; to uninstall simply cd in terminal to the wine source code directory (i.e. “/home/someone/wine-1.1.32”) and run:

sudo make uninstall