simsong / BEViewer

Other
4 stars 4 forks source link

RE: Cross Compile for Windows with E01 Support #8

Open shado1095 opened 8 years ago

shado1095 commented 8 years ago

Hi

Pulled the most recent version of the source as a tar, expanded it out for compilation of Windows binaries, and followed the instructions:

./CONFIGURE_F20.bash cd ..; make win64

Keep getting executables that do not have E01 support but, libewf has been installed via yum and the pull made by CONFIGURE_F20.bash for the libewf is successful. This is being done on Fedora 23 VM 64 bit, did have to edit the CONFIGURE_F20.bash to change java 1.7 to 1.8 as it couldn't get that package.

Any ideas on what steps may be missing on how to get a cross compiled binary for windows that has E01 support?

Thank you.

Shado

BruceMty commented 8 years ago

If libewf does not build, bulk_extractor will build without it. Fedora23 uses a newer gcc v5 cross compiler which does not work with libewf-20140406. A bash script and patch for cross-compiling libewf-20140406 on FC23 are included below.

-Bruce

Script to build libewf on FC23:

if [ ! -r /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libewf.a ]; then LIBEWF_TAR_GZ=libewf-20140406.tar.gz LIBEWF_URL=https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/$LIBEWF_TAR_GZ echo Building LIBEWF

if [ ! -r $LIBEWF_TAR_GZ ]; then wget --content-disposition $LIBEWF_URL fi tar xvf $LIBEWF_TAR_GZ

get the directory that it unpacked into

DIR=tar tf $LIBEWF_TAR_GZ |head -1

build and install LIBEWF in mingw

pushd $DIR echo echo %%% $LIB mingw64

patch libewf/libuna/libuna_inline.h for GCC5

patch -p0 <../libewf-20140406-gcc5-compatibility.patch

configure

CPPFLAGS=-DHAVE_LOCAL_LIBEWF mingw64-configure --enable-static --disable-shared make clean make sudo make install make clean popd rm -rf $DIR fi

Patch file libewf-20140406-gcc5-compatibility.patch:

--- libuna/libuna_inline.h.orig 2016-03-31 11:53:52.655941638 -0700 +++ libuna/libuna_inline.h 2016-03-31 11:55:10.404944126 -0700 @@ -27,7 +27,7 @@

if defined( _MSC_VER )

define LIBUNA_INLINE _inline

-#elif defined( BORLANDC ) || defined( clang ) +#elif defined( BORLANDC ) || defined( clang ) || ( defined( GNUC ) && GNUC >= 5 )

define LIBUNA_INLINE /* inline */

else

On 04/10/2016 11:03 AM, shado1095 wrote:

Hi

Pulled the most recent version of the source as a tar, expanded it out for compilation of Windows binaries, and followed the instructions:

./CONFIGURE_F20.bash cd ..; make win64

Keep getting executables that do not have E01 support but, libewf has been installed via yum and the pull made by CONFIGURE_F20.bash for the libewf is successful. This is being done on Fedora 23 VM 64 bit, did have to edit the CONFIGURE_F20.bash to change java 1.7 to 1.8 as it couldn't get that package.

Any ideas on what steps may be missing on how to get a cross compiled binary for windows that has E01 support?

Thank you.

Shado

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/simsong/bulk_extractor/issues/75