przemoc / metastore

Store and restore metadata from a filesystem.
http://software.przemoc.net/#metastore
GNU General Public License v2.0
169 stars 31 forks source link

Mac support #39

Closed WallStProg closed 3 years ago

WallStProg commented 8 years ago

Curious if this is as intended -- compiling on Mac gives following:

btmacpro:metastore btorpey$ make
sed: 1: "/^1:/s,,,;/:/{s,[^:]*:, ...": bad flag in substitute command: '}'
gcc  -g -Wall -pedantic -std=c99 -D_FILE_OFFSET_BITS=64 -O2 -DMETASTORE_VER="\"\""  -o metaentry.o -c ./src/metaentry.c
./src/metaentry.c:35:10: fatal error: 'bsd/string.h' file not found
#include <bsd/string.h>
         ^
1 error generated.
make: *** [metaentry.o] Error 1
btmacpro:metastore btorpey$

Thanks in advance for any help. Converting to git and cant live without mtime!

przemoc commented 8 years ago

I'm really sorry, but I don't have Mac, so I cannot test it or support such platform.

After v1.1 release, which should be really soon, proper support for non-Linux platforms, like some BSDs may come in at some point in time, but I doubt Mac will be ever supported, because I don't plan to obtain such hardware.

I think that in future I'll make metastore more modular, so it will be possible to build and use metastore without xattr support, then basic BSD compatibility should be enough for working in Mac.


After releasing v1.1 I may prepare patch disabling xattrs support (not storing any to metadata file and ignoring already stored ones), though, so it should be possibly good enough for you then.

przemoc commented 8 years ago

Two minor problems mentioned in my previous comment should be fixed with my 3 recent commits (f256eda0f284, 58955dd62109, d534dd28eb3f) - I checked it on FreeBSD. xattr handling stuff remains to be revamped in future to support different OSes.

From now on GNU make has to be used. On BSDs it goes by the name gmake. I don't know whether it's named differently on Mac or not.

WallStProg commented 8 years ago

Sorry for the confusion -- I just assumed it would build on Mac, and that would certainly be convenient.

However, I'm also getting errors building on Linux (RH 6.5 -- see below), so I'm wondering exactly what platforms are supported? Or are there dependencies I'm not aware of?

Thanks!

/shared/metastore-master $ make
gcc  -g -Wall -pedantic -std=c99 -D_FILE_OFFSET_BITS=64 -O2 -DMETASTORE_VER="\"v1.0.999\""  -o utils.o -c ./src/utils.c
gcc  -g -Wall -pedantic -std=c99 -D_FILE_OFFSET_BITS=64 -O2 -DMETASTORE_VER="\"v1.0.999\""  -o metastore.o -c ./src/metastore.c
gcc  -g -Wall -pedantic -std=c99 -D_FILE_OFFSET_BITS=64 -O2 -DMETASTORE_VER="\"v1.0.999\""  -o metaentry.o -c ./src/metaentry.c
./src/metaentry.c:39:25: error: bsd/string.h: No such file or directory
./src/metaentry.c: In function ‘mentries_dump’:
./src/metaentry.c:651: warning: implicit declaration of function ‘strmode’
make: *** [metaentry.o] Error 1
/shared/metastore-master $ 
przemoc commented 8 years ago

No problem. The only supported platform is Linux atm. Since 7c7eabdfc213 libbsd is required (for non-BSD OSes, to be precise) and this dependency is mentioned in NEWS file. In case of RedHat you'll need to install libbsd-devel package to be able to build metastore.

Please do not reuse the issue for things not related to Mac support in the future.

WallStProg commented 8 years ago

Thanks for the quick reply! I have to admit to not reading the NEWS file — not sure if that’s where I’d expect to find dependencies, but with libbsd-devel installed it builds fine.

If I make any progress getting it built on OSX I’ll be sure to let you know and/or submit a patch.

On Jan 13, 2016, at 10:55 AM, Przemysław Pawełczyk notifications@github.com wrote:

No problem. The only supported platform is Linux atm. Since 7c7eabd https://github.com/przemoc/metastore/commit/7c7eabdfc213636fa1f5a7fe7e457b20a8d7defd libbsd is required (for non-BSD OSes, to be precise) and this dependency is mentioned in NEWS https://github.com/przemoc/metastore/blob/master/NEWS file. In case of RedHat you'll need to install libbsd-devel package to be able to build metastore.

Please do not reuse the issue for things not related to Mac support in the future.

— Reply to this email directly or view it on GitHub https://github.com/przemoc/metastore/issues/39#issuecomment-171340935.

przemoc commented 3 years ago

Some work for Mac support has been done in PR #48.