Bug#1006384: closed by Debian FTP Masters (reply to Olivier Sallou ) (Bug#1006384: fixed in logol 1.7.9+dfsg-2)

2022-03-07 Thread dogsleg
Hi,

Paul Gevers писал 2022-03-06 21:36:
> Hi Lev,
> 
> On 06-03-2022 11:30, dogs...@riseup.net wrote:
>> As I can see, there is only one reverse build-dependency on swi-prolog
>> apart from eye and logol, that is ppl. It is a C++ library providing
>> SWI-Prolog interface. I tried to build it against swi-prolog from
>> unstable on amd64 porterbox and the build was successful (including
>> tests, which are unfortunately not autopkgtest-ready).
> 
> Is this enough to say the ABI change doesn't effect ppl?

I'm not sure whether ppl depends and/or somehow uses some particular
swi-prolog ABI, I tried to run tests from ppl source package with
ppl and swi-prolog binary packages installed (from unstable), but
with no success. I just don't know right now how to run them
correctly (these are C++ source code, as far as I can tell). So,
CCing uploaders of ppl.

Tobias, Michael, is it possible that ABI changes in swi-prolog may
break binaries of ppl in unstable? How can we test it? As quoted
above, I already tried to build ppl against the newest swi-prolog
in unstable, and ppl was built successfully.

Regards,
Lev



Bug#1006384: closed by Debian FTP Masters (reply to Olivier Sallou ) (Bug#1006384: fixed in logol 1.7.9+dfsg-2)

2022-03-06 Thread dogsleg
Paul Gevers писал 2022-03-06 01:09:
> Hi Lev,
> 
> On 04-03-2022 11:42, dogs...@riseup.net wrote:
>>> Do you confirm that this ABI change doesn't effect the other reverse
>>> build dependencies of src:swi-prolog? If that's the case I'm fine with
>>> removing the block. But I'm afraid (without checking from my side)
>>> that the other package don't have the right virtual ABI package in
>>> their dependencies. If they do, wouldn't they need a rebuild too?
>>
>> New upstream version of eye was uploaded the same day as new version
>> of swi-prolog (in fact, after swi-prolog), and its autopkgtests pass
>> with swi-prolog in unstable (on amd64, and these are "not a regression"
>> on other architectures; they never were successful since at least Nov
>> 2019, as I can see).
>>
>> And eye already does this:
>>
>> Package: eye
>> Depends:
>>   swi-prolog-nox,
>>   swi-prolog-abi-${prolog:ABI},
>>   ${misc:Depends}
> 
> I already mentioned `eye` explicitly in my earlier messages, I wasn't
> worried about it. Please comment on the other reverse build
> dependencies (apart from eye and logol).

As I can see, there is only one reverse build-dependency on swi-prolog
apart from eye and logol, that is ppl. It is a C++ library providing
SWI-Prolog interface. I tried to build it against swi-prolog from
unstable on amd64 porterbox and the build was successful (including
tests, which are unfortunately not autopkgtest-ready).

Regards,
Lev



Bug#1006384: closed by Debian FTP Masters (reply to Olivier Sallou ) (Bug#1006384: fixed in logol 1.7.9+dfsg-2)

2022-03-04 Thread dogsleg
Paul Gevers писал 2022-03-04 00:46:
> Hi Lev,
> 
> On 03-03-2022 08:46, dogs...@riseup.net wrote:
>> swi-prolog package (namely, swi-prolog-core) provides an easy way to
>> require some particular ABI since 8.2.0+dfsg-2 uploaded on Jun 9, 2020.
>> Specifically, in this case logol requires version 67 of binary ABI
>> (pre-compiled Prolog code), where the version of swi-prolog in unstable
>> is at version 68. In case of logol, its fixed version needs to depend on
>> swi-prolog-binary-68 (again, provided by swi-prolog-core). In this case
>> it will be easier to track problems with ABI changes.
>>
>> There are more ABI stuff in swi-prolog which can be tracked the same
>> way.
>> It is documented in d/Debian.NEWS and d/README.Debian and there are
>> references to SWI-Prolog upstream reference guide. More specifically,
>> swi-prolog provides 5 virtual packages, each of them containing (a part)
>> of some specific ABI version claimed by the current swi-prolog version.
>> All these components are extensively documented in SWI-Prolog upstream
>> reference guide.
>>
>> These virtual packages were introduced to prevent the same
>> ABI-incompatibility problems with another Debian package, eye.
> 
> Do you confirm that this ABI change doesn't effect the other reverse
> build dependencies of src:swi-prolog? If that's the case I'm fine with
> removing the block. But I'm afraid (without checking from my side)
> that the other package don't have the right virtual ABI package in
> their dependencies. If they do, wouldn't they need a rebuild too?

New upstream version of eye was uploaded the same day as new version
of swi-prolog (in fact, after swi-prolog), and its autopkgtests pass
with swi-prolog in unstable (on amd64, and these are "not a regression"
on other architectures; they never were successful since at least Nov
2019, as I can see).

And eye already does this:

Package: eye
Depends:
 swi-prolog-nox,
 swi-prolog-abi-${prolog:ABI},
 ${misc:Depends}

> Also, if logol is already doing the right thing, shouldn't you as the
> uploader of swi-prolog request a binNMU for logol to enable your
> package to migrate at all? I mean, I would expect the migration to
> become blocked by uninstallability of logol in testing without a
> rebuild.

Hmmm... I'm not quite sure what would be the better option for logol
and swi-prolog. If logol depends on swi-prolog-abi-binary-68, then
change of ABI will require changing dependencies by hand. If logol
depends on swi-prolog-abi-binary-$(prolog:ABI) as eye does (prolog:ABI
should be handled in d/rules) and _not_ build-depend on it (but
just build-depend on swi-prolog without version), then binNMU is
possible. I think the latter is the easier way. What do you think,
guys?

Regards,
Lev



Bug#1006384: closed by Debian FTP Masters (reply to Olivier Sallou ) (Bug#1006384: fixed in logol 1.7.9+dfsg-2)

2022-03-02 Thread dogsleg
Hi Paul,

Paul Gevers писал 2022-03-03 00:44:

> On 01-03-2022 12:01, Paul Gevers wrote:
>> This "fix" suggest there may be more breakage, normally the Release Team 
>> would schedule binNMU's. Can you please elaborate how ABI is normally 
>> maintained within swi-prolog, such that the rebuilds can be detected and 
>> requested? I fail to see how in the case of logol and swi-prolog the right 
>> versions are chosen. In other words, I think the "fixed" logol can migrate 
>> to testing even if swi-prolog does not and will be broken in testing until 
>> swi-prolog can migrate. Normally *versioned* dependencies should prevent 
>> this.
> 
> I just read the backlog of the bug report (by default, submitters of
> bug reports in Debian don't get notified of messages, I missed the
> discussion). It seems my worry was already raised. The bug was
> reassigned to logol, so the swi-prolog maintainers missed my message.
> 
>> I checked, there are more reverse build dependencies of swi-prolog, I'm 
>> afraid there's more breakage that hasn't been detected yet. (eye seems to go 
>> in lockstep, so that package currently seems OK).
> 
> Maybe swi-prolog maintainers can comment.

Thanks for your input. Since the problem is resolved now, could you
please
unblock migration of swi-prolog, logol, and eye (another package
depending
on swi-prolog).

swi-prolog package (namely, swi-prolog-core) provides an easy way to
require some particular ABI since 8.2.0+dfsg-2 uploaded on Jun 9, 2020.
Specifically, in this case logol requires version 67 of binary ABI
(pre-compiled Prolog code), where the version of swi-prolog in unstable
is at version 68. In case of logol, its fixed version needs to depend on
swi-prolog-binary-68 (again, provided by swi-prolog-core). In this case
it will be easier to track problems with ABI changes.

There are more ABI stuff in swi-prolog which can be tracked the same
way.
It is documented in d/Debian.NEWS and d/README.Debian and there are
references to SWI-Prolog upstream reference guide. More specifically,
swi-prolog provides 5 virtual packages, each of them containing (a part)
of some specific ABI version claimed by the current swi-prolog version.
All these components are extensively documented in SWI-Prolog upstream
reference guide.

These virtual packages were introduced to prevent the same
ABI-incompatibility problems with another Debian package, eye.

Cheers!
Lev



Bug#1006384: swi-prolog breaks logol autopkgtest: Program exited with wrong status code

2022-03-01 Thread dogsleg
Hi Olivier!

> ok,
> I uploaded logol 1.7.9+dfsg-2 built against swi-prolog 8.4.2 and
> closing the issue with upload.
> Let's see what happens for migration.

Thank you!



Bug#1006578: swi-prolog: FTBFS with OpenSSL 3.0

2022-02-28 Thread dogsleg
Hi Sebastian,

Sebastian Andrzej Siewior писал 2022-02-28 03:41:
> Source: swi-prolog
> Version: 8.2.4+dfsg-1
> Severity: important
> Tags: bookworm sid
> User: pkg-openssl-de...@lists.alioth.debian.org
> Usertags: ftbfs-3.0
> 
> Your package is failing to build using OpenSSL 3.0 with the
> following error:
> 
> | /<>/packages/ssl/crypto4pl.c: In function ‘get_padding’:
> | /<>/packages/ssl/crypto4pl.c:851:69: error:
> ‘RSA_SSLV23_PADDING’ undeclared (first use in this function); did
> you mean ‘RSA_X931_PADDING’?
> |   851 | else if ( a == ATOM_sslv23  && mode == RSA_MODE )   
> *padding = RSA_SSLV23_PADDING;
> |   | 
>^~
> |   | 
>RSA_X931_PADDING
> | /<>/packages/ssl/crypto4pl.c:851:69: note: each
> undeclared identifier is reported only once for each function it
> appears in

This is version of swi-prolog from testing, newer version in unstable,
8.4.2+dfsg-2, should compile clean against OpenSSL 3.0. Sorry, at the
moment
I cannot test it by myself. Could you re-run your build test for the
version in unstable?

With regards,
Lev



Bug#1006384: swi-prolog breaks logol autopkgtest: Program exited with wrong status code

2022-02-27 Thread dogsleg
Dear Olivier,

sorry for the delay with my message and thanks for your input.

olivier sallou писал 2022-02-25 12:12:
> ok,
> after a quick look, issue is Logol is compiled against swi-prolog, and
> there is an ABI issue I think, getting error:
> 
> incompatible version (file: 67, Prolog: 68)]
> 
> Recompiling logol in sid against swi-prolog 8.4.2+dfsg-2 results in
> correct execution/tests.
> 
> So, 2 things:
> 
> * As swi-prolog is only a debian update (-1 to -2), I wonder why we
> have this break now
> * Possible fix is to rebuild logol package against this version in
> sid, with a dep requirement on swi-prolog>=8.4.2+dfsg-2. But I don't
> know how this should be managed (logol in testing will still prevent
> swi-prolog to go, and logol in sid won't either go to testing because
> will need swi-prolog version from sid...)

It is not just Debian update. I've uploaded new upstream version of
SWI-Prolog on Feb 15 (upgrade from 8.2.4 to 8.4.2). It is a new major
update of stable branch of SWI-Prolog, and it breaks compatibility. As
I can see logol tests failed already with 8.4.2+dfsg-1. There was an
issue with ODBC support for SWI-Prolog on 32-bit platforms, so I
uploaded
8.4.2+dfsg-2 fixing this issue.

I think swi-prolog and (updated) logol may migrate simultaneously as it
is the case for swi-prolog and eye (another package depending on
swi-prolog). Otherwise, we could ask someone from Debian Release team to
trigger the migration for the involved packages.

Cheers!
Lev

> Le jeu. 24 févr. 2022 à 19:36, Paul Gevers  a
> écrit :
> 
>> Source: swi-prolog, logol
>> Control: found -1 swi-prolog/8.4.2+dfsg-2
>> Control: found -1 logol/1.7.9+dfsg-1
>> Severity: serious
>> Tags: sid bookworm
>> X-Debbugs-CC: debian...@lists.debian.org
>> User: debian...@lists.debian.org
>> Usertags: breaks needs-update
>>
>> Dear maintainer(s),
>>
>> With a recent upload of swi-prolog the autopkgtest of logol fails in
>>
>> testing when that autopkgtest is run with the binary packages of
>> swi-prolog from unstable. It passes when run with only packages from
>>
>> testing. In tabular form:
>>
>> passfail
>> swi-prolog from testing8.4.2+dfsg-2
>> logol  from testing1.7.9+dfsg-1
>> all others from testingfrom testing
>>
>> I copied some of the output at the bottom of this report.
>>
>> Currently this regression is blocking the migration of swi-prolog to
>>
>> testing [1]. Due to the nature of this issue, I filed this bug
>> report
>> against both packages. Can you please investigate the situation and
>> reassign the bug to the right package?
>>
>> More information about this bug and the reason for filing it can be
>> found on
>>
> https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation
>>
>> Paul
>>
>> [1] https://qa.debian.org/excuses.php?package=swi-prolog
>>
>>
> https://ci.debian.net/data/autopkgtest/testing/amd64/l/logol/19529867/log.gz
>>
>> calling logol with parameters -g 1799.logol -s 1799.fasta -dna
>> log4j:ERROR setFile(null,true) call failed.
>> java.io.FileNotFoundException: /var/log/logol/logol.log (Permission
>> denied)
>> at java.base/java.io [1].FileOutputStream.open0(Native
>> Method)
>> at java.base/java.io
>> [1].FileOutputStream.open(FileOutputStream.java:298)
>> at java.base/java.io
>> [1].FileOutputStream.(FileOutputStream.java:237)
>> at java.base/java.io
>> [1].FileOutputStream.(FileOutputStream.java:158)
>> at
>> org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
>> at
>> org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
>> at
>>
> org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
>> at
>>
> org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
>> at
>>
> org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
>> at
>>
> org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842)
>> at
>>
> org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)
>> at
>>
> org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:672)
>> at
>>
> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:516)
>> at
>>
> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)
>> at
>>
> org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
>> at org.apache.log4j.LogManager.(LogManager.java:127)
>> at org.apache.log4j.Logger.getLogger(Logger.java:117)
>> at org.irisa.genouest.logol.Logol.(Unknown Source)
>> For help, use option -h
>> INFO org.irisa.genouest.logol.Logol  - Using configuration file:
>> /usr/share/logol/prolog/logol.properties
>> INFO org.irisa.genouest.logol.Logol  - option g called with
>> 1799.logol
>> INFO org.irisa.genouest.logol.Logol  - option s called with
>> 1799.fasta
>> INFO org.irisa.genouest.logol.Logol  - No maximum solutions defined,
>>
>> using defaults
>> INFO 

Bug#1005887: unixodbc-dev does not contain unixodbc_conf.h

2022-02-19 Thread dogsleg
Hi Hugh,

Thanks for your reply.

Hugh McMaster писал 2022-02-19 14:11:
> Hi Lev,
> 
> Thank you for the bug report.
> 
> On Thu, 17 Feb 2022 at 04:45, Lev Lamberov wrote:
>>
>> unixodbc-dev does not ship unixodbc_conf.h (at least, on amd64 and
>> i386). The version in stable does ship it, but the version in testing
>> and unstable does not.
>>
>> It breaks builds of some packages, e. g. build of swi-prolog fails for
>> 32-bit architectures. 32-bit platforms support 64-bit integers and
>> actually all should as SWI-Prolog cannot work without them. There is a
>> suggestion that somehow SQLBIGINT is not configured correctly. More
>> specifically, the missing unixodbc_conf.h should contain either both
>> or one of
>>
>> #define HAVE_LONG_LONG 1
>> #define SIZEOF_LONG_INT 8
> 
> unixodbc_conf.h is not really intended for use by downstream packages.
> Most of the #defines it contains are internal and reflect the system
> unixodbc was compiled on.
> 
> Your build is broken because HAVE_LONG_LONG is not defined by cmake.
> This #define is needed by sqltypes.h. In general, you need to define
> this macro yourself.
> 
> I took a look at the odbc package module in swi-prolog. While
> SIZEOF_LONG_LONG is defined, the corresponding existence variable is
> HAVE_SIZEOF_LONG_LONG.
> 
> You need to patch the source in packages/ocbc/CMakeLists.txt to pass
> LONG_LONG as the second argument to check_type_size().
> 
> -check_type_size("long long" SIZEOF_LONG_LONG)
> +check_type_size("long long" LONG_LONG)
> 
> This way, HAVE_LONG_LONG is defined as true and the build completes as 
> expected.
> 
> I'll look into defining HAVE_LONG_LONG in sqltypes.h to avoid this
> problem with other packages.

I forwarded your reply to the swi-prolog upstream. Haven't tested your
suggestion yet. Hope to take a look into it a bit later.

And I think it would be great to have HAVE_LONG_LONG defined on the
side of unixodbc.

Cheers!
Lev