Author |
Message |
tvtuser
Board User
Joined: Tue Aug 19, 2008 5:51 pm Posts: 6
|
Posted: Tue Aug 19, 2008 5:56 pm |
|
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
|
|
|
|
|
Matt Beard
Insider
Joined: Thu Apr 15, 2004 10:39 am Posts: 198 Location: Scotland
|
Posted: Wed Aug 20, 2008 1:56 pm |
|
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.
|
|
|
|
|
tvtuser
Board User
Joined: Tue Aug 19, 2008 5:51 pm Posts: 6
|
Posted: Thu Aug 21, 2008 9:50 am |
|
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?
|
|
|
|
|
Matt Beard
Insider
Joined: Thu Apr 15, 2004 10:39 am Posts: 198 Location: Scotland
|
Posted: Thu Aug 21, 2008 2:57 pm |
|
It's an extra file under the " 1.0.1-Beta" release.
|
|
|
|
|
tvtuser
Board User
Joined: Tue Aug 19, 2008 5:51 pm Posts: 6
|
Posted: Thu Aug 21, 2008 3:17 pm |
|
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
|
|
|
|
|
Matt Beard
Insider
Joined: Thu Apr 15, 2004 10:39 am Posts: 198 Location: Scotland
|
Posted: Mon Sep 01, 2008 11:15 am |
|
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.
|
|
|
|
|
rbm
Rookie
Joined: Tue Sep 02, 2008 7:18 am Posts: 3
|
Posted: Tue Sep 02, 2008 7:21 am |
|
Max,
Would a SUSE system be easier to use?
AK
|
|
|
|
|
rbm
Rookie
Joined: Tue Sep 02, 2008 7:18 am Posts: 3
|
Posted: Wed Sep 03, 2008 9:23 am |
|
Matt,
What is the preferred OS etc. that you have built your code on, so we can get round the compilation issues?
AK[/quote]
|
|
|
|
|
tvtuser
Board User
Joined: Tue Aug 19, 2008 5:51 pm Posts: 6
|
Posted: Wed Sep 03, 2008 10:38 am |
|
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
|
|
|
|
|
tvtuser
Board User
Joined: Tue Aug 19, 2008 5:51 pm Posts: 6
|
Posted: Wed Sep 03, 2008 11:30 am |
|
Chaps - Version 2 actually compiles! I'll stick with it and let you know how it goes.
|
|
|
|
|
rbm
Rookie
Joined: Tue Sep 02, 2008 7:18 am Posts: 3
|
Posted: Wed Sep 03, 2008 12:56 pm |
|
|
|
|
tvtuser
Board User
Joined: Tue Aug 19, 2008 5:51 pm Posts: 6
|
Posted: Wed Sep 03, 2008 2:08 pm |
|
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
|
|
|
|
|
Matt Beard
Insider
Joined: Thu Apr 15, 2004 10:39 am Posts: 198 Location: Scotland
|
Posted: Fri Sep 05, 2008 2:46 pm |
|
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.
|
|
|
|
|
|