Solved

Is linux compile application depended of the kernel?

Posted on 2010-08-23
22
879 Views
Last Modified: 2013-11-14
I hope my question is understandable. :)

What I mean is, if you have 2 CPU, INTEL and AMD and you compile a linux application on the INTEL platform, can that application be used on the AMD platform? I might be confused, but I hope my question can be understod.
0
Comment
Question by:QC20N
  • 10
  • 5
  • 5
  • +1
22 Comments
 
LVL 9

Expert Comment

by:jeremycrussell
ID: 33502861
Yes, unless you have used libraries or functions that use specific controls of the processor, normally compiled binaries are compatible across the same architecture with no modifications.  The things you'll want to look out for is compatibility of libraries used (Libc in general) and other dependencies, if you're program is fairly small in size and uses mostly standard functions, you shouldn't have any problems.
0
 
LVL 9

Expert Comment

by:svs
ID: 33503418
And unless you have used processor-specific optimization flags.
0
 

Author Comment

by:QC20N
ID: 33503533
Sound good.
Maybe you could help me why I get an error when I compile MediaInfo on QNAP SS-839?

The file I have been using is from http://mediainfo.sourceforge.net/en/Download/Source and it is Source code, all in one package.
[/share/MD0_DATA/MediaInfo_CLI_GNU_FromSource] # ./CLI_Compile.sh

checking build system type... i686-pc-linux-gnu

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables... 

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ANSI C... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking for g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking host system type... i686-pc-linux-gnu

checking for a sed that does not truncate output... /bin/sed

checking for egrep... grep -E

checking for ld used by gcc... /share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld

checking if the linker (/share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld) is GNU ld... yes

checking for /share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld option to reload object files... -r

checking for BSD-compatible nm... /opt/bin/nm -B

checking whether ln -s works... yes

checking how to recognise dependent libraries... pass_all

checking how to run the C preprocessor... gcc -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking dlfcn.h usability... yes

checking dlfcn.h presence... yes

checking for dlfcn.h... yes

checking how to run the C++ preprocessor... g++ -E

checking for g77... no

checking for f77... no

checking for xlf... no

checking for frt... no

checking for pgf77... no

checking for fort77... no

checking for fl32... no

checking for af77... no

checking for f90... no

checking for xlf90... no

checking for pgf90... no

checking for epcf90... no

checking for f95... no

checking for fort... no

checking for xlf95... no

checking for ifc... no

checking for efc... no

checking for pgf95... no

checking for lf95... no

checking for gfortran... no

checking whether we are using the GNU Fortran 77 compiler... no

checking whether  accepts -g... no

checking the maximum length of command line arguments... 32768

checking command to parse /opt/bin/nm -B output from gcc object... ok

checking for objdir... .libs

checking for ar... ar

checking for ranlib... ranlib

checking for strip... strip

checking if gcc supports -fno-rtti -fno-exceptions... ./configure: line 6604: diff: command not found

no

checking for gcc option to produce PIC... -fPIC

checking if gcc PIC flag -fPIC works... yes

checking if gcc static flag -static works... no

checking if gcc supports -c -o file.o... yes

checking whether the gcc linker (/share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... no

checking whether to build static libraries... yes

configure: creating libtool

appending configuration tag "CXX" to libtool

checking for ld used by g++... /share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld

checking if the linker (/share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld) is GNU ld... yes

checking whether the g++ linker (/share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld) supports shared libraries... yes

checking for g++ option to produce PIC... -fPIC

checking if g++ PIC flag -fPIC works... yes

checking if g++ static flag -static works... no

checking if g++ supports -c -o file.o... yes

checking whether the g++ linker (/share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

appending configuration tag "F77" to libtool

checking for a BSD-compatible install... /usr/bin/install -c

configure: creating ./config.status

config.status: creating libzen-config

config.status: creating libzen.pc

config.status: creating Makefile

config.status: executing depfiles commands



Configured ZenLib for 'i686-pc-linux-gnu'



  Unicode?                                                yes

  wstring missing support?                                no

  Large files support?                                    yes

  Using WxWidgets?                                        no



  Create static lib?                                      yes

  Create shared lib?                                      no



  CXXFLAGS:  -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2

  LIBS: 

test -z "libzen.la" || rm -f libzen.la

rm -f "./so_locations"

rm -rf .libs _libs

rm -f *.o

rm -f *.lo

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Conf.lo -MD -MP -MF .deps/Conf.Tpo -c ../../../Source/ZenLib/Conf.cpp -o Conf.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT CriticalSection.lo -MD -MP -MF .deps/CriticalSection.Tpo -c ../../../Source/ZenLib/CriticalSection.cpp -o CriticalSection.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Dir.lo -MD -MP -MF .deps/Dir.Tpo -c ../../../Source/ZenLib/Dir.cpp -o Dir.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT File.lo -MD -MP -MF .deps/File.Tpo -c ../../../Source/ZenLib/File.cpp -o File.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT FileName.lo -MD -MP -MF .deps/FileName.Tpo -c ../../../Source/ZenLib/FileName.cpp -o FileName.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT InfoMap.lo -MD -MP -MF .deps/InfoMap.Tpo -c ../../../Source/ZenLib/InfoMap.cpp -o InfoMap.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT int128s.lo -MD -MP -MF .deps/int128s.Tpo -c ../../../Source/ZenLib/int128s.cpp -o int128s.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT int128u.lo -MD -MP -MF .deps/int128u.Tpo -c ../../../Source/ZenLib/int128u.cpp -o int128u.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT MemoryDebug.lo -MD -MP -MF .deps/MemoryDebug.Tpo -c ../../../Source/ZenLib/MemoryDebug.cpp -o MemoryDebug.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT OS_Utils.lo -MD -MP -MF .deps/OS_Utils.Tpo -c ../../../Source/ZenLib/OS_Utils.cpp -o OS_Utils.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Translation.lo -MD -MP -MF .deps/Translation.Tpo -c ../../../Source/ZenLib/Translation.cpp -o Translation.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Thread.lo -MD -MP -MF .deps/Thread.Tpo -c ../../../Source/ZenLib/Thread.cpp -o Thread.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Utils.lo -MD -MP -MF .deps/Utils.Tpo -c ../../../Source/ZenLib/Utils.cpp -o Utils.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Ztring.lo -MD -MP -MF .deps/Ztring.Tpo -c ../../../Source/ZenLib/Ztring.cpp -o Ztring.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT ZtringList.lo -MD -MP -MF .deps/ZtringList.Tpo -c ../../../Source/ZenLib/ZtringList.cpp -o ZtringList.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT ZtringListList.lo -MD -MP -MF .deps/ZtringListList.Tpo -c ../../../Source/ZenLib/ZtringListList.cpp -o ZtringListList.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT ZtringListListF.lo -MD -MP -MF .deps/ZtringListListF.Tpo -c ../../../Source/ZenLib/ZtringListListF.cpp -o ZtringListListF.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Html_Handler.lo -MD -MP -MF .deps/Html_Handler.Tpo -c ../../../Source/ZenLib/Format/Html/Html_Handler.cpp -o Html_Handler.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Html_Request.lo -MD -MP -MF .deps/Html_Request.Tpo -c ../../../Source/ZenLib/Format/Html/Html_Request.cpp -o Html_Request.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Http_Cookies.lo -MD -MP -MF .deps/Http_Cookies.Tpo -c ../../../Source/ZenLib/Format/Http/Http_Cookies.cpp -o Http_Cookies.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Http_Handler.lo -MD -MP -MF .deps/Http_Handler.Tpo -c ../../../Source/ZenLib/Format/Http/Http_Handler.cpp -o Http_Handler.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Http_Request.lo -MD -MP -MF .deps/Http_Request.Tpo -c ../../../Source/ZenLib/Format/Http/Http_Request.cpp -o Http_Request.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT Http_Utils.lo -MD -MP -MF .deps/Http_Utils.Tpo -c ../../../Source/ZenLib/Format/Http/Http_Utils.cpp -o Http_Utils.o

../../../Source/ZenLib/Format/Http/Http_Utils.cpp:88:23: warning: multi-character character constant

../../../Source/ZenLib/Format/Http/Http_Utils.cpp: In function 'std::string ZenLib::Format::Http::URL_Encoded_Encode(const std::string&)':

../../../Source/ZenLib/Format/Http/Http_Utils.cpp:88: warning: comparison is always false due to limited range of data type

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT tinyxml.lo -MD -MP -MF .deps/tinyxml.Tpo -c ../../../Source/ZenLib/TinyXml/tinyxml.cpp -o tinyxml.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT tinyxmlerror.lo -MD -MP -MF .deps/tinyxmlerror.Tpo -c ../../../Source/ZenLib/TinyXml/tinyxmlerror.cpp -o tinyxmlerror.o

 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ZenLib\" -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I../../../Source -DUNICODE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -fPIC -O2 -MT tinyxmlparser.lo -MD -MP -MF .deps/tinyxmlparser.Tpo -c ../../../Source/ZenLib/TinyXml/tinyxmlparser.cpp -o tinyxmlparser.o

mkdir .libs

grep: /home/slug/optware/ts509/toolchain/i686-unknown-linux-gnu/i686-unknown-linux-gnu/lib/libstdc++.la: No such file or directory

sed: /home/slug/optware/ts509/toolchain/i686-unknown-linux-gnu/i686-unknown-linux-gnu/lib/libstdc++.la: No such file or directory

libtool: link: `/home/slug/optware/ts509/toolchain/i686-unknown-linux-gnu/i686-unknown-linux-gnu/lib/libstdc++.la' is not a valid libtool archive

make: *** [libzen.la] Error 1

Problem while compiling ZenLib

Open in new window

0
 
LVL 9

Expert Comment

by:jeremycrussell
ID: 33503559
Looks like it could be an issue with the configure script or Makefile.

Its looking for a file that doesn't exist:
grep: /home/slug/optware/ts509/toolchain/i686-unknown-linux-gnu/i686-unknown-linux-gnu/lib/libstdc++.la: No such file or directory


That looks like some leftover residue from the development of the code.

You may be able to fix it by looking for the reference in the Makefiles and editing them to have the correct path.
0
 

Author Comment

by:QC20N
ID: 33504003
I have no clue what to search for.

Do you thing you could help me. I will ofcorse raise point on this.
0
 

Author Comment

by:QC20N
ID: 33504116
I did a lookup with this:
find / -name libstdc++.la

And found it in this path:
/share/MD0_DATA/.qpkg/Optware/lib/libstdc++.la
0
 
LVL 9

Expert Comment

by:jeremycrussell
ID: 33504227
Ok...

Open the file "Makefile" with an editor and look for the path "/home/slug/optware/ts509/toolchain/i686-unknown-linux-gnu/i686-unknown-linux-gnu" somewhere.  If you can find that, it may be siimple enough to substitute the path with the real path.

However, if you are able to fix that, it may reveal another issue.  The problem probably lies within the "configure" script and it may be worth while to log this with the original developers.

You can always to compile the previous version of the software as well.

0
 

Author Comment

by:QC20N
ID: 33505309
I can't find any makefile.
0
 
LVL 9

Expert Comment

by:jeremycrussell
ID: 33505349
There should be a file named "Makefile" (M is capitalized) in /share/MD0_DATA/MediaInfo_CLI_GNU_FromSource.
0
 

Author Comment

by:QC20N
ID: 33505399
Oh, yes.

I can see 7 makefile with fileextension *.am and *.in, but I can't find the path you want me to look for in them.
0
Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

 

Author Comment

by:QC20N
ID: 33505670
I found the Makefile in [/share/MD0_DATA/MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library]
but there is no path starting with "/home/..."
0
 
LVL 9

Expert Comment

by:jeremycrussell
ID: 33505998
That's what I was afraid of.   Next step would be to look through the config.status file and see if you can find references to libstdc++.la and see if you can track down the issue...

Would be a good time to hit up the original developer for some help as well.
0
 
LVL 4

Expert Comment

by:atech1
ID: 33508060
I would start by tracking down these two paths in the ./CLI_Compile.sh script.

what are they for? is the "/home" the install location? is the "/share" the build location?

why is "i686-unknown-linux-gnu" referenced twice in the "/home" path?

/share/MD0_DATA/.qpkg/Optware/i686-unknown-linux-gnu/bin/ld

/home/slug/optware/ts509/toolchain/i686-unknown-linux-gnu/i686-unknown-linux-gnu/lib/

In this type of hunt you have to look for clues at the configure (if any), Makefile (if any) and CLI_Compile.sh script.

Have you eSearched(TM) for others running into similar issues in mail archives, etc?

----
0
 

Author Comment

by:QC20N
ID: 33509060
jeremycrussell:

Couldn't find libstdc++.la in the config.status file.

atech1:
I can't find anything in the CLI_Compile.sh file as you can see in the attachment.
#! /bin/sh



#############################################################################

# Configure

Home=`pwd`

ZenLib_Options=""



#############################################################################

# Setup for parallel builds

Zen_Make()

{

 if test -e /proc/stat; then

  numprocs=`egrep -c ^cpu[0-9]+ /proc/stat || :`

  if [ "$numprocs" = "0" ]; then

   numprocs=1

  fi

  make -s -j$numprocs

 else

  make

 fi

}



#############################################################################

# ZenLib

if test -e ZenLib/Project/GNU/Library/configure; then

 cd ZenLib/Project/GNU/Library/

 test -e Makefile && rm Makefile

 chmod u+x configure

 ./configure $ZenLib_Options $*

 if test -e Makefile; then

  make clean

  Zen_Make

  if test -e libzen.la; then

   echo ZenLib compiled

  else

   echo Problem while compiling ZenLib

   exit

  fi

 else

  echo Problem while configuring ZenLib

  exit

 fi

else

 echo ZenLib directory is not found

 exit

fi

cd $Home



#############################################################################

# MediaInfoLib

if test -e MediaInfoLib/Project/GNU/Library/configure; then

 cd MediaInfoLib/Project/GNU/Library/

 test -e Makefile && rm Makefile

 chmod u+x configure

 ./configure $*

 if test -e Makefile; then

  make clean

  Zen_Make

  if test -e libmediainfo.la; then

   echo MediaInfoLib compiled

  else

   echo Problem while compiling MediaInfoLib

   exit

  fi

 else

  echo Problem while configuring MediaInfoLib

  exit

 fi

else

 echo MediaInfoLib directory is not found

 exit

fi

cd $Home



#############################################################################

# MediaInfo

if test -e MediaInfo/Project/GNU/CLI/configure; then

 cd MediaInfo/Project/GNU/CLI/

 test -e Makefile && rm Makefile

 chmod u+x configure

 ./configure --enable-staticlibs $*

 if test -e Makefile; then

  make clean

  Zen_Make

  if test -e mediainfo; then

   echo MediaInfo compiled

  else

   echo Problem while compiling MediaInfo

   exit

  fi

 else

  echo Problem while configuring MediaInfo

  exit

 fi

else

 echo MediaInfo directory is not found

 exit

fi

cd $Home



#############################################################################

# Going home

cd $Home

echo "MediaInfo executable is in MediaInfo/Project/GNU/CLI"

echo "For installing, cd MediaInfo/Project/GNU/CLI && make install"

Open in new window

0
 
LVL 4

Expert Comment

by:atech1
ID: 33512424
At the start of the script you got:

Home=`pwd`

That's were you are running "configure" and where everything is built.

The script has this line:

./configure $ZenLib_Options $*

so, there is a "configure" script. Go down the rabbit hole and find out what's in there.

----
0
 

Author Comment

by:QC20N
ID: 33515772
That is very nice, but my linux knowledge is zero.

I don't know what ./configure $ZenLib_Options $* means. You are saying that it's a Configure script, ok. What kind of configure script? I really don't know and that is why I have posted this problem on EE.
0
 
LVL 4

Expert Comment

by:atech1
ID: 33516922
Among the files packaged in a OpenSource product, there is a "driver" script called "the configure script" which creates a system specific Makefile, which is used to compile the software to work with the given system.

The configure script has all references to what is required to create that initial configuration. The references are library and header file locations, build paths, default installation directory, compiler directives, what compiler to use, several checks to make sure the system has all required components, and when one of those components does not check out, the process bails out. Hence, a bit of hunting skills is required to find out what is breaking it.

----
0
 

Author Comment

by:QC20N
ID: 33518870
Are you up for the hunting? :)
0
 
LVL 4

Expert Comment

by:atech1
ID: 33523116
No. sorry... this is too much down to the details of your system setup and I just don't have the time for it. It can be time consuming.

----
0
 

Accepted Solution

by:
QC20N earned 0 total points
ID: 33529406
Well, I found the problem.

I was not aware that I should write the option -march=i486 to a file called "configuere".

I have now compiled mediaInfo_cli version.
0
 
LVL 4

Expert Comment

by:atech1
ID: 33533245
There you go.
That's what it takes. Going into the file "configure" and look for things.
Good job.

----
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Join & Write a Comment

The purpose of this article is to demonstrate how we can use conditional statements using Python.
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now