ubuntu_version_hack.inc

OSS specific Linux discussion (x86/amd64)

Moderators: cesium, dev, kodachi, hannu

ubuntu_version_hack.inc

Postby adamk » Sat Oct 23, 2010 1:27 pm

The OSS drivers I had installed wouldn't compile against 2.6.36 so I updated to the latest code in mercurial. The build goes fine, but when I run make install, and it tries to compile the modules, it errors out:

Code: Select all
make[1]: Entering directory `/usr/lib/oss/build'
make -C /lib/modules/2.6.36/build M=/usr/lib/oss/build modules
make[2]: Entering directory `/usr/src/linux-2.6.36'
  CC [M]  /usr/lib/oss/build/osscore.o
/usr/lib/oss/build/osscore.c:44:35: error: ubuntu_version_hack.inc: No such file or directory
/usr/lib/oss/build/osscore.c: In function 'alloc_fop':
/usr/lib/oss/build/osscore.c:964: warning: assignment from incompatible pointer type
/usr/lib/oss/build/osscore.c: In function 'oss_pci_read_devpath':
/usr/lib/oss/build/osscore.c:1638: warning: return discards qualifiers from pointer target type
/usr/lib/oss/build/osscore.c: In function 'oss_fp_check':
/usr/lib/oss/build/osscore.c:1862: warning: comparison of distinct pointer types lacks a cast
/usr/lib/oss/build/osscore.c:1864: warning: comparison of distinct pointer types lacks a cast
/usr/lib/oss/build/osscore.c:1866: warning: comparison of distinct pointer types lacks a cast
/usr/lib/oss/build/osscore.c:1871: warning: comparison of distinct pointer types lacks a cast
/usr/lib/oss/build/osscore.c:1873: warning: comparison of distinct pointer types lacks a cast
make[3]: *** [/usr/lib/oss/build/osscore.o] Error 1
make[2]: *** [_module_/usr/lib/oss/build] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.36'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/usr/lib/oss/build'
make: *** [install] Error 4


This is on Slackware 13.1. Any ideas?

Adam
adamk
Member
 
Posts: 78
Joined: Fri Jun 11, 2004 1:50 pm

Re: ubuntu_version_hack.inc

Postby cesium » Sat Oct 23, 2010 2:20 pm

That file is created by Makefile.osscore. You can ran the commands manually to create it, or even erase the include from osscore.c (it's only necessary to overcome a certain bug in some Ubuntu versions). I wonder why it's not created - if you ran these manually, perhaps you can check why?
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Re: ubuntu_version_hack.inc

Postby adamk » Sat Oct 23, 2010 8:13 pm

Oh, I know why it's not getting created... I have to copy out this line from setup/Linux/make.local:

Code: Select all
        cp -R prototype/* /


If I don't copy that out, make install fails even earlier with:

Code: Select all
rm -f "/usr/lib/oss"/modules/*.o
cp -R prototype/* /
cp: cannot overwrite non-directory `/usr/share/man' with directory `prototype/usr/share/man'
make: *** [copy] Error 1


I'm guessing that's why Makefile.osscore (which is under the prototype directory) never makes ubuntu_version_hack.inc.

If I comment out the include for ubuntu_version_hack.inc, make install fails with:

Code: Select all
Building module Makefile Makefile.osscore Makefile.tmpl Module.symvers build.list install.sh module.inc modules.order oss_ali5455.c oss_atiaudio.c oss_audigyls.c oss_audioloop.c oss_audiopci.c oss_cmi878x.c oss_cmpci.c oss_cs4281.c oss_cs461x.c oss_digi96.c oss_emu10k1x.c oss_envy24.c oss_envy24ht.c oss_fmedia.c oss_geode.c oss_hdaudio.c oss_ich.c oss_imux.c oss_madi.c oss_midiloop.c oss_midimix.c oss_sblive.c oss_sbpci.c oss_sbxfi.c oss_solo.c oss_trident.c oss_usb.c oss_userdev.c oss_via823x.c oss_via97.c oss_ymf7xx.c osscore.c osscore.c~ osscore.ko osscore.mod.c osscore.mod.o osscore.o osscore_mainline.o osscore_symbols.inc ossdip.h pci_wrapper.inc regparm udi.h usb_wrapper.inc wrap.h
Compiling module Makefile Makefile.osscore Makefile.tmpl Module.symvers build.list install.sh module.inc modules.order oss_ali5455.c oss_atiaudio.c oss_audigyls.c oss_audioloop.c oss_audiopci.c oss_cmi878x.c oss_cmpci.c oss_cs4281.c oss_cs461x.c oss_digi96.c oss_emu10k1x.c oss_envy24.c oss_envy24ht.c oss_fmedia.c oss_geode.c oss_hdaudio.c oss_ich.c oss_imux.c oss_madi.c oss_midiloop.c oss_midimix.c oss_sblive.c oss_sbpci.c oss_sbxfi.c oss_solo.c oss_trident.c oss_usb.c oss_userdev.c oss_via823x.c oss_via97.c oss_ymf7xx.c osscore.c osscore.c~ osscore.ko osscore.mod.c osscore.mod.o osscore.o osscore_mainline.o osscore_symbols.inc ossdip.h pci_wrapper.inc regparm udi.h usb_wrapper.inc wrap.h failed
make[1]: Entering directory `/usr/lib/oss/build'
make -C /lib/modules/2.6.36/build M=/usr/lib/oss/build modules
make[2]: Entering directory `/usr/src/linux-2.6.36'
make[3]: *** No rule to make target `/usr/lib/oss/build/osscore_mainline.c', needed by `/usr/lib/oss/build/osscore_mainline.o'.  Stop.
make[2]: *** [_module_/usr/lib/oss/build] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.36'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/usr/lib/oss/build'
make: *** [install] Error 4


I'm guessing this all ultimately stems from copying out "cp -R prototype/* /" . I've had to do that for a while, though, and never had this problem till just today :-)

So, then, how do I properly fix:

Code: Select all
cp: cannot overwrite non-directory `/usr/share/man' with directory `prototype/usr/share/man'


Adam
adamk
Member
 
Posts: 78
Joined: Fri Jun 11, 2004 1:50 pm

Re: ubuntu_version_hack.inc

Postby cesium » Sat Oct 23, 2010 8:28 pm

Edit setup/Linux/make.local and replace "cp -R" line with the following line:

(cd prototype; find -L . -type f | cpio -pud /)

Problem is that if in the filesystem a directory exists with the same name as a filename in prototype, cpio will overwrite the directory, but that's not a realistic scenario in this case.
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am


Return to Linux

Who is online

Users browsing this forum: Google [Bot], nuc and 1 guest