New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #21138 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

strigi fails to build 64-bit

Reported by: andrea@… Owned by: clubjuggler@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: LP64 Cc: ruud@…, macsforever2000@…, julienzoubian@…, nicos_pavlov@…, bgrupe@…, domiman@…, macports@…, snc@…, charmedguy18@…
Port: strigi

Description (last modified by toby@…) (diff)

Looks like a 64-bit issue to me.

Attachments

strigi_build.txt (480.5 KB) - added by andrea@… 4 years ago.
port -dv install strigi
Portfile-strigi (2.1 KB) - added by macsforever2000@… 4 years ago.
Modified strigi portfile
patch-dbusclientinterface.cpp.diff (450 bytes) - added by macsforever2000@… 4 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 macsforever2000@… 4 years ago.
This is the 1st patch and it works fine.
patch-MacroCheckGccVisibility.cmake.diff (658 bytes) - added by macsforever2000@… 4 years ago.
Re-made the existing portfile patch to use p0.
strigi.txt (11.5 KB) - added by payam.minoofar@… 4 years ago.
fix-dbus-types.patch (2.8 KB) - added by jeremy.laine@… 4 years ago.
Update Portfile to fix build on x86_64

Change History

Changed 4 years ago by andrea@…

port -dv install strigi

comment:1 Changed 4 years ago by macsforever2000@…

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

comment:2 Changed 4 years ago by toby@…

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

comment:3 Changed 4 years ago by ruud@…

  • Cc ruud@… added

Cc Me!

comment:4 Changed 4 years ago by macsforever2000@…

  • Cc macsforever2000@… added

Cc Me!

comment:5 Changed 4 years ago by julienzoubian@…

  • Cc julienzoubian@… added

Cc Me!

comment:6 Changed 4 years ago by nicos_pavlov@…

  • Cc nicos_pavlov@… added

Cc Me!

comment:7 follow-up: ↓ 8 Changed 4 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 4 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 4 years ago by bgrupe@…

  • Cc bgrupe@… added

Cc Me!

comment:10 Changed 4 years ago by domiman@…

  • Cc domiman@… added

Cc Me!

comment:11 Changed 4 years ago by macsforever2000@…

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

Changed 4 years ago by macsforever2000@…

Modified strigi portfile

Changed 4 years ago by macsforever2000@…

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

Changed 4 years ago by macsforever2000@…

This is the 1st patch and it works fine.

Changed 4 years ago by macsforever2000@…

Re-made the existing portfile patch to use p0.

Changed 4 years ago by payam.minoofar@…

comment:12 Changed 4 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 4 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 4 years ago by macports@…

  • Cc macports@… added

Cc Me!

comment:15 Changed 4 years ago by macports@…

  • Cc macports@… removed

Cc Me!

comment:16 Changed 4 years ago by macports@…

  • Cc macports@… added

Cc Me!

comment:17 Changed 4 years ago by macports@…

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

comment:18 Changed 4 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 4 years ago by zuxez@…

  • Cc zuxez@… added

Cc Me!

comment:20 Changed 4 years ago by zuxez@…

  • Cc zuxez@… removed

Cc Me!

comment:21 Changed 4 years ago by snc@…

  • Cc snc@… added

Cc Me!

comment:22 Changed 4 years ago by charmedguy18@…

  • Cc charmedguy18@… added

Cc Me!

Changed 4 years ago by jeremy.laine@…

Update Portfile to fix build on x86_64

comment:23 Changed 4 years ago by snc@…

  • Status changed from new to closed
  • Resolution set to fixed

Committed in r58800.

Note: See TracTickets for help on using tickets.