MediaArea / MediaConch

MediaConch (funded by PREFORMA)
31 stars 11 forks source link

MediaConch CLI 16.07 cannot be installed on Ubuntu 16.04 LTS via Linuxbrew #148

Closed retokromer closed 8 years ago

retokromer commented 8 years ago

(It worked fine for MediaConch CLI 16.06 via Linuxbrew.)

Here is the terminal output:

==> Installing amiaopensource/amiaos/ltopers dependency: mediaconch
==> Downloading https://mediaarea.net/download/binary/mediaconch/16.07/MediaConc
Already downloaded: /home/why/.cache/Homebrew/mediaconch-16.07.tar.bz2
==> ./configure --prefix=/home/why/.linuxbrew/Cellar/mediaconch/16.07
==> make
==> ./configure --with-libcurl --prefix=/home/why/.linuxbrew/Cellar/mediaconch/1
==> make install
==> ./configure --prefix=/home/why/.linuxbrew/Cellar/mediaconch/16.07
==> make install
Last 15 lines from /home/why/.cache/Homebrew/Logs/mediaconch/06.make:
../../../Source/Common/mediaconch-Core.o: In function `MediaConch::Core::create_report_mi_xml(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
Core.cpp:(.text+0x4a00b): undefined reference to `MediaInfoLib::MediaInfo::Option(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
../../../Source/Common/mediaconch-Core.o: In function `MediaConch::Core::create_report_mmt_xml(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
Core.cpp:(.text+0x4b17b): undefined reference to `MediaInfoLib::MediaInfo::Option(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
../../../Source/Common/mediaconch-Queue.o: In function `MediaConch::QueueElement::Entry()':
Queue.cpp:(.text+0x6c7): undefined reference to `MediaInfoLib::MediaInfo::Option(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
../../../Source/Common/mediaconch-Queue.o:Queue.cpp:(.text+0x788): more undefined references to `MediaInfoLib::MediaInfo::Option(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)' follow
../../../Source/Common/mediaconch-Queue.o: In function `MediaConch::QueueElement::Entry()':
Queue.cpp:(.text+0x9bb): undefined reference to `MediaInfoLib::MediaInfo::Open(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
Queue.cpp:(.text+0xabf): undefined reference to `MediaInfoLib::MediaInfo::Option(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
Queue.cpp:(.text+0xb8b): undefined reference to `MediaInfoLib::MediaInfo::Option(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
../../../Source/Common/mediaconch-Scheduler.o: In function `MediaConch::Scheduler::another_work_to_do(MediaConch::QueueElement*, MediaInfoLib::MediaInfo*)':
Scheduler.cpp:(.text+0x8a9): undefined reference to `MediaInfoLib::MediaInfo::Get(MediaInfoLib::stream_t, unsigned long, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, MediaInfoLib::info_t, MediaInfoLib::info_t)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:800: mediaconch] Error 1

READ THIS: https://github.com/Linuxbrew/brew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
  https://github.com/Linuxbrew/homebrew-core/issues
tribouille commented 8 years ago

Hi,

at a first sight, it seems due to your MediaInfoLib (libmediainfo-dev on Ubuntu).

Is it installed and reachable when compiling MC? (the -L path to MediaInfoLib or a direst path to libmediainfo.a when linking objects during the compilation)

Is it updated to the last version?

retokromer commented 8 years ago

As long as I know, 0.7.86 is the last version and yes, it is reachable for compilation.

g-maxime commented 8 years ago

Hi,

Normally the medianconch linuxbrew package install its own version of MediaInfoLib, you do not need the linuxbrew media-info nor ubuntu libmediainfo-dev packages.

We would need full build logs to see if it detects the right version.

EDIT: and also the result of this command ls -l .linuxbrew/lib/libmediainfo.*

retokromer commented 8 years ago

Thank you! On my testing computer there is the media-info package:

lrwxrwxrwx 1 test test 46 Jul 21 19:35 .linuxbrew/lib/libmediainfo.a -> ../Cellar/media-info/0.7.86/lib/libmediainfo.a
lrwxrwxrwx 1 test test 47 Jul 21 19:35 .linuxbrew/lib/libmediainfo.so -> ../Cellar/media-info/0.7.86/lib/libmediainfo.so
lrwxrwxrwx 1 test test 49 Jul 21 19:35 .linuxbrew/lib/libmediainfo.so.0 -> ../Cellar/media-info/0.7.86/lib/libmediainfo.so.0
lrwxrwxrwx 1 test test 53 Jul 21 19:35 .linuxbrew/lib/libmediainfo.so.0.0.0 -> ../Cellar/media-info/0.7.86/lib/libmediainfo.so.0.0.0

I will try to delete it and reinstall, and let you know.

retokromer commented 8 years ago

Yep, this way mediaconch has been installed before mediainfo, and worked as expected. Thank you! I may suggest that you add a test, in order to avoid this?

g-maxime commented 8 years ago

MediaConch build fine with media-info installed here (Ubuntu Server 16.04), this bug is strange, maybe compiler ABI changed between the build of media-info and mediaconch.

In all cases, mediaconch comes with is own mediainfolib, I will try to solve this path priority issue.

retokromer commented 8 years ago

FYI: I just updated our production computers under Ubuntu. Same behaviour, but, as I know your hint, by deleting first mediainfo it worked fine.