?
Solved

Is linux compile application depended of the kernel?

Posted on 2010-08-23
22
Medium Priority
?
911 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Percona Live Europe 2017 | Sep 25 - 27, 2017

The Percona Live Open Source Database Conference Europe 2017 is the premier event for the diverse and active European open source database community, as well as businesses that develop and use open source database software.

 
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
 

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

CHALLENGE LAB: Troubleshooting Connectivity Issues

Goal: Fix the connectivity issue in the lab's AWS environment so that you can SSH into the provided EC2 instance.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The business world is becoming increasingly integrated with tech. It’s not just for a select few anymore — but what about if you have a small business? It may be easier than you think to integrate technology into your small business, and it’s likely…
Compliance and data security require steps be taken to prevent unauthorized users from copying data.  Here's one method to prevent data theft via USB drives (and writable optical media).
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This Micro Tutorial will teach you how to reformat your flash drive. Sometimes your flash drive may have issues carrying files so this will completely restore it to manufacturing settings. Make sure to backup all files before reformatting. This w…
Suggested Courses
Course of the Month8 days, 10 hours left to enroll

764 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