This forum has been archived. All content is frozen. Please use KDE Discuss instead.

mp4properties.cpp:104: error: 'UINT64_TO_DOUBLE' was not declared in this scope

Tags: None
(comma "," separated)
miles_lane
Registered Member
Posts
1
Karma
0
Current CVS compile error:

make[6]: Entering directory `/Ubuntu/usr/src/multimedia/amarok/src/metadata/mp4'
if /bin/sh ../../../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../.. -I/usr/include/kde -I/usr/lib/qt-3.3/include -I.  -I/usr/include -I/usr/include/taglib  -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT mp4properties.lo -MD -MP -MF ".deps/mp4properties.Tpo" -c -o mp4properties.lo mp4properties.cpp; \
        then mv -f ".deps/mp4properties.Tpo" ".deps/mp4properties.Plo"; else rm -f ".deps/mp4properties.Tpo"; exit 1; fi
mp4properties.cpp: In member function 'void TagLib::MP4::Properties::readAudioTrackProperties(void*, MP4TrackId)':
mp4properties.cpp:104: error: 'UINT64_TO_DOUBLE' was not declared in this scope
make[6]: *** [mp4properties.lo] Error 1

Do I have a broken build environment, or is this a bug in the code?

Thanks.
Martin Aumueller
KDE Developer
Posts
219
Karma
0
This is a problem with your build environment: the macro in question should be defined in libmp4v2's systems.h.
E-Rexxie
Registered Member
Posts
5
Karma
0
Hi there  ... I have the same issue ... but am not an expert in C or C++  how do I correct the issue with the build environment?
Martin Aumueller
KDE Developer
Posts
219
Karma
0
I suspect that you have another include file named 'systems.h'. And it is this other file that gets chosen by your compiler for resolving the #include , but this other systems.h file does not define the macro in question.

A possible work around might be: locate all systems.h files and rename offending ones.
E-Rexxie
Registered Member
Posts
5
Karma
0
hmmm no luck ...  only 1 system.h file on the machine

/usr/include/asm/system.h

and renaming it did not help ...

I'm using a new installation of Fedore Core 5 and installed all the development modules ... trying to get my Amarok (from the svn source) installed with mp4 tag support (if I drop this support then it compiles and works fine).

Some of the extras I've had to download and compile to get amarok up and running are

gtkpod-0.99.4
libgpod-0.3.2
libmp4v2-1.5.0.1
ruby-1.8.5
xine-lib-1.1.2
and they all compiled and installed fine ... except for libgpod which did not copy it's libgpod-1.0.pc file into the /usr/lib/pkgconfig/ dir as expected ... (found that issue on another post on this forum)
E-Rexxie
Registered Member
Posts
5
Karma
0
I've found this file in the libmp4v2 code which contains the ref to the MP4ConvertFromTrackDuration function

mp4.h

u_int64_t MP4ConvertFromTrackDuration(
        MP4FileHandle hFile,
        MP4TrackId trackId,
        MP4Duration duration,
        u_int32_t timeScale);

and it's declared as a u_int64_t so how does one get the system.h (which is missing by the looks of things) to point to this mp4.h ? I'm just guess now ;)
E-Rexxie
Registered Member
Posts
5
Karma
0
ok cool ... i think I'm starting to understand how the system.h file comes into the picture ...

can you please copy your macro from your system.h file please?
E-Rexxie
Registered Member
Posts
5
Karma
0
Anyone able to help me with this build environment problem?
tranfuga25s
Registered Member
Posts
1
Karma
0
Here is the solution:

Just add:

#include

to the mp4properties.cpp

and it Works!

I'm using Slackware 11.0... but may work for you too...

Hope work... :)


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], kde-naveen, Sogou [Bot], Yahoo [Bot]