freeMXF.org
http://freemxf.org/forum/

Linux compilation errors
http://freemxf.org/forum/viewtopic.php?f=3&t=161
Page 1 of 1

Author:  tvtuser [ Tue Aug 19, 2008 5:56 pm ]
Post subject:  Linux compilation errors

Hi there,

I am trying to compile the MXFLib in Fedora 9, and I am getting some rather odd compilation errors. Is this anything that anybody has seen before?

Thanks


Max

make all-recursive
make[1]: Entering directory `/home/max/downloads/mxflib-1.0.1'
Making all in mxflib
make[2]: Entering directory `/home/max/downloads/mxflib-1.0.1/mxflib'
if g++ -DHAVE_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEFAULT_DICT_PATH=\"/usr/local/share/mxflib\" -Wall -g -O2 -MT crypto.o -MD -MP -MF ".deps/crypto.Tpo" -c -o crypto.o crypto.cpp; \
then mv -f ".deps/crypto.Tpo" ".deps/crypto.Po"; else rm -f ".deps/crypto.Tpo"; exit 1; fi
In file included from ../mxflib/mxflib.h:89,
from crypto.cpp:31:
../mxflib/types.h: In constructor ‘mxflib::UL::UL(mxflib::SmartPtr<mxflib::UL>)’:
../mxflib/types.h:154: error: ‘memset’ was not declared in this scope
../mxflib/types.h:154: error: ‘memcpy’ was not declared in this scope
../mxflib/types.h: In copy constructor ‘mxflib::UL::UL(const mxflib::UL&)’:
../mxflib/types.h:157: error: ‘memcpy’ was not declared in this scope
../mxflib/types.h: In constructor ‘mxflib::UUID::UUID(mxflib::SmartPtr<mxflib::UUID>)’:
../mxflib/types.h:304: error: ‘memset’ was not declared in this scope
../mxflib/types.h:304: error: ‘memcpy’ was not declared in this scope
../mxflib/types.h: In copy constructor ‘mxflib::UUID::UUID(const mxflib::UUID&)’:
../mxflib/types.h:307: error: ‘memcpy’ was not declared in this scope
../mxflib/types.h: In member function ‘mxflib::UUID& mxflib::UUID::operator=(const mxflib::UL&)’:


Ultimately, it crashes out with an error at the end of the complication

../mxflib/primer.h:82: instantiated from here
../mxflib/types.h:100: error: ‘memcmp’ was not declared in this scope
../mxflib/types.h:101: error: ‘memcmp’ was not declared in this scope
make[2]: *** [crypto.o] Error 1
make[2]: Leaving directory `/home/max/downloads/mxflib-1.0.1/mxflib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/max/downloads/mxflib-1.0.1'
make: *** [all] Error 2


My .configure file looks like:

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 g++... g++
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -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 fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking whether time.h and sys/time.h may both be included... yes
checking for error_at_line... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for working memcmp... yes
checking for strftime... yes
checking for vprintf... yes
checking for _doprnt... no
checking for floor... no
checking for gettimeofday... yes
checking for memmove... yes
checking for memset... yes
checking for strcasecmp... yes
checking for strerror... yes
checking for strtoul... yes
checking uuid/uuid.h usability... no
checking uuid/uuid.h presence... no
checking for uuid/uuid.h... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking for doxygen... false
configure: WARNING: *** doxygen not found, docs will not be built
checking for dot... NO
configure: WARNING: *** dot not found (part of Graphviz), class graphs will not be built
configure: creating ./config.status
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating Makefile
config.status: creating docs/Makefile
config.status: creating docs/doxyfile.cfg
config.status: creating mxfdump/Makefile
config.status: creating mxflib/Makefile
config.status: creating mxfsplit/Makefile
config.status: creating mxfwrap/Makefile
config.status: creating simplewrap/Makefile
config.status: creating mxf2dot/Makefile
config.status: creating mxfcrypt/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing tests/atconfig commands

Hope you can help or point me in the correct direction.

Thanks

Author:  Matt Beard [ Wed Aug 20, 2008 1:56 pm ]
Post subject: 

Fedora 9 comes with gcc 4.3 which has had some tidying done to the include files. The result is that some standard headers that got included automatically in the past now need to be specified separately.

I have uploaded a fixed version of the source on SourceForge.

Author:  tvtuser [ Thu Aug 21, 2008 9:50 am ]
Post subject: 

Matt Beard wrote:
I have uploaded a fixed version of the source on SourceForge.


Many applogies, but I went to the Sourceforge download page at http://sourceforge.net/project/showfile ... p_id=65032 - but could not see where the modified code was - or have you placed it in CVS?

Author:  Matt Beard [ Thu Aug 21, 2008 2:57 pm ]
Post subject: 

It's an extra file under the " 1.0.1-Beta" release.

Author:  tvtuser [ Thu Aug 21, 2008 3:17 pm ]
Post subject: 

Hi there,

Thanks for posting the new beta version up; I think there is still a small issue as I am still getting the following error when making.

make all-recursive
make[1]: Entering directory `/home/max/downloads/mxflib-beta-1.0.1-gcc4.3'
Making all in mxflib
make[2]: Entering directory `/home/max/downloads/mxflib-beta-1.0.1-gcc4.3/mxflib'
if g++ -DHAVE_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEFAULT_DICT_PATH=\"/usr/local/share/mxflib\" -Wall -g -O2 -MT crypto.o -MD -MP -MF ".deps/crypto.Tpo" \
-c -o crypto.o `test -f 'crypto.cpp' || echo './'`crypto.cpp; \
then mv -f ".deps/crypto.Tpo" ".deps/crypto.Po"; \
else rm -f ".deps/crypto.Tpo"; exit 1; \
fi
In file included from ../mxflib/mxflib.h:38,
from crypto.cpp:31:
../mxflib/system.h: In function ‘void mxflib::MakeUUID(mxflib::UInt8*)’:
../mxflib/system.h:514: error: ‘memcpy’ was not declared in this scope
make[2]: *** [crypto.o] Error 1
make[2]: Leaving directory `/home/max/downloads/mxflib-beta-1.0.1-gcc4.3/mxflib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/max/downloads/mxflib-beta-1.0.1-gcc4.3'
make: *** [all] Error 2

Thanks


Max

Author:  Matt Beard [ Mon Sep 01, 2008 11:15 am ]
Post subject: 

There is also the need for a #include <cstring> at the top of system.h for some configurations.

Fixed now in cvs and a new tar.gz file in the downloads area.

Author:  rbm [ Tue Sep 02, 2008 7:21 am ]
Post subject: 

Max,

Would a SUSE system be easier to use?

AK

Author:  rbm [ Wed Sep 03, 2008 9:23 am ]
Post subject: 

Matt,

What is the preferred OS etc. that you have built your code on, so we can get round the compilation issues?

AK[/quote]

Author:  tvtuser [ Wed Sep 03, 2008 10:38 am ]
Post subject: 

In terms of versions of OSs, it shouldn't really matter too much. I would expect the code to compile on SuSE systems, Redhat and Debian based systems. The only thing that we need to be concerned about the code runs on GCC 4.3.

Thanks

Max

Author:  tvtuser [ Wed Sep 03, 2008 11:30 am ]
Post subject: 

Chaps - Version 2 actually compiles! I'll stick with it and let you know how it goes.

Author:  rbm [ Wed Sep 03, 2008 12:56 pm ]
Post subject: 

Max,

Is that with gcc 4.3

i.e. For SLES:
http://software.opensuse.org/search?bas ... &p=1&q=gcc

Author:  tvtuser [ Wed Sep 03, 2008 2:08 pm ]
Post subject: 

Alasdair,

Yes, it worked using gcc 4.3 - typing gcc --version produced:

gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8)

Thanks


Max

Author:  Matt Beard [ Fri Sep 05, 2008 2:46 pm ]
Post subject: 

Before each release I test on Windows XP or 2000 with MSVC6, Windows XP or 2000 with MSVC7.1, PowerPC Mac with OSX and "current" version of gcc, some variant of Linux (usually the latest Ubuntu) and its gcc.

I have also done tests at various times with various other Linux distributions (including Debian on an Arm920), and Vista. I have also tested with Visual Studio 2005 and Visual Studio Express 2008.

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/