On 21/01/12 00:36, Debian Bug Tracking System wrote: > In file included from ../../../tools/ipod-usb.c:1:0: > /usr/include/libusb.h:254:43: error: expected '=', ',', ';', 'asm' or > '__attribute__' before '__aligned'
Hi, This problem still affects a few other header files, where the parameter to __aligned was a macro and not a bare number, e.g.: > /usr/include/dev/usb/usb_device.h:} __aligned(USB_HOST_ALIGN); > /usr/include/dev/usb/usb_device.h:} __aligned(USB_HOST_ALIGN); > /usr/include/netinet/in_pcb.h:} __aligned(CACHE_LINE_SIZE); > /usr/include/sys/pcpu.h:} __aligned(CACHE_LINE_SIZE); > /usr/include/vm/uma_int.h:#define UMA_ALIGN __aligned(CACHE_LINE_SIZE) > /usr/include/vm/vm_page.h:} __aligned(CACHE_LINE_SIZE); Packages with build failures due to this so far: * php5 -- https://buildd.debian.org/status/fetch.php?pkg=php5&arch=kfreebsd-i386&ver=5.3.9-3&stamp=1327716668 * zabbix -- https://buildd.debian.org/status/fetch.php?pkg=zabbix&arch=kfreebsd-i386&ver=1%3A1.8.10-1&stamp=1327712644 * cups -- https://buildd.debian.org/status/fetch.php?pkg=cups&arch=kfreebsd-i386&ver=1.5.0-15&stamp=1327718267 Please consider my attached diff for kfreebsd-kernel-headers. The regex \([0-9A-Z_]*\) covers these remaining cases. Something more generic, like \([^)]*\?\) might seem better, but then it would have wrongly modified this also: ./usr/include/osreldate.h:#define __aligned(x) __attribute__((__aligned__(x))) Thanks, Regards, -- Steven Chamberlain ste...@pyro.eu.org
Index: debian/rules =================================================================== --- debian/rules (revision 4012) +++ debian/rules (working copy) @@ -53,7 +53,7 @@ -e 's/#\s*ifndef\s*__GNUCLIKE_[A-Z_]\+\(\s\|$$\)/#if 0/g' \ \ -e 's/__packed\(\s\|;\)/ __attribute__((__packed__))\1/g' \ - -e 's/__aligned(\([0-9]*\))/ __attribute__((aligned(\1)))/g' \ + -e 's/__aligned(\([0-9A-Z_]*\))/ __attribute__((aligned(\1)))/g' \ -e 's/\(\s\|^\|(\)u_\(char\|int\|short\|long\)\(\s\)/\1unsigned \2\3/g' \ \ -e 's/defined\s*(\s*_SYS_CDEFS_H_\s*)/defined(_SYS_CDEFS_H)/g' \