libyal / libfvde

Library and tools to access FileVault Drive Encryption (FVDE) encrypted volumes
GNU Lesser General Public License v3.0
339 stars 34 forks source link

Unable to compile from git source #62

Closed combs closed 1 year ago

combs commented 1 year ago

Hello! I pulled this repo and checked out release tag 20220915 (https://github.com/libyal/libfvde/commit/14af9b12df647c4a2c939e493b5229f57c8ad00d).

I think I've followed the build directions correctly.

Running synclibs.sh, autogen.sh, ./configure, make I receive a compilation error because of a missing libfdata_tree.h.

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../common -I../include -I../common -I../libcerror -I../libcthreads -I../libcdata -I../libclocale -I../libcnotify -I../libcsplit -I../libuna -I../libcfile -I../libcpath -I../libbfio -I../libfcache -I../libfdata -I../libfguid -I../libfvalue -I../libfplist -I../libhmac -I../libcaes -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -g -O2 -Wall -MT libfvde_logical_volume.lo -MD -MP -MF .deps/libfvde_logical_volume.Tpo -c libfvde_logical_volume.c  -fPIC -DPIC -o .libs/libfvde_logical_volume.o
In file included from libfvde_logical_volume.h:38,
                 from libfvde_logical_volume.c:38:
libfvde_libfdata.h:38:10: fatal error: libfdata_tree.h: No such file or directory
   38 | #include <libfdata_tree.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:893: libfvde_logical_volume.lo] Error 1

I do not see libfdata_tree.h inside the libfdata directory created by synclibs.sh.

This also fails with release 20220807 (https://github.com/libyal/libfvde/commit/80febd963a49106e509e96ddba68fc916c8855b1)

Apologies if I am making a simple mistake here!

env:

Linux pripyat 5.15.0-75-generic #82-Ubuntu SMP Tue Jun 6 23:10:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
joachimmetz commented 1 year ago

Please use the "source distribution package" as advised per https://github.com/libyal/libfvde/wiki/Building#read-first otherwise you'll have to change the code to recent versions of the dependencies and make it work yourself.

combs commented 1 year ago

Thank you!

my mistake was in assuming that checking out a git release ("20220915") and running synclibs.sh was equivalent to the source distributions ("libfvde-experimental-20220915"). they are not.

joachimmetz commented 1 year ago

No its not, git is a version control system used for development, the source distribution packages are for distribution. Unfortunately GitHub does not allow clear distinction between them.