Opened 4 years ago

Last modified 4 years ago

#15838 new defect

x86_64 fails to compile when using SquashFS

Reported by: simon@… Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: base system Version: Trunk
Keywords: register_mtd_parser x86_64 Cc:


It will compile and boot successfully using ext4. If you compile as squashfs, it will hang at 'waiting for /dev/mtdblock0'. In troubleshooting, I noticed by default, the kernel is not configured for SquashFS root parser under:

Device Drivers->Memory Technology Device Support->OpenWRT specific MTD options->Squashfs based root partition parser.

I enabled it and now get this error when building:

drivers/mtd/mtdsplit_squashfs.c:66:1: error: function declaration isn't a prototype [-Werror=strict-prototypes]


drivers/mtd/mtdsplit_squashfs.c: In function 'mtdsplit_squashfs_init':
drivers/mtd/mtdsplit_squashfs.c:68:2: error: void value not ignored as it ought to be

return register_mtd_parser(&mtdsplit_squashfs_parser);

drivers/mtd/mtdsplit_squashfs.c:69:1: warning: control reaches end of non-void function [-Wreturn-type]


cc1: some warnings being treated as errors
make[7]: * [drivers/mtd/mtdsplit_squashfs.o] Error 1
* [drivers/mtd] Error 2
make[5]: * [drivers] Error 2

I compared the files to a standard x86 built and noticed 'register_mtd_parser' is 'int' in x86 but 'void' in x86_64. I tried flipping to 'int' but it causes more errors and I don't really know enough C to try to troubleshoot this.

Attachments (0)

Change History (1)

comment:1 Changed 4 years ago by anonymous

I did some further testing and this is only a problem with the 3.14 kernel. I was able to get it working with 3.12.10.

Add Comment

Modify Ticket

as new .

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.