Patch for 4.2.2008 for 3.12

OSS specific Linux discussion (x86/amd64)

Moderators: hannu, dev, cesium

L29Ah
Member
Posts: 16
Joined: Sun Nov 28, 2010 6:35 am

Patch for 4.2.2008 for 3.12

Postby L29Ah » Wed Nov 06, 2013 6:45 pm


nuc
Moderator
Posts: 109
Joined: Fri Aug 03, 2012 10:20 am
Sound Card: PowerColor DEVIL HDX
OS: ArchLinux
Contact:

Re: Patch for 4.2.2008 for 3.12

Postby nuc » Fri Nov 15, 2013 12:59 pm

Is a patch even needed? OSS works fine for me on kernel 3.12..
Check out my effort on revamping the opensound website => github.com/Nuc1eoN/4Front-Tech-Website
Any feedback greatly appreciated =)

Matti
Member
Posts: 41
Joined: Sun May 29, 2011 12:34 pm

Re: Patch for 4.2.2008 for 3.12

Postby Matti » Fri Nov 22, 2013 10:54 am

Thank you very much for the patch it worked.

I installed yesterday kernel 3.12.1 from Ubuntu Mainline Kernel PPA and today I couldn't get OSS to work so I applied your patch to /usr/lib/oss/build/osscore.c and then the modules build successfully.

NOTE: I'm using OSSv4.2 builded from git repository and the last commit that I had in my version was "[bddf15] Added alternative directory for soundon.user under Linux".

keantoken
Member
Posts: 44
Joined: Fri Jul 08, 2011 2:54 am

Re: Patch for 4.2.2008 for 3.12

Postby keantoken » Sun Dec 15, 2013 10:01 am

I compiled the Git repository version and it says

Code: Select all

Build ID will be 2006


Why does it seem the Git version is two years late, whereas the latest binaries are 2008? The source archives respond with a build ID 2008.

I tried to use this patch on my 2008 build I already had installed and it only got past osscore, then failed to compile the drivers.

I compiled the Git version and that got past the drivers as well, but then I got this:

Code: Select all

ERROR: could not insert 'osscore': Invalid argument
Loading the osscore module failed
make: *** [install] Error 60


And this:

Code: Select all

$ ossxmix
/dev/mixer: No such file or directory
$ soundon
bash: soundon: command not found

igorzwx
Known Member
Posts: 1246
Joined: Sun Jun 28, 2009 9:31 pm

Re: Patch for 4.2.2008 for 3.12

Postby igorzwx » Sun Dec 15, 2013 4:32 pm

keantoken wrote:I compiled the Git repository version and it says

Code: Select all

Build ID will be 2006


Why does it seem the Git version is two years late, whereas the latest binaries are 2008? The source archives respond with a build ID 2008.

I tried to use this patch on my 2008 build I already had installed and it only got past osscore, then failed to compile the drivers.

I compiled the Git version and that got past the drivers as well, but then I got this:

Code: Select all

ERROR: could not insert 'osscore': Invalid argument
Loading the osscore module failed
make: *** [install] Error 60


And this:

Code: Select all

$ ossxmix
/dev/mixer: No such file or directory
$ soundon
bash: soundon: command not found


Do you have a sort of Ubuntu?
If it is so difficult for you, you may try Gentoo or other sort of "easy Linux".
_http://wiki.gentoo.org/wiki/OSS

Removing pulseaudio completely
_http://forums.gentoo.org/viewtopic-t-876357-start-0.html

How to Install Gentoo Linux from Ubuntu
_http://www.wikihow.com/Install-Gentoo-Linux-from-Ubuntu

Gentoo Handbook
_http://www.gentoo.org/doc/en/handbook/
Last edited by igorzwx on Mon Dec 16, 2013 1:08 am, edited 1 time in total.

keantoken
Member
Posts: 44
Joined: Fri Jul 08, 2011 2:54 am

Re: Patch for 4.2.2008 for 3.12

Postby keantoken » Sun Dec 15, 2013 9:21 pm

No, I'm using Debian. I moved away from Ubuntu a long time ago and even had to get rid of LMDE.

igorzwx
Known Member
Posts: 1246
Joined: Sun Jun 28, 2009 9:31 pm

Re: Patch for 4.2.2008 for 3.12

Postby igorzwx » Sun Dec 15, 2013 9:38 pm

keantoken wrote:No, I'm using Debian. I moved away from Ubuntu a long time ago and even had to get rid of LMDE.


It was an experiment with telepathy _https://en.wikipedia.org/wiki/Telepathy
Sometimes it works, sometimes it does not.
Since you do not explain why and how you are doing something, one has to read your thoughts. It does not always work. Perhaps, I need some training on Ubuntu forum.

seawright
Member
Posts: 94
Joined: Sat Jan 06, 2007 9:10 pm
Location: Hampshire UK

Re: Patch for 4.2.2008 for 3.12

Postby seawright » Wed Dec 18, 2013 11:12 pm

keantoken wrote:No, I'm using Debian. I moved away from Ubuntu a long time ago and even had to get rid of LMDE.

What compiler are you using to build osscore?
If gcc-4.8 try using an earlier version gcc-4.7 or gcc-4.6 to check whether the outcome is any different.
regards
Clive

keantoken
Member
Posts: 44
Joined: Fri Jul 08, 2011 2:54 am

Re: Patch for 4.2.2008 for 3.12

Postby keantoken » Sun Jan 05, 2014 3:25 am

How do I change the compiler? If OSS used a make script this would be easy, but I can't figure out how to get it to build with an older GCC version.

igorzwx
Known Member
Posts: 1246
Joined: Sun Jun 28, 2009 9:31 pm

Re: Patch for 4.2.2008 for 3.12

Postby igorzwx » Sun Jan 05, 2014 2:02 pm

keantoken wrote:How do I change the compiler? If OSS used a make script this would be easy, but I can't figure out how to get it to build with an older GCC version.


"gcc" is a "symbolic link":

Code: Select all

$ ls -al /usr/bin/gcc
lrwxrwxrwx 1 root root 7 Mar 12  2013 /usr/bin/gcc -> gcc-4.7


Symlink howto: _http://www.unixtutorial.org/2008/02/unix-symlink-example/
_https://en.wikipedia.org/wiki/Symbolic_link

Code: Select all

$ ls /usr/bin | grep gcc
gcc
gcc-4.7


Code: Select all

$ apt-cache search gcc-4.6
gcc-4.6 - GNU C compiler
gcc-4.6-base - GCC, the GNU Compiler Collection (base package)
gcc-4.6-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
gcc-4.6-multilib - GNU C compiler (multilib files)
gcc-4.6-plugin-dev - Files for GNU GCC plugin development.
gcc-4.6-source - Source of the GNU Compiler Collection
dragonegg - GCC plugin that uses LLVM for optimization and code generation
dragonegg-4.6 - GCC plugin that uses LLVM for optimization and code generation
dragonegg-4.7 - GCC plugin that uses LLVM for optimization and code generation
gcc-4.6-arm-linux-gnueabi - GNU C compiler
gcc-4.6-arm-linux-gnueabi-base - GCC, the GNU Compiler Collection (base package)
gcc-4.6-arm-linux-gnueabihf - GNU C compiler
gcc-4.6-arm-linux-gnueabihf-base - GCC, the GNU Compiler Collection (base package)
gcc-4.6-locales - GCC, the GNU compiler collection (native language support files)
gcc-4.6-multilib-arm-linux-gnueabi - GNU C compiler (multilib files)
gcc-4.6-multilib-arm-linux-gnueabihf - GNU C compiler (multilib files)
llvm-gcc-4.6 - C front end for LLVM C/C++ compiler

keantoken
Member
Posts: 44
Joined: Fri Jul 08, 2011 2:54 am

Re: Patch for 4.2.2008 for 3.12

Postby keantoken » Fri Jan 10, 2014 10:31 am

igorzwx wrote:"gcc" is a "symbolic link":


That sure explains a lot!

Well, it didn't work when I compiled with GCC 4.7 or 4.8. I have been using these previously with OSS with no problem.

igorzwx
Known Member
Posts: 1246
Joined: Sun Jun 28, 2009 9:31 pm

Re: Patch for 4.2.2008 for 3.12

Postby igorzwx » Fri Jan 10, 2014 1:41 pm

keantoken wrote:
igorzwx wrote:"gcc" is a "symbolic link":


That sure explains a lot!

Well, it didn't work when I compiled with GCC 4.7 or 4.8. I have been using these previously with OSS with no problem.


You may learn more about compilers with Gentoo.

How to Install Gentoo Linux from Ubuntu _http://www.wikihow.com/Install-Gentoo-Linux-from-Ubuntu
Removing pulseaudio completely _http://forums.gentoo.org/viewtopic-t-876357-start-0.html
OSS4 Manual _http://wiki.gentoo.org/wiki/OSS
Gentoo Handbook _http://www.gentoo.org/doc/en/handbook/

jhanger
New Member
Posts: 1
Joined: Tue Jan 14, 2014 4:54 am

Re: Patch for 4.2.2008 for 3.12

Postby jhanger » Tue Jan 14, 2014 5:09 am

I'm having trouble with getting OSS4.2 build 2008 going on kernel 3.12.7
I custom built the kernel, it failed to build OSS from OSS 4.2 build 2007
So i downloaded it, ran this patch, followed instructions:
make build
make deb - to make the deb packages

Running 'dpkg -i <compiled deb package>' I get:

Code: Select all

(Reading database ... 370193 files and directories currently installed.)
Preparing to unpack oss-linux-4.2-2008_amd64.deb ...
OSS not loaded.
Shutting down ALSA...done (none loaded).
Unloading ALSA sound driver modules: (none loaded).
Unpacking oss-linux (4.2-2008) over (4.2-2008) ...
Upgrading OSS - will not purge /usr/lib/oss.
Setting up oss-linux (4.2-2008) ...
Building OSS Modules for Linux-unknown 3.12.7-jmh

OSS build environment set up for REGPARM kernels

Building module osscore
Failed to compile OSS
make -C /lib/modules/3.12.7-jmh/build M=/usr/lib/oss/build modules
make[1]: Entering directory `/usr/src/linux-3.12.7'
  CC [M]  /usr/lib/oss/build/osscore.o
/usr/lib/oss/build/osscore.c: In function ‘init_proc_fs’:
/usr/lib/oss/build/osscore.c:287:8: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
        create_proc_entry ("opensound", 0700 | S_IFDIR, NULL)) == NULL)
        ^
/usr/lib/oss/build/osscore.c:286:22: warning: assignment makes pointer from integer without a cast [enabled by default]
   if ((oss_proc_root =
                      ^
/usr/lib/oss/build/osscore.c:293:26: warning: assignment makes pointer from integer without a cast [enabled by default]
   if ((oss_proc_devfiles =
                          ^
/usr/lib/oss/build/osscore.c:300:20: error: dereferencing pointer to incomplete type
   oss_proc_devfiles->proc_fops = &oss_proc_operations;
                    ^
/usr/lib/oss/build/osscore.c: In function ‘alloc_fop’:
/usr/lib/oss/build/osscore.c:960:6: error: ‘struct file_operations’ has no member named ‘readdir’
   fop->readdir = NULL;  /* tmp_readdir; */
      ^
/usr/lib/oss/build/osscore.c:968:14: warning: assignment from incompatible pointer type [enabled by default]
   fop->fsync = oss_no_fsync;
              ^
/usr/lib/oss/build/osscore.c: In function ‘oss_pci_read_devpath’:
/usr/lib/oss/build/osscore.c:1642:3: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
   return dev_name(&dip->pcidev->dev);
   ^
In file included from include/linux/kernel.h:12:0,
                 from include/linux/cache.h:4,
                 from include/linux/time.h:4,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /usr/lib/oss/build/osscore.c:15:
/usr/lib/oss/build/osscore.c: In function ‘oss_fp_check’:
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:73:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:112:3: note: in expansion of macro ‘raw_local_save_flags’
   raw_local_save_flags(flags);  \
   ^
/usr/lib/oss/build/osscore.c:1866:3: note: in expansion of macro ‘local_save_flags’
   local_save_flags (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:78:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:102:7: note: in expansion of macro ‘raw_irqs_disabled_flags’
   if (raw_irqs_disabled_flags(flags)) { \
       ^
/usr/lib/oss/build/osscore.c:1868:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:103:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1868:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:107:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1868:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:73:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:112:3: note: in expansion of macro ‘raw_local_save_flags’
   raw_local_save_flags(flags);  \
   ^
/usr/lib/oss/build/osscore.c:1870:3: note: in expansion of macro ‘local_save_flags’
   local_save_flags (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:78:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:102:7: note: in expansion of macro ‘raw_irqs_disabled_flags’
   if (raw_irqs_disabled_flags(flags)) { \
       ^
/usr/lib/oss/build/osscore.c:1875:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:103:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1875:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:107:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1875:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:73:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:112:3: note: in expansion of macro ‘raw_local_save_flags’
   raw_local_save_flags(flags);  \
   ^
/usr/lib/oss/build/osscore.c:1877:3: note: in expansion of macro ‘local_save_flags’
   local_save_flags (flags_reg);
   ^
cc1: some warnings being treated as errors
make[2]: *** [/usr/lib/oss/build/osscore.o] Error 1
make[1]: *** [_module_/usr/lib/oss/build] Error 2
make[1]: Leaving directory `/usr/src/linux-3.12.7'
make: *** [default] Error 2
Forcing re-detection of installed soundcards
Starting Open Sound System
Relinking OSS kernel modules for ""
This may take few moments - please stand by...

OSS build environment set up for REGPARM kernels

Building module osscore
Failed to compile OSS
make -C /lib/modules/3.12.7-jmh/build M=/usr/lib/oss/build modules
make[1]: Entering directory `/usr/src/linux-3.12.7'
  CC [M]  /usr/lib/oss/build/osscore.o
/usr/lib/oss/build/osscore.c: In function ‘init_proc_fs’:
/usr/lib/oss/build/osscore.c:287:8: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
        create_proc_entry ("opensound", 0700 | S_IFDIR, NULL)) == NULL)
        ^
/usr/lib/oss/build/osscore.c:286:22: warning: assignment makes pointer from integer without a cast [enabled by default]
   if ((oss_proc_root =
                      ^
/usr/lib/oss/build/osscore.c:293:26: warning: assignment makes pointer from integer without a cast [enabled by default]
   if ((oss_proc_devfiles =
                          ^
/usr/lib/oss/build/osscore.c:300:20: error: dereferencing pointer to incomplete type
   oss_proc_devfiles->proc_fops = &oss_proc_operations;
                    ^
/usr/lib/oss/build/osscore.c: In function ‘alloc_fop’:
/usr/lib/oss/build/osscore.c:960:6: error: ‘struct file_operations’ has no member named ‘readdir’
   fop->readdir = NULL;  /* tmp_readdir; */
      ^
/usr/lib/oss/build/osscore.c:968:14: warning: assignment from incompatible pointer type [enabled by default]
   fop->fsync = oss_no_fsync;
              ^
/usr/lib/oss/build/osscore.c: In function ‘oss_pci_read_devpath’:
/usr/lib/oss/build/osscore.c:1642:3: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
   return dev_name(&dip->pcidev->dev);
   ^
In file included from include/linux/kernel.h:12:0,
                 from include/linux/cache.h:4,
                 from include/linux/time.h:4,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /usr/lib/oss/build/osscore.c:15:
/usr/lib/oss/build/osscore.c: In function ‘oss_fp_check’:
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:73:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:112:3: note: in expansion of macro ‘raw_local_save_flags’
   raw_local_save_flags(flags);  \
   ^
/usr/lib/oss/build/osscore.c:1866:3: note: in expansion of macro ‘local_save_flags’
   local_save_flags (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:78:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:102:7: note: in expansion of macro ‘raw_irqs_disabled_flags’
   if (raw_irqs_disabled_flags(flags)) { \
       ^
/usr/lib/oss/build/osscore.c:1868:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:103:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1868:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:107:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1868:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:73:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:112:3: note: in expansion of macro ‘raw_local_save_flags’
   raw_local_save_flags(flags);  \
   ^
/usr/lib/oss/build/osscore.c:1870:3: note: in expansion of macro ‘local_save_flags’
   local_save_flags (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:78:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:102:7: note: in expansion of macro ‘raw_irqs_disabled_flags’
   if (raw_irqs_disabled_flags(flags)) { \
       ^
/usr/lib/oss/build/osscore.c:1875:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:103:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1875:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:68:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:107:4: note: in expansion of macro ‘raw_local_irq_restore’
    raw_local_irq_restore(flags); \
    ^
/usr/lib/oss/build/osscore.c:1875:3: note: in expansion of macro ‘local_irq_restore’
   local_irq_restore (flags_reg);
   ^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast [enabled by default]
  (void)(&__dummy == &__dummy2); \
                  ^
include/linux/irqflags.h:73:3: note: in expansion of macro ‘typecheck’
   typecheck(unsigned long, flags); \
   ^
include/linux/irqflags.h:112:3: note: in expansion of macro ‘raw_local_save_flags’
   raw_local_save_flags(flags);  \
   ^
/usr/lib/oss/build/osscore.c:1877:3: note: in expansion of macro ‘local_save_flags’
   local_save_flags (flags_reg);
   ^
cc1: some warnings being treated as errors
make[2]: *** [/usr/lib/oss/build/osscore.o] Error 1
make[1]: *** [_module_/usr/lib/oss/build] Error 2
make[1]: Leaving directory `/usr/src/linux-3.12.7'
make: *** [default] Error 2

Relinking the OSS kernel modules failed
Processing triggers for libc-bin (2.17-97) ...
Processing triggers for man-db (2.6.5-2) ...
Processing triggers for menu (2.1.46) ...


My gcc is version 4.8.2

Code: Select all

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.8.2-12' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Debian 4.8.2-12)


Code: Select all

$ uname -a
Linux jmh 3.12.7-jmh #3 SMP Mon Jan 13 06:24:51 MST 2014 x86_64 GNU/Linux


Any idea why the build would make just fine but fail the kernel module build?

Thanks for any help!
Last edited by nuc on Sat Apr 09, 2016 10:28 am, edited 1 time in total.
Reason: added appropriate code tags

igorzwx
Known Member
Posts: 1246
Joined: Sun Jun 28, 2009 9:31 pm

Re: Patch for 4.2.2008 for 3.12

Postby igorzwx » Thu Jan 16, 2014 1:06 pm

keantoken wrote:
igorzwx wrote:"gcc" is a "symbolic link":


That sure explains a lot!

Well, it didn't work when I compiled with GCC 4.7 or 4.8. I have been using these previously with OSS with no problem.


Since telepathy often fails, one may need special tools to hack into brains of Ubuntu/Debian users remotely.

They are several symlinks to hack:

Code: Select all

$ ls -la /usr/bin | grep gcc-4.7
lrwxrwxrwx  1 root   root           7 Mar 12  2013 gcc -> gcc-4.7
-rwxr-xr-x  1 root   root      527596 Sep 21  2012 gcc-4.7
lrwxrwxrwx  1 root   root           7 Mar 12  2013 i686-linux-gnu-gcc -> gcc-4.7
lrwxrwxrwx  1 root   root           7 Mar 12  2013 i686-linux-gnu-gcc-4.7 -> gcc


See also:

Code: Select all

$ ls -la /usr/bin | grep gcc


Howto is here: _http://askubuntu.com/questions/26498/choose-gcc-and-g-version/26502#26502

Matti
Member
Posts: 41
Joined: Sun May 29, 2011 12:34 pm

Re: Patch for 4.2.2008 for 3.12

Postby Matti » Fri Jan 17, 2014 6:23 pm

I'm on Ubuntu 14.04 (development branch) now and so far OSSv4 worked with every kernel in this release (there were 3.12 and now they are 3.13). The default GCC is 4.8 and this also worked but maybe it's a little bit different than the one in Debian.

Code: Select all

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc-4.8.real
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.8.2-14ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-14ubuntu1)


Code: Select all

$ ls -la /usr/bin | grep gcc-4.8
lrwxrwxrwx  1 root    root           7 sty 15 20:39 gcc -> gcc-4.8
lrwxrwxrwx  1 root    root          11 gru 18 12:44 gcc-4.8 -> hardened-cc
-rwxr-xr-x  1 root    root      775888 sty 15 23:22 gcc-4.8.real
lrwxrwxrwx  1 root    root           7 sty 15 20:39 x86_64-linux-gnu-gcc -> gcc-4.8
lrwxrwxrwx  1 root    root           7 sty 15 23:22 x86_64-linux-gnu-gcc-4.8 -> gcc-4.8


I make my own packages of OSSv4 using the guide from Ubuntu Wiki but a little bit modified.

Code: Select all

sudo apt-get install -y git
cd /usr/src
sudo git clone git://git.code.sf.net/p/opensound/git opensound-git


Now you should apply the patch

Code: Select all

cd /usr/src/opensound-git/
sudo patch -p1 < oss-4.2.2008-linux-3.12.patch


OSS needs an empty directory to build in. Using the example below will create a directory in your /home folder (~)

Code: Select all

cd ~/
sudo rm -rf oss42build
mkdir oss42build
cd oss42build/


Build & Install

Code: Select all

NO_WARNING_CHECKS=yes /usr/src/opensound-git/configure --enable-libsalsa=NO
make
sudo make deb
sudo dpkg -i oss*.deb


It's also worth to change a setting in configure file before making the OSSv4 package.

Code: Select all

# Set GRC3 min/max conversion quality setting to 3 to conserve space.
# TODO: Add support for configurable quality settings.
GRC_MIN_QUALITY=3
GRC_MAX_QUALITY=6
export GRC_MIN_QUALITY GRC_MAX_QUALITY


This will allow for setting Production quality in ossxmix.


Return to “Linux”

Who is online

Users browsing this forum: No registered users and 1 guest