Author Topic: mlv_dump on Mac OSX  (Read 23360 times)

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
mlv_dump on Mac OSX
« on: November 01, 2013, 03:18:14 PM »
I'm trying to compile mlv_dump on Mac OSX. Make ends with this error:
mlv_dump.c:1456:34: error: no member named 'buffer' in 'struct raw_info'

I'm using this compiler: https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-none-eabi-4_7-2013q1-20130313-mac.tar.bz2

Maybe someone know how to compile it sucessfully on Mac ?

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3181
  • 60Da / 1100D / EOSM
Re: mlv_dump on Mac OSX
« Reply #1 on: November 01, 2013, 04:05:53 PM »
For starters, unless you are somehow running Mac OSX  on an ARM processor, you shouldn't be using the ARM compiler (the ARM compiler is for ML, b/c the camera's processor is ARM, but mlv_dump is a computer utility, you need to use the compiler for your computer's architecture).  If you have xcode installed with command line tools, you should have a standard version of gcc and also llvm (not sure which versions of those, don't have my mac with me right now). You probably need to modify the makefile to point at the correct compiler for your computer. You might also have to find and download an appropriate version.

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #2 on: November 01, 2013, 04:56:26 PM »
I've got xcode 5.0.1 with command line tools.

gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3181
  • 60Da / 1100D / EOSM
Re: mlv_dump on Mac OSX
« Reply #3 on: November 01, 2013, 05:28:03 PM »
perhaps you need to install and use the "real" gcc compiler rather than apple's llvm version:
http://superuser.com/questions/517218/how-do-i-install-gcc-4-7-2-on-os-x-10-8

those instructions are a little old, I'd go for 4.8 rather than 4.7, but you get the idea.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 9932
  • 5D Mark Free
Re: mlv_dump on Mac OSX
« Reply #4 on: November 01, 2013, 05:38:00 PM »
Or maybe you need to look at the error message and propose a fix.

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #5 on: November 01, 2013, 06:48:34 PM »
I installed gcc 4.7.3 and still the same error...

which gcc
/opt/local/bin/gcc

opt/local/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/opt/local/bin/gcc
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin12/4.7.3/lto-wrapper
Target: x86_64-apple-darwin12
Configured with: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc47/gcc47/work/gcc-4.7.3/configure --prefix=/opt/local --build=x86_64-apple-darwin12 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc47 --includedir=/opt/local/include/gcc47 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.7 --with-libiconv-prefix=/opt/local --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.7 --with-gxx-include-dir=/opt/local/include/gcc47/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-ppl=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --disable-ppl-version-check --with-pkgversion='MacPorts gcc47 4.7.3_3+universal'
Thread model: posix
gcc version 4.7.3 (MacPorts gcc47 4.7.3_3+universal)


perhaps you need to install and use the "real" gcc compiler rather than apple's llvm version:
http://superuser.com/questions/517218/how-do-i-install-gcc-4-7-2-on-os-x-10-8

those instructions are a little old, I'd go for 4.8 rather than 4.7, but you get the idea.

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #6 on: November 01, 2013, 07:19:15 PM »
raw.h

Code: [Select]
#if INTPTR_MAX == INT32_MAX     // only works on 32-bit systems
    void* buffer;                   // points to image data
    #else
    uint32_t do_not_use_this;       // this can't work on 64-bit systems
    #endif

I'm trying to compile it on x64 system so there is no buffer..
added -m32 at the end of this line:
LV_CFLAGS=-DMLV_USE_LZMA -Wpadded -mno-ms-bitfields -O2 -Wall $(LFS_FLAGS) -I$(SRC_DIR) -std=c99

and now it ends with:

Quote
ld: warning: ignoring file lzma/lib7z.a, file was built for archive which is not the architecture being linked (i386): lzma/lib7z.a
Undefined symbols for architecture i386:
  "_LzmaCompress", referenced from:
      _main in cc8H2Vkr.o
  "_LzmaUncompress", referenced from:
      _main in cc8H2Vkr.o
ld: symbol(s) not found for architecture i386
collect2: error: ld returned 1 exit status
make: *** [mlv_dump] Error 1

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #7 on: November 01, 2013, 07:33:07 PM »
ufffff finally it works..

1. I had to install gcc 4.7.3 (sudo port install gcc47 +universal; sudo port select --set gcc mp-gcc47; hash gcc)
2. Makefile:
Quote
MLV_CFLAGS=-DMLV_USE_LZMA -Wpadded -mno-ms-bitfields -O2 -Wall $(LFS_FLAGS) -I$(SRC_DIR) -std=c99 -m32
Quote
LZMA_CFLAGS=-c -O2 -Wall -c -m32
3. CpuArch.c from lzma lib has a bug as described at http://sourceforge.net/p/sevenzip/bugs/1338/
4. CpuArch.c replaced with http://sourceforge.net/p/sevenzip/bugs/_discuss/thread/ceab2abb/ab04/attachment/CpuArch.c

dubzeebass

  • Senior
  • ****
  • Posts: 360
Re: mlv_dump on Mac OSX
« Reply #8 on: November 04, 2013, 04:40:05 PM »
Great Job Marek, can you please post the compiled version here?

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #9 on: November 04, 2013, 09:59:49 PM »

sebamax

  • New to the forum
  • *
  • Posts: 37
Re: mlv_dump on Mac OSX
« Reply #10 on: November 05, 2013, 03:35:14 PM »
Hi,
how to use mlv_dump on Mac OS X
Thanks

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #11 on: November 06, 2013, 11:16:50 AM »
you should to record a raw video using mlv_rec module, then you can convert *.MLV files to DNG or RAW file.

Hi,
how to use mlv_dump on Mac OS X
Thanks

sebamax

  • New to the forum
  • *
  • Posts: 37
Re: mlv_dump on Mac OSX
« Reply #12 on: November 06, 2013, 05:10:21 PM »
Hi,
yes I Know it, but I wanted to know how to convert using mlv_dump.
Thanks

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3181
  • 60Da / 1100D / EOSM

sebamax

  • New to the forum
  • *
  • Posts: 37
Re: mlv_dump on Mac OSX
« Reply #14 on: November 06, 2013, 08:50:48 PM »
Hi,
As I try using mlv_dump I write "./desktop/folder/mlv_dump filename.MLV " into Terminal window, it answers:

" Mode of operation:
   - Input MLV file: 'M05-1620.MLV'
   - Verify file structure
[E] Failed to open file 'M05-1620.MLV' "

Where am I wrong?
Please can someone explain me what to do?
Thanks


dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3181
  • 60Da / 1100D / EOSM
Re: mlv_dump on Mac OSX
« Reply #16 on: November 07, 2013, 01:18:05 PM »
tried passing the whole path to the file?

Hint: you can drag and drop a file onto the termnial window to get the full path

sebamax

  • New to the forum
  • *
  • Posts: 37
Re: mlv_dump on Mac OSX
« Reply #17 on: November 07, 2013, 09:15:46 PM »
Hi,
I tried but the answer is always the same:

"- Verify file structure
[E] Failed to open file 'M05-1620.MLV' ""


LinuxGadget

  • New to the forum
  • *
  • Posts: 11

Viktor Fenster

  • New to the forum
  • *
  • Posts: 5
Re: mlv_dump on Mac OSX
« Reply #20 on: November 18, 2013, 07:01:13 PM »
ufffff finally it works..

1. I had to install gcc 4.7.3 (sudo port install gcc47 +universal; sudo port select --set gcc mp-gcc47; hash gcc)
2. Makefile:3. CpuArch.c from lzma lib has a bug as described at http://sourceforge.net/p/sevenzip/bugs/1338/
4. CpuArch.c replaced with http://sourceforge.net/p/sevenzip/bugs/_discuss/thread/ceab2abb/ab04/attachment/CpuArch.c

Marekk, I'm trying to compile on OSX 10.6.8, however, have you come across these errors?

Code: [Select]
mlv_dump.c: In function ‘main’:
mlv_dump.c:521: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
mlv_dump.c:1076: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘size_t’
mlv_dump.c:1076: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
mlv_dump.c:1339: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘size_t’
mlv_dump.c:1737: error: ‘struct raw_info’ has no member named ‘active_area’
mlv_dump.c:1738: error: ‘struct raw_info’ has no member named ‘active_area’
mlv_dump.c:1739: error: ‘struct raw_info’ has no member named ‘active_area’
mlv_dump.c:1740: error: ‘struct raw_info’ has no member named ‘active_area’
make: *** [mlv_dump] Error 1

g3gg0

  • Developer
  • Hero Member
  • *****
  • Posts: 2972
Re: mlv_dump on Mac OSX
« Reply #21 on: November 18, 2013, 10:02:37 PM »
Marekk, I'm trying to compile on OSX 10.6.8, however, have you come across these errors?

Code: [Select]
mlv_dump.c: In function ‘main’:
mlv_dump.c:521: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
mlv_dump.c:1076: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘size_t’
mlv_dump.c:1076: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
mlv_dump.c:1339: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘size_t’
mlv_dump.c:1737: error: ‘struct raw_info’ has no member named ‘active_area’
mlv_dump.c:1738: error: ‘struct raw_info’ has no member named ‘active_area’
mlv_dump.c:1739: error: ‘struct raw_info’ has no member named ‘active_area’
mlv_dump.c:1740: error: ‘struct raw_info’ has no member named ‘active_area’
make: *** [mlv_dump] Error 1

tried this?
> 1. I had to install gcc 4.7.3 (sudo port install gcc47 +universal; sudo port select --set gcc mp-gcc47; hash gcc)

Viktor Fenster

  • New to the forum
  • *
  • Posts: 5
Re: mlv_dump on Mac OSX
« Reply #22 on: November 19, 2013, 01:37:37 AM »
tried this?
> 1. I had to install gcc 4.7.3 (sudo port install gcc47 +universal; sudo port select --set gcc mp-gcc47; hash gcc)

Compiling version 4.7.3 right now so I'll get back to the thread after I've played around with the new compiler.

lcemmanuel

  • New to the forum
  • *
  • Posts: 4
Re: mlv_dump on Mac OSX
« Reply #23 on: January 05, 2014, 09:37:51 PM »
Hi everyone and thanks for all what is being done !

I tried to convert .mlv on a mac running osx 10.9.1

I dropped mlv_dump followed by the .mlv onto terminal. Here is what I get :

 MLV Dumper v1.0
-----------------

Mode of operation:
   - Input MLV file: '/Users/laurentemmanuel/Desktop/mlvfiles/M03-1804.MLV'
   - Verify file structure
File /Users/laurentemmanuel/Desktop/mlvfiles/M03-1804.MLV opened
File /Users/laurentemmanuel/Desktop/mlvfiles/M03-1804.M00 opened
File /Users/laurentemmanuel/Desktop/mlvfiles/M03-1804.M01 opened
File /Users/laurentemmanuel/Desktop/mlvfiles/M03-1804.M02 opened
Processing...
Reached end of chunk 1/4 after 3370 blocks
Reached end of chunk 2/4 after 3351 blocks
Reached end of chunk 3/4 after 3355 blocks
Reached end of chunk 4/4 after 337 blocks
Processed 5090 video frames
Done

So Terminal says it's done, but it doesn't seem anything happens.

I am not a developer and when I use Terminal, my knowledge is very limited.

Tanks for your insight !

Laurent


lcemmanuel

  • New to the forum
  • *
  • Posts: 4
Re: mlv_dump on Mac OSX
« Reply #25 on: January 05, 2014, 10:39:36 PM »
ok I'll try, many thanks for helping !

lcemmanuel

  • New to the forum
  • *
  • Posts: 4
Re: mlv_dump on Mac OSX
« Reply #26 on: January 05, 2014, 11:36:13 PM »
For the Mac users running Mavericks, converting .mlv to .dng finally worked this way :

http://www.youtube.com/watch?v=PFaiU7rv1pg

Here is a copy of what I wrote in Terminal. I had in the mlv folder on my desktop the following files :

M03_1804.M00
M03_1804.M01
M03_1804.M02
M03_1804.MLV
mlv_dump

mbp-de-laurent:~ laurentemmanuel$ cd desktop
mbp-de-laurent:desktop laurentemmanuel$ cd mlv
mbp-de-laurent:mlv laurentemmanuel$ ./mlv_dump --dng M03-1804.MLV

All dng files were extracted into the original mlv folder.

Thanks everyone for your help !

Laurent


Danne

  • Hero Member
  • *****
  • Posts: 2944
Re: mlv_dump on Mac OSX
« Reply #27 on: January 06, 2014, 01:42:01 AM »
On mac you can use MlvBrowseSharp from here http://www.magiclantern.fm/forum/index.php?topic=8447.0

Or if you simply want to batchconvert all files with a click (inckuding spanned files) you could use this command.script.
http://www.magiclantern.fm/forum/index.php?topic=9731.msg93586#msg93586
If you want the latest mlv_dump simply change the existing one from the link to the latest compiled from g3gg0 to stay current.

lcemmanuel

  • New to the forum
  • *
  • Posts: 4
Re: mlv_dump on Mac OSX
« Reply #28 on: January 06, 2014, 12:13:38 PM »
Thank you very much Danne for the advice.

jacktortuga

  • New to the forum
  • *
  • Posts: 10
  • Canon 6D, Canon 60D
Re: mlv_dump on Mac OSX
« Reply #29 on: February 12, 2014, 09:23:42 PM »
https://www.dropbox.com/s/497bvdlcsd7p160/mlv_dump.zip

Downloaded that from dropbox and used the "drag to termiinal method" worked on some files on my first batch, some didnt, i was able to convert 2 out of 5 MLVs.

Now I always get the error "missing header files"  and cant convert anymore.

Any advice?  Using mavericks and a 60D if that helps

marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #30 on: February 13, 2014, 11:07:26 AM »

Yfripp

  • New to the forum
  • *
  • Posts: 4
Re: mlv_dump on Mac OSX
« Reply #31 on: April 09, 2014, 05:43:10 PM »
ufffff finally it works..

1. I had to install gcc 4.7.3 (sudo port install gcc47 +universal; sudo port select --set gcc mp-gcc47; hash gcc)
2. Makefile:3. CpuArch.c from lzma lib has a bug as described at http://sourceforge.net/p/sevenzip/bugs/1338/
4. CpuArch.c replaced with http://sourceforge.net/p/sevenzip/bugs/_discuss/thread/ceab2abb/ab04/attachment/CpuArch.c

just incase anyone else is running into this issue on x86_x64 linux (im ruinning centos 6.5) adding -m32 to:
MLV_LFLAGS = -m32

solved the issue, it was already included on the MLV_CFLAGS command


marekk

  • Senior
  • ****
  • Posts: 331
  • www.oddajmisie.com
Re: mlv_dump on Mac OSX
« Reply #33 on: April 26, 2014, 01:09:08 PM »
just incase anyone else is running into this issue on x86_x64 linux (im ruinning centos 6.5) adding -m32 to:
MLV_LFLAGS = -m32

solved the issue, it was already included on the MLV_CFLAGS command


Code: [Select]
MLV_CFLAGS = -I$(SRC_DIR) -D MLV_USE_LZMA -m32 -Wpadded -mno-ms-bitfields -D _7ZIP_ST -D MLV2DNG
MLV_LFLAGS = -m32
MLV_LIBS = -lm
MLV_LIBS_MINGW = -lm

after adding -m32 to MLV_LFLAGS it works also on my system:
Code: [Select]
/opt/local/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/opt/local/bin/gcc
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin12/4.8.2/lto-wrapper
Target: x86_64-apple-darwin12
Configured with: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc48/gcc48/work/gcc-4.8.2/configure --prefix=/opt/local --build=x86_64-apple-darwin12 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc48 --includedir=/opt/local/include/gcc48 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.8 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.8 --with-gxx-include-dir=/opt/local/include/gcc48/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --with-pkgversion='MacPorts gcc48 4.8.2_0+universal'
Thread model: posix
gcc version 4.8.2 (MacPorts gcc48 4.8.2_0+universal)

dfort

  • Hero Member
  • *****
  • Posts: 1647
Re: mlv_dump on Mac OSX
« Reply #34 on: June 27, 2015, 10:44:17 PM »
I was able to compile mlv_dump on a Mac. For others who are having trouble I posted the instructions here:

http://www.magiclantern.fm/forum/index.php?topic=7645.msg150386#msg150386

This should help with raw2dng and cr2hdr as well.
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

dfort

  • Hero Member
  • *****
  • Posts: 1647
Re: mlv_dump on Mac OSX
« Reply #35 on: March 18, 2016, 08:53:24 PM »
Fast forward nine months and a new problem is born.

I recently rebuilt my Macintosh development system using Homebrew and it seems that there is an issue that has come up since I first posted that tutorial. Everything works fine except when it comes to building mlv_dump.

Code: [Select]
[ HOST_CC  ]   lzma/XzCrc64.host.o
[ HOST_AR  ]   lzma/lib7z.a
gcc-ar-5: Cannot find plugin 'liblto_plugin.so'
make: *** [lzma/lib7z.a] Error 1

Searching for a solution I came across this: https://github.com/Homebrew/homebrew-versions/issues/139

So it looks like there is something wrong with the current gcc in Homebrew:

Code: [Select]
$ gcc-ar-5
gcc-ar-5: Cannot find plugin 'liblto_plugin.so'

I tried Apple's compiler but it doesn't work either:

Code: [Select]
$ make mlv_dump
[ HOST_CC  ]   mlv_dump.host.o
clang: error: unknown argument: '-mno-ms-bitfields'
make: *** [mlv_dump.host.o] Error 1

However, I can successfully cross-compile a Windows binary with the i686-w64-mingw32-gcc compiler.

Any clues how to get this working again?

[EDIT:] Fixed it!

Turns out that Homebrew plays nicely with Apple's default compiler suite so there's no need to use gcc-ar.

Makefile.user
Code: [Select]
#
# Host compiler settings
#
HOST_CC=gcc-5
HOST_LD=gcc-5
HOST_AR=$(shell which ar)
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*