[Buildroot] simicsfs 1.18 does not build with kernel 4.12.2

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Aug 24 17:33:54 UTC 2017


Hello,

I'm adding in Cc Matt Weber, who has added the simicsfs package. Matt,
if you can have a look at Bin's e-mail and my reply, and give some
feedback, it would be useful. Thanks!

On Thu, 24 Aug 2017 20:47:39 +0800, Bin Meng wrote:

> I am using buildroot 2017.08-rc3 to build a rootfs for minnowboard
> max. What I did is:
> 
> $ make minnowboard_max_defconfig
> $ make menuconfig
> 
> Select "Target packages" -> "File system and flash utilities" -> simicsfs
> 
> $ make
> 
> The error message is:
> 
> buildroot/output/build/simicsfs-1.18/./hostfs_file.c:67:43: error:
> ‘struct file’ has no member named ‘f_dentry’; did you mean ‘f_owner’?
>   DPRINT1("hostfs: hostfs_read %ld\n", file->f_dentry->d_inode->i_ino);
> 
> buildroot/output/build/simicsfs-1.18/./hostfs_file.c:151:2: error:
> unknown field ‘aio_read’ specified in initializer
>   .aio_read = hostfs_aio_read,
> 
> buildroot/output/build/simicsfs-1.18/./hostfs_file.c:152:2: error:
> unknown field ‘aio_write’ specified in initializer
>   .aio_write = hostfs_aio_write,
> 
> buildroot/output/build/simicsfs-1.18/./hostfs_inode.c:174:10: error:
> implicit declaration of function ‘inode_change_ok’
> [-Werror=implicit-function-declaration]
>   error = inode_change_ok(inode, iattr);
> 
> buildroot/output/build/simicsfs-1.18/./hostfs_inode.c:248:25: error:
> ‘PAGE_CACHE_SHIFT’ undeclared (first use in this function)
>   pgoff_t index = pos >> PAGE_CACHE_SHIFT;
> 
> <snip>
> 
> Although the README in the simicsfs 1.18 package says: Linux kernel
> 2.6.12 and later only. I believe this package does not build for
> latest kernel like v4.12.2.

This is not really Buildroot's fault: simicsfs-1.18 is simply not
compatible with Linux 4.12.

Unfortunately, simicsfs is no longer available at
http://download.simics.net/pub/simicsfs-1.18.tar.gz, where Buildroot
currently downloads it. The build only succeeds because we have a
backup of this tarball at http://sources.buildroot.net.

In addition, when you look at
http://www.cs.sfu.ca/~fedorova/Tech/simics-guides-3.0.26/simics-user-guide-unix/topic33.html,
the https://www.simics.net/pub/simicsfs.tar.gz now redirects to
Windriver. So it seems like Windriver has now taken over the
development of this tool, which generally isn't a very good sign in
terms of openness.

So I guess that if you need simicsfs, compatible with Linux 4.12,
you'll have to patch the source code yourself. Of course, such a patch
would be welcome in Buildroot, so that other users could benefit from
it.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the buildroot mailing list