NVIDIA CUDA SDK Gcc 4.4 Problems Solved in Kubuntu/Ubuntu Jaunty 9.10: “/usr/bin/ld: cannot find -lglut” And __signbit/__signbitf/__signbitl/__signbitd “cannot be declared weak”
Nvidia’s CUDA is a great technology though it’s not without it’s problem. I’m not here to talk about CUDA and it’s up’s and down’s. The issue at hand today is installing the SDK in Kubuntu Jaunty 9.10.
See, the main issues here are that a) Jaunty is rather fresh and tries to use new technology b) Jaunty isn’t exactly the best coded OS out there, they have plenty of ‘quality’ bugs to iron out c) CUDA isn’t made for the latest and greatest, it’s made from stable sources!
Thus, if you’re a user of ANY *nix OS that has GCC 4.4 and/or G++ 4.4 you’ll have the following main issue to go around while trying to compile the SDK sample source files:
/usr/include/string.h:43: error: inline function ‘void* memcpy(void*, const void*, size_t)’ cannot be declared weak
/usr/include/string.h:64: error: inline function ‘void* memset(void*, int, size_t)’ cannot be declared weak
/usr/include/bits/string3.h:49: error: inline function ‘void* memcpy(void*, const void*, size_t)’ cannot be declared weak
/usr/include/bits/string3.h:78: error: inline function ‘void* memset(void*, int, size_t)’ cannot be declared weak
/usr/local/cuda/bin/../include/common_functions.h:59: error: inline function ‘void* memset(void*, int, size_t)’ cannot be declared weak
/usr/local/cuda/bin/../include/common_functions.h:62: error: inline function ‘void* memcpy(void*, const void*, size_t)’ cannot be declared weak
/usr/local/cuda/bin/../include/math_functions.h:412: error: inline function ‘int __signbit(double)’ cannot be declared weak
/usr/local/cuda/bin/../include/math_functions.h:417: error: inline function ‘int __signbitf(float)’ cannot be declared weak
/usr/include/bits/mathcalls.h:350: error: inline function ‘int __signbit(double)’ cannot be declared weak
/usr/include/bits/mathcalls.h:350: error: inline function ‘int __signbitf(float)’ cannot be declared weak
/usr/include/bits/mathcalls.h:350: error: inline function ‘int __signbitl(long double)’ cannot be declared weak
/usr/include/bits/mathinline.h:36: error: inline function ‘int __signbitf(float)’ cannot be declared weak
/usr/include/bits/mathinline.h:42: error: inline function ‘int __signbit(double)’ cannot be declared weak
/usr/include/bits/mathinline.h:48: error: inline function ‘int __signbitl(long double)’ cannot be declared weak
/usr/local/cuda/bin/../include/math_functions.h:442: error: inline function ‘int __signbitl(long double)’ cannot be declared weak
make[1]: *** [obj/release/convolutionFFT2D.cu.o] Error 255
make: *** [src/convolutionFFT2D/Makefile.ph_build] Error 2
With the main interst and annoying part being:
‘int __signbit(double)’ cannot be declared weak
‘int __signbitf(float)’ cannot be declared weak
‘int __signbitl(long double)’ cannot be declared weak
‘int __signbitf(float)’ cannot be declared weak
‘int __signbit(double)’ cannot be declared weak
‘int __signbitl(long double)’ cannot be declared weak
Well, what to do now? After a little bit of searching around I discovered the above mentioned facts:
- CUDA is NOT made for GCC version greater than 4.3
- Ubuntu/Kubuntu 9.10 Jaunty is NOT officially supported
- Installing GCC 4.3 and 4.4 along side each other in Jaunty is useless in many ways
- The fix is annoying, but easy to do
Read more
Sphere: Related ContentHow To Install Chromium (Google Chrome) In Kubuntu Karmic 9.10 i386 And x64
Google being the lovely and gracious corporation came out with a wonderful idea: Google Chrome. Based off the Chromium, Google Chrome has the potential for great things. Though, seems they forgot about us Linux users.
So the wonderful people at Chromium didn’t. Neither are we neglected by the Ubuntu community. There exist many scripts and what not to install Chromium in Ubuntu, though none are really needed. All you need is the add the PPA repositories of Chromium-daily to your list of repos and you’re all set! Here’s how to add the repositories and install Chromium on any Ubuntu or Kubuntu Karmic:
sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 4E5E17B5
sudo add-apt-repository ppa:chromium-daily
sudo apt-get update
sudo apt-get install chromium-browser chromium-codecs-ffmpeg
The codecs package is just a little something extra to help make it easier to view things online.
Warning: In Ubuntu/Kubuntu Karmic, there is a package called “chromium“. This is NOT the Chromium browser. It’s a game. Chromium, the browser, is “chromium-browser”.
With only those steps, you should be able to get a native build of Chromium up and running no matter if you are in a x64 system or i386.
edit: Thanks for letting me know about the typo! Fixed now.
Sphere: Related ContentBroken pipe: Overrun occurred. 8 Step RecordMyDeskop Solution in Ubuntu/Kubuntu Karmic 9.10
Screen casting in Linux is not what many can consider a fun nor easy experience. There are many issues with it, but one of the largest being a lack of any professional software in Linux.
In Linux … we have RecordMyDesktop and XVidCap. Both programs are, suffice it to say well behind the commercial competition. Though they can do the job well enough assuming you can get everything to work right. So lets get started into getting RecordMyDesktop to record sound perfectly for you!
We’ll get rid of the pesky “Broken pipe: Overrun occurred” which is the source of broken, choppy and incorrectly timed audio while recording. There aren’t too many setting which you have to change, and once you have it working I recommend tweaking the setting up to your quality standards. The fixing idea here goes back from my old computer repair days: start simple and then add on.
If you’re looking for the solution, skip past the next section of my analysis as to why the problem occurs.

