Opened 3 years ago

Closed 3 years ago

#789 closed defect (fixed)

Error installing php bindings

Reported by: angelluc Owned by: Olly Betts
Priority: normal Milestone:
Component: Xapian-bindings (PHP) Version: 1.4.3
Severity: normal Keywords: binding php
Cc: Blocked By:
Blocking: Operating System: Linux

Description

Hello,

For the PhP7 I installed the bindings using the steps on this page: https://trac.xapian.org/wiki/FAQ/PHP%20Bindings%20Package All went fine but the the last, debugging, line showed me an error:

"sed: kan debian/*.substvars niet lezen: Bestand of map bestaat niet debian/rules:351: recept voor doel 'override_dh_gencontrol' is mislukt make[1]: * [override_dh_gencontrol] Fout 2 make[1]: Map '/root/xapian-bindings-1.4.3' wordt verlaten debian/rules:153: recept voor doel 'binary' is mislukt make: * [binary] Fout 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 debuild: fatal error at line 1116: dpkg-buildpackage -rfakeroot -us -uc failed"

As I am not that well in coding I understand that the file debian/*.substvars doesn't exist. How to progress?

Actually I don't really understand how to install the Xapian-core module installed on my Debian 9 server. I used wget and it was there. I extracted it, but not sure were it should be placed. Also the bindings used another vbersion so that confuses me. Any support is appreciated. Thx

Change History (7)

comment:1 by Olly Betts, 3 years ago

That FAQ entry says (my emphasis): "To build PHP7 bindings for Xapian 1.4.5-1 and later the following should work: [...]"

The PHP7 bindings were packaged for Debian starting with 1.4.5-1, so 1.4.3 is simply too old to work here.

You can probably use 1.4.11-2 from Debian buster instead by replacing the apt-get source ... step in the FAQ with:

dget http://deb.debian.org/debian/pool/main/x/xapian-bindings/xapian-bindings_1.4.11-2.dsc
echo stretch > xapian-bindings-1.4.11/debian/codename

If you try that and it works, let me know and I'll update the FAQ to mention it.

I'll also upload the buster version to stretch-backports, which will make this easier (and provide other Debian stretch users with an easy way to use a newer Xapian version). Backports uploads currently need manual approval due to the release freeze, so it won't happen instantly.

Actually I don't really understand how to install the Xapian-core module installed on my Debian 9 server. I used wget and it was there. I extracted it, but not sure were it should be placed. Also the bindings used another vbersion so that confuses me. Any support is appreciated. Thx

It's installed as one of the build dependencies by the commands in the FAQ (in particular sudo apt-get build-dep xapian-bindings).

comment:2 by Olly Betts, 3 years ago

Component: OtherXapian-bindings (PHP)

The packages were accepted into debian backports, so if you enable stretch-backports (see https://backports.debian.org/Instructions/) then following the instructions in the FAQ but replacing xapian-bindings by xapian-bindings/stretch-backports should work.

comment:3 by angelluc, 3 years ago

Thx @olly I haven't had the time to re-dive in it as it is not priority but this week I will manage and report back to you

comment:4 by angelluc, 3 years ago

Using "dget http://deb.debian.org/debian/pool/main/x/xapian-bindings/xapian-bindings_1.4.11-2.dsc" intalls and gives this warning: "dscverify: can't find any system keyrings"

I just continued and again the test gives an error, another one though:

dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file dpkg-checkbuilddeps: error: Unmet build dependencies: php7.2-dev php7.1-dev php5.6-dev libxapian-dev (>= 1.4.11) dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.) debuild: fatal error at line 1116: dpkg-buildpackage -rfakeroot -us -uc failed

This I don't understand....hopefully you can "translate" it fore me

comment:5 by angelluc, 3 years ago

I saw in the update of the server I did after this trial of installing the bindings that keyrings were installed so that will probably be resolved now.

comment:6 by Olly Betts, 3 years ago

"dscverify: can't find any system keyrings"

If the debian-keyring package is installed that shouldn't happen, and that package should be pulled in by installing the devscripts package (unless you've configured your system not to install "Recommends" by default).

I guess we could add debian-keyring to the list of packages to explicitly install, but generally it's not a good idea to disable installing "Recommends" - as Debian's policy document says:

The "Recommends" field should list packages that would be found together with this one in all but unusual installations.

dpkg-source: warning: unknown information field 'Rules-Requires-Root'

That's harmless - just a new field which the older tools don't know about and can safely ignore.

dpkg-checkbuilddeps: error: Unmet build dependencies: php7.2-dev php7.1-dev php5.6-dev libxapian-dev (>= 1.4.11)

That strongly suggests you've skipped the step in the instructions where these the php -dev packages get installed...

comment:7 by Olly Betts, 3 years ago

Milestone: 1.4.x
Resolution: fixed
Status: newclosed

No response for 6 weeks, so I've tried to improve FAQ/PHP Bindings Package and am going to close this.

If you're still having problems, please reopen.

Note: See TracTickets for help on using tickets.