asm/bitops.h not included in linux-libc-dev

Bug #94641 reported by Shaya Potter
2
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.20

spotter@dent:~/arch/thinc/record/search$ make
gcc -Wall -O3 -fomit-frame-pointer -g -O2 `pkg-config --cflags libspi-1.0` -I../../include -I`pg_config --includedir` -c -o tree.o tree.c
tree.c:24:1: warning: "__always_inline" redefined
In file included from /usr/include/features.h:323,
                 from /usr/include/stdio.h:28,
                 from tree.c:13:
/usr/include/sys/cdefs.h:277:1: warning: this is the location of the previous definition
tree.c:25:24: error: asm/bitops.h: No such file or directory
tree.c: In function ‘die_die_die’:
tree.c:440: warning: implicit declaration of function ‘test_and_set_bit’
tree.c: In function ‘s_db_timer’:
tree.c:471: warning: implicit declaration of function ‘clear_bit’
make: *** [tree.o] Error 1

yet

spotter@dent:~/arch/thinc/record/search$ locate bitops.h |grep i386
/home/spotter/src/kernel/linux-2.4.32/include/asm-i386/bitops.h
/home/spotter/src/kernel/linux-2.6.19-rc1/include/asm-i386/bitops.h
/home/spotter/src/kernel/linux-2.6.19-rc1/include/asm-i386/sync_bitops.h
/usr/src/linux-headers-2.6.20-12/include/asm-i386/bitops.h
/usr/src/linux-headers-2.6.20-12/include/asm-i386/sync_bitops.h

so why isnt bitops.h not included in the linux-libc-dev package? (seems like a lot of headers were left out)

Revision history for this message
Ben Collins (ben-collins) wrote :

It's not included because only the parts needed for libc6-dev are there. Anything else is non-standard, and non-portable, so doesn't belong.

Programs that rely on these non-standard headers really are doing the wrong thing.

Changed in linux-source-2.6.20:
status: Unconfirmed → Rejected
Revision history for this message
Shaya Potter (spotter) wrote : Re: [Bug 94641] Re: asm/bitops.h not included in linux-libc-dev

you're right that a program that depends on it is in some ways non
standard and non portable beyond Linux, but why should I have to
reinvent the wheel in regards to things like bit operations, when the
linux kernel includes useful functionality for my own programs?

Ben Collins wrote:
> It's not included because only the parts needed for libc6-dev are there.
> Anything else is non-standard, and non-portable, so doesn't belong.
>
> Programs that rely on these non-standard headers really are doing the
> wrong thing.
>
> ** Changed in: linux-source-2.6.20 (Ubuntu)
> Status: Unconfirmed => Rejected
>

Revision history for this message
Ben Collins (ben-collins) wrote :

On Thu, 2007-03-22 at 03:43 +0000, Shaya Potter wrote:
> you're right that a program that depends on it is in some ways non
> standard and non portable beyond Linux, but why should I have to
> reinvent the wheel in regards to things like bit operations, when the
> linux kernel includes useful functionality for my own programs?

Functionality that is subject to change between kernel versions and
between distributions.

Further more, better to take this up with upstream kernel. The
linux-libc-dev package is created using "make headers_install" from the
kernel tree. So the headers produced are the ones they want exported.
It's not my decision.

--
Ubuntu: http://www.ubuntu.com/
Linux1394: http://www.linux1394.org/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.