Opened 15 years ago

Closed 15 years ago

#21138 closed defect (fixed)

strigi fails to build 64-bit

Reported by: andrea@… Owned by: clubjuggler@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: LP64 Cc: ruud@…, mf2k (Frank Schima), julienzoubian@…, nicos_pavlov@…, bgrupe27, domiman@…, macports@…, nerdling (Jeremy Lavergne), charmedguy18@…
Port: strigi

Description (last modified by tobypeterson)

Looks like a 64-bit issue to me.

Attachments (7)

strigi_build.txt (480.5 KB) - added by andrea@… 15 years ago.
port -dv install strigi
Portfile-strigi (2.1 KB) - added by mf2k (Frank Schima) 15 years ago.
Modified strigi portfile
patch-dbusclientinterface.cpp.diff (450 bytes) - added by mf2k (Frank Schima) 15 years ago.
This is the 2nd patch based on a generated file that I cannot get to work with the portfile.
patch-dbusmessagereader.cpp.diff (449 bytes) - added by mf2k (Frank Schima) 15 years ago.
This is the 1st patch and it works fine.
patch-MacroCheckGccVisibility.cmake.diff (658 bytes) - added by mf2k (Frank Schima) 15 years ago.
Re-made the existing portfile patch to use p0.
strigi.txt (11.5 KB) - added by payam.minoofar@… 15 years ago.
fix-dbus-types.patch (2.8 KB) - added by jeremy.laine@… 15 years ago.
Update Portfile to fix build on x86_64

Download all attachments as: .zip

Change History (30)

Changed 15 years ago by andrea@…

Attachment: strigi_build.txt added

port -dv install strigi

comment:1 Changed 15 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to clubjuggler@…

comment:2 Changed 15 years ago by tobypeterson

Description: modified (diff)
Keywords: LP64 added; snowleopard removed
Summary: strigi fails to build on OS 10.6strigi fails to build 64-bit
Version: 1.8.99

comment:3 Changed 15 years ago by ruud@…

Cc: ruud@… added

Cc Me!

comment:4 Changed 15 years ago by mf2k (Frank Schima)

Cc: macsforever2000@… added

Cc Me!

comment:5 Changed 15 years ago by julienzoubian@…

Cc: julienzoubian@… added

Cc Me!

comment:6 Changed 15 years ago by nicos_pavlov@…

Cc: nicos_pavlov@… added

Cc Me!

comment:7 Changed 15 years ago by mkr@…

The problem is in strigi itself. I tried to compile it by hand and found that some variables have wrong types.

You have to make two changes, to compile it successfully:

src/daemon/dbus/dbuscpp/dbusmessagereader.cpp: Line 66
change: DBusMessageReader::operator>>(int64_t& s) {
into: DBusMessageReader::operator>>(dbus_int64_t& s) {

build/src/daemon/dbus/dbusclientinterface.cpp: Line 148
change: uint64_t mtime;
into: dbus_uint64_t mtime;

The second file is generated during compilation.

So the workaround is:
Do "sudo port install strigi", wait until it breaks and change the first file:
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_strigi/work/strigi-0.6.3/
edit src/daemon/dbus/dbuscpp/dbusmessagereader.cpp

Then "sudo port install strigi" again, wait until it breaks again and change the second file:
edit src/daemon/dbus/dbusclientinterface.cpp
(in MacPorts it's built in the src directory, so no "build/" in front of the path)

Then "sudo port install strigi" again, and it should compile successfully.

I'll see if I can communicate this directly to the strigi people...

comment:8 in reply to:  7 Changed 15 years ago by ruud@…

Replying to mkr@…:

The problem is in strigi itself. I tried to compile it by hand and found that some variables have wrong types.

You have to make two changes, to compile it successfully:

Fixes it for me, thanks.

comment:9 Changed 15 years ago by bgrupe27

Cc: bgrupe@… added

Cc Me!

comment:10 Changed 15 years ago by domiman@…

Cc: domiman@… added

Cc Me!

comment:11 Changed 15 years ago by mf2k (Frank Schima)

I'm not quite able to make the 2nd patch work in the Portfile. I'm going to attach my attempt so far.

Changed 15 years ago by mf2k (Frank Schima)

Attachment: Portfile-strigi added

Modified strigi portfile

Changed 15 years ago by mf2k (Frank Schima)

This is the 2nd patch based on a generated file that I cannot get to work with the portfile.

Changed 15 years ago by mf2k (Frank Schima)

This is the 1st patch and it works fine.

Changed 15 years ago by mf2k (Frank Schima)

Re-made the existing portfile patch to use p0.

Changed 15 years ago by payam.minoofar@…

Attachment: strigi.txt added

comment:12 Changed 15 years ago by payam.minoofar@…

As of today, I can't get strigi to build with any of the above prescriptions. I have attached the output that port reported as strigi.txt

comment:13 Changed 15 years ago by florian.feldhaus@…

Same for me. The two fixes solved the first problems, but Strigi didn't finnish building. I figured out, that it was building i386 and x86_64 binaries, even I didn't have the universal option set. The following worked for me: sudo port clean strigi sudo port install strigi -universal

You will run into the problems mentioned above. If the patches don't work, apply the changes by hand!

comment:14 Changed 15 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:15 Changed 15 years ago by macports@…

Cc: macports@… removed

Cc Me!

comment:16 Changed 15 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:17 Changed 15 years ago by macports@…

Workaround worked for me (using the mentioned patches and -universal option)

comment:18 Changed 15 years ago by zuxez@…

Hi. I came up with this patch to fix the issue for Gentoo/Prefix. The problem is that strigi seems to have some internal data type problems, which in conjunction with the auto-generation of the files just heads for serious trouble. Anyway, you can't make the types use dbus_-tyles because the interface src/daemon/clientinterface.h is used for makecode.pl which contains no dbus-stuff at all and defines "virtual void indexFile(const std::string& path, uint64_t mtime, const std::vector<char>& content)" which imho is the "uint64_t mtime" that fails in the generated src/daemon/dbus/dbusclientinterface.cpp. So the nearest workaround is to switch from the dbus_-types in dbusmessagereader.cpp to the standard defines. This patch allows for fully automatic building (at least with Gentoo/Prefix). Maybe it's to some help for you :-)

Kind regards,

Heiko

comment:19 Changed 15 years ago by zuxez@…

Cc: zuxez@… added

Cc Me!

comment:20 Changed 15 years ago by zuxez@…

Cc: zuxez@… removed

Cc Me!

comment:21 Changed 15 years ago by nerdling (Jeremy Lavergne)

Cc: snc@… added

Cc Me!

comment:22 Changed 15 years ago by charmedguy18@…

Cc: charmedguy18@… added

Cc Me!

Changed 15 years ago by jeremy.laine@…

Attachment: fix-dbus-types.patch added

Update Portfile to fix build on x86_64

comment:23 Changed 15 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: newclosed

Committed in r58800.

Note: See TracTickets for help on using tickets.