64 bit errors/warnings
#1
hi, if i try to build on a 32 bit sistem all works with no problems...

if i try to build on a 64 bit enviroment instead i receive errors like that:

Code:
In file included from /usr/include/dbus-1.0/dbus/dbus-address.h:30,
                 from /usr/include/dbus-1.0/dbus/dbus.h:30,
                 from linux/HalManager.h:29,
                 from linux/LinuxFileSystem.h:33,
                 from Application.cpp:207:
/usr/include/dbus-1.0/dbus/dbus-types.h:33: error: 'dbus_uint32_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-types.h:35: error: 'dbus_uint32_t' does not name a type
In file included from /usr/include/dbus-1.0/dbus/dbus-address.h:31,
                 from /usr/include/dbus-1.0/dbus/dbus.h:30,
                 from linux/HalManager.h:29,
                 from linux/LinuxFileSystem.h:33,
                 from Application.cpp:207:
/usr/include/dbus-1.0/dbus/dbus-errors.h:74: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-errors.h:76: error: 'dbus_bool_t' does not name a type
In file included from /usr/include/dbus-1.0/dbus/dbus.h:30,
                 from linux/HalManager.h:29,
                 from linux/LinuxFileSystem.h:33,
                 from Application.cpp:207:
/usr/include/dbus-1.0/dbus/dbus-address.h:43: error: 'dbus_bool_t' does not name a type
In file included from /usr/include/dbus-1.0/dbus/dbus-connection.h:32,
                 from /usr/include/dbus-1.0/dbus/dbus-bus.h:30,
                 from /usr/include/dbus-1.0/dbus/dbus.h:31,
                 from linux/HalManager.h:29,
                 from linux/LinuxFileSystem.h:33,
                 from Application.cpp:207:
/usr/include/dbus-1.0/dbus/dbus-message.h:55: error: 'dbus_uint32_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:91: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:94: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:96: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:99: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:101: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:104: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:106: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:109: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:112: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:117: error: 'dbus_bool_t' has not been declared
/usr/include/dbus-1.0/dbus/dbus-message.h:118: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:119: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:122: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:125: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:127: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:129: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:131: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:133: error: 'dbus_uint32_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:134: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:136: error: 'dbus_uint32_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:139: error: 'dbus_bool_t' has not been declared
/usr/include/dbus-1.0/dbus/dbus-message.h:140: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:142: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:145: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:148: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:151: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:155: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:161: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:163: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:164: error: 'dbus_bool_t' does not name a type
/usr/include/dbus-1.0/dbus/dbus-message.h:185: error: 'dbus_bool_t' does not name a type

this is with dbus, similar errors with glib2

i think to had also found where the problem is..

infact:

Code:
/usr/bin/ccache g++ -c -D__STDC_FORMAT_MACROS -pg -O2 -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -I/usr/include/lzo -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_MMS -DHAS_PCRE -DHAL_HANDLEMOUNT -DINSTALL_PATH="\"/usr/share/xbmc\""  -I. -I../ -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include

as you can see here we have

-I/usr/lib/glib-2.0/include

and

-I/usr/lib/dbus-1.0/include

that's true on a 32bit system but on 64bit that should be:

-I/usr/lib64/dbus-1.0/include

-I/usr/lib64/glib-2.0/include


could be usefull to use a "libdir" variable instead a "static" link to /usr/lib

Andrea
Reply
#2
Why does your lib dir on a 64-bit system point to 32-bit libraries? Are you using Ubuntu?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#3
+1

And by the way, we have a daily svn build on all architecture (i386 and amd64) for the PPA. So if there were a problem with amd64 we would know for sure.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image

Want a clean no-ads paste bin? http://pastebin.ubuntu.com/
Reply
#4
One more thing, your problems are due to a bad packaging of the packages in your distro.
it's useless to use /usr/lib64/dbus-1.0/include instead of /usr/lib/dbus-1.0/include on a 64 bit system (cause obviously, you won't install 32 bit headers on it)

Basically I believe we won't officially support such an OS ( creating some hacks in our code) .
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image

Want a clean no-ads paste bin? http://pastebin.ubuntu.com/
Reply
#5
This is how a proper 64-bit system should be set up:
Code:
$ ls -ald /usr/lib*
drwxr-xr-x 153 root root 40960 2008-07-02 07:36 /usr/lib
drwxr-xr-x   5 root root  4096 2008-05-25 01:26 /usr/lib32
lrwxrwxrwx   1 root root     3 2008-01-10 05:58 /usr/lib64 -> lib

Notice that lib64 points to lib. lib32 is where you will find your 32 bit libs.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#6
malloc Wrote:Why does your lib dir on a 64-bit system point to 32-bit libraries? Are you using Ubuntu?

Why they point to 32 bit?

btw, of course not ubuntu will never be my distro Big Grin

wattazoum Wrote:+1

And by the way, we have a daily svn build on all architecture (i386 and amd64) for the PPA. So if there were a problem with amd64 we would know for sure.


mmm i don't knew that.. i was using the svn code downloaded here:

https://xbmc.svn.sourceforge.net/svnroot...xport/XBMC

where can i found the 64bit source?

thanks

malloc Wrote:This is how a proper 64-bit system should be set up:
Code:
$ ls -ald /usr/lib*
drwxr-xr-x 153 root root 40960 2008-07-02 07:36 /usr/lib
drwxr-xr-x   5 root root  4096 2008-05-25 01:26 /usr/lib32
lrwxrwxrwx   1 root root     3 2008-01-10 05:58 /usr/lib64 -> lib

Notice that lib64 points to lib. lib32 is where you will find your 32 bit libs.

i don't think it's right.. infact on a 64bit you should be able to run also 32bit programs

so, if i install a 32 bit package on a 64bit system with that links i could have problmes because it will install libs in /usr/lib forlder where also exist the 64 bit ones, with problems you could imagine.

any way.. here exit

/usr/lib (32 bit stuff)

and

/usr/lib64 (64 bit stuff)

no lib32 dir and no symlink to lib folder
Reply
#7
Quote:btw, of course not ubuntu will never be my distro Big Grin

One might tell you: "We only support Ubuntu. It's written everywhere in the forum and on the website".

Quote:where can i found the 64bit source?

There is no such thing as 64 bit source. Our source code is compatible 32 and 64 bit. We use the same source code for both builds.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image

Want a clean no-ads paste bin? http://pastebin.ubuntu.com/
Reply
#8
wattazoum Wrote:One might tell you: "We only support Ubuntu. It's written everywhere in the forum and on the website".

yes i red that, but ubuntu IS NOT LINUX Wink how some ubuntu users beleive (i'm not talking about you or XBMC developers)

wattazoum Wrote:There is no such thing as 64 bit source. Our source code is compatible 32 and 64 bit. We use the same source code for both builds.

i red bad, sorry Sad


any way an easy way to fix it and make it easy to build on LINUX (not on ubuntu) is to change for example

libdir='${exec_prefix}/lib'
to
libdir='${exec_prefix}/${lib}' (or ${libdir} )

where ${lib} is "lib" on 32 bit and "lib64" on 64bit
Reply
#9
Quote:yes i red that, but ubuntu IS NOT LINUX Wink how some ubuntu users beleive (i'm not talking about you or XBMC developers)

Personally, I know very well that Ubuntu is not GNU/Linux which is even different from Linux. But as a Team XBMC member, I don't care about that. We stated that the distribution we support is Ubuntu and that's it.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image

Want a clean no-ads paste bin? http://pastebin.ubuntu.com/
Reply
#10
well as you wish... not here to critic.

but, can you help to create a patch bye my self?

thanks
Reply
#11
btw, looks to be enougth export some flags before configure:

Code:
export CFLAGS="-I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/include"
./configure (--option-you-need)
make
Reply
#12
anubigs1, if you create a patch where we could say
./configure --libdir=/usr/lib64
or
./configure --libdir=/foo/bar
we would probably add it to svn. How much autoconf do you know?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#13
ok, i'll works on it... so..

is it it enought to add libdir support?
Reply
#14
if you'd like to add more, feel free.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#15
Here's the changes I've made so far on my end that seem to help the compile along for Fedora 10 users.

ln -s /usr/lib64/dbus-1.0/include/dbus/dbus-arch-deps.h /usr/include/dbus-1.0/dbus

./configure --libdir=/lib64

Seems like the compile is working fine so far...still compiling.
Reply

Logout Mark Read Team Forum Stats Members Help
64 bit errors/warnings0