This bug is missing log files that will aid in diagnosing the problem.
>From a terminal window please run:
apport-collect 1619446
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.
** Changed in: linux (Ubuntu)
Status: New => Incomplete
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1619446
Title:
mismatching headers between powerpc/ppc64el and other archs
Status in linux package in Ubuntu:
Incomplete
Bug description:
the header files from linux-libc-dev are causing repsnapper on
-proposed to FTBFS on powerpc/ppc64el
I tracked it to 2 include clauses:
#include <sys/ioctl.h>
#include <asm/termbits.h>
causing the following error on powerpc/ppc64el builds:
following errors:
src/printer/custom_baud.cpp: In function 'bool set_custom_baudrate(int,
int)':
src/printer/custom_baud.cpp:15:19: error: aggregate
'set_custom_baudrate(int, int)::termios2 options' has incomplete type and
cannot be defined
struct termios2 options;
^
src/printer/custom_baud.cpp:17:26: error: 'TCGETS2' was not declared in
this scope
if ( ioctl( device_fd, TCGETS2, &options ) < 0 ) {
^
src/printer/custom_baud.cpp:27:26: error: 'TCSETS2' was not declared in
this scope
if ( ioctl( device_fd, TCSETS2, &options ) < 0 ) {
Please see bug #1619100 for more info.
Comparing the powerpc/ppc64el headers to amd64 I found that they seem
to be missing includes to other headers under asm-generic/
If I try to add the missing asm-generic headers:
#include <sys/ioctl.h>
#include <asm/termbits.h>
#include <asm-generic/ioctls.h>
#include <asm-generic/termbits.h>
Then the build again fails on both powerpc/ppc64el and succeeds on all
other archs, this time the error is:
In file included from src/printer/custom_baud.cpp:11:0:
/usr/include/asm-generic/termbits.h:11:8: error: redefinition of ‘struct
termios’
struct termios {
^~~~~~~
In file included from src/printer/custom_baud.cpp:9:0:
/usr/include/powerpc-linux-gnu/asm/termbits.h:22:8: error: previous
definition of ‘struct termios’
struct termios {
^~~~~~~
In file included from src/printer/custom_baud.cpp:11:0:
/usr/include/asm-generic/termbits.h:31:8: error: redefinition of ‘struct
ktermios’
struct ktermios {
^~~~~~~~
In file included from src/printer/custom_baud.cpp:9:0:
/usr/include/powerpc-linux-gnu/asm/termbits.h:35:8: error: previous
definition of ‘struct ktermios’
struct ktermios {
^~~~~~~~
Finally, modifying the original includes to remove the asm/termbits.h:
#include <sys/ioctl.h>
#include <asm-generic/ioctls.h>
#include <asm-generic/termbits.h>
Allows for the repsnapper build to succeed on all arches, including
powerpc/ppc64el. Question is: why is this even needed?
linux-libc-dev packages:
Get:10 http://ftpmaster.internal/ubuntu yakkety/main powerpc linux-libc-dev
powerpc 4.4.0-9136.55 [818 kB]
Get:10 http://ftpmaster.internal/ubuntu yakkety/main ppc64el linux-libc-dev
ppc64el 4.4.0-9136.55 [818 kB]
Get:10 http://ftpmaster.internal/ubuntu yakkety/main amd64 linux-libc-dev
amd64 4.4.0-9136.55 [828 kB]
Checking the headers is seems that powerpc/ppc64el are missing
includes for asm-generics:
$ grep -r TCGETS2 linux-libc-dev_4.4.0-9136.55_*/
linux-libc-dev_4.4.0-9136.55_amd64/usr/include/asm-generic/ioctls.h:#define
TCGETS2 _IOR('T', 0x2A, struct termios2)
linux-libc-dev_4.4.0-9136.55_ppc64el/usr/include/asm-generic/ioctls.h:#define
TCGETS2 _IOR('T', 0x2A, struct termios2)
$ grep -r ioctls.h linux-libc-dev_4.4.0-9136.55_*/
linux-libc-dev_4.4.0-9136.55_amd64/usr/include/x86_64-linux-gnu/asm/ioctls.h:#include
<asm-generic/ioctls.h>
linux-libc-dev_4.4.0-9136.55_amd64/usr/include/asm-generic/termios.h:#include
<asm/ioctls.h>
linux-libc-dev_4.4.0-9136.55_ppc64el/usr/include/asm-generic/termios.h:#include
<asm/ioctls.h>
linux-libc-dev_4.4.0-9136.55_ppc64el/usr/include/powerpc64le-linux-gnu/asm/termios.h:#include
<asm/ioctls.h>
$ grep -r "termios2 {" linux-libc-dev_4.4.0-9136.55_*/
linux-libc-dev_4.4.0-9136.55_amd64/usr/include/asm-generic/termbits.h:struct
termios2 {
linux-libc-dev_4.4.0-9136.55_ppc64el/usr/include/asm-generic/termbits.h:struct
termios2 {
$ grep -r termbits.h linux-libc-dev_4.4.0-9136.55_*/
linux-libc-dev_4.4.0-9136.55_amd64/usr/include/x86_64-linux-gnu/asm/termbits.h:#include
<asm-generic/termbits.h>
linux-libc-dev_4.4.0-9136.55_amd64/usr/include/asm-generic/termios.h:#include
<asm/termbits.h>
linux-libc-dev_4.4.0-9136.55_ppc64el/usr/include/asm-generic/termios.h:#include
<asm/termbits.h>
linux-libc-dev_4.4.0-9136.55_ppc64el/usr/include/powerpc64le-linux-gnu/asm/termios.h:#include
<asm/termbits.h>
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1619446/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp