Bug 254296 - textproc/iksemel: fails to build in 12.2 amd64
Summary: textproc/iksemel: fails to build in 12.2 amd64
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Fernando Apesteguía
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-15 06:50 UTC by DYM
Modified: 2021-04-13 07:14 UTC (History)
5 users (show)

See Also:


Attachments
explicitly disable openssl (440 bytes, patch)
2021-03-31 15:20 UTC, Felix Palmen
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description DYM 2021-03-15 06:50:43 UTC
# uname -a
FreeBSD test 12.2-RELEASE-p4 FreeBSD 12.2-RELEASE-p4 r369447 GENERIC  amd64

Make iksemel fail on FreeBSD 12.2 from ports:
===========================================
/bin/sh ../libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include  -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -I/usr/local/include -O2 -pipe  
-fstack-protector-strong -fno-strict-aliasing  -Wall  -I/usr/local/include -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -Wall -MT libiksemel_la-tls-openssl.lo -MD -MP -MF .d
eps/libiksemel_la-tls-openssl.Tpo -c -o libiksemel_la-tls-openssl.lo `test -f 'tls-openssl.c' || echo './'`tls-openssl.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I../include -I../include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -I/usr/local/include -O2 -pipe -fstack-protector-strong -fno-s
trict-aliasing -Wall -I/usr/local/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -MT libiksemel_la-tls-openssl.lo -MD -MP -MF .deps/libiksemel_la-tls-openssl.Tpo -
c tls-openssl.c  -fPIC -DPIC -o .libs/libiksemel_la-tls-openssl.o
tls-openssl.c:27:3: error: incomplete definition of type 'struct bio_st'
        b->init = 1;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:28:3: error: incomplete definition of type 'struct bio_st'
        b->num = 0;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:29:3: error: incomplete definition of type 'struct bio_st'
        b->ptr = NULL;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:30:3: error: incomplete definition of type 'struct bio_st'
        b->flags = 0 ;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:39:3: error: incomplete definition of type 'struct bio_st'
        b->ptr = NULL;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:40:3: error: incomplete definition of type 'struct bio_st'
        b->init = 0;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:41:3: error: incomplete definition of type 'struct bio_st'
        b->flags = 0;
        ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:48:53: error: incomplete definition of type 'struct bio_st'
        struct ikstls_data *data = (struct ikstls_data *) b->ptr;
                                                          ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:61:53: error: incomplete definition of type 'struct bio_st'
        struct ikstls_data *data = (struct ikstls_data *) b->ptr;
                                                          ~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
tls-openssl.c:92:19: error: variable has incomplete type 'BIO_METHOD' (aka 'struct bio_method_st')
static BIO_METHOD my_bio_method = {
                  ^
/usr/local/include/openssl/bio.h:250:16: note: forward declaration of 'struct bio_method_st'
typedef struct bio_method_st BIO_METHOD;
               ^
tls-openssl.c:138:5: error: incomplete definition of type 'struct bio_st'
        bio->ptr = (void *) data;
        ~~~^
/usr/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
11 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/textproc/iksemel/work/iksemel-978b733/src
*** Error code 1
*** Error code 1

Stop.
make: stopped in /usr/ports/textproc/iksemel
===========================================
Comment 1 Fernando Apesteguía freebsd_committer freebsd_triage 2021-03-15 12:17:31 UTC
It builds fine for me in {11.4,12.2}{amd64,i386} and current amd64. There aren't any pkg-fallout messages for this package either.

Do you have any local ssl settings in make.conf? Are you working with an up to date ports collection?
Comment 2 Tomáš Čiernik 2021-03-15 15:57:56 UTC
It seems error is caused by adding DEFAULT_VERSIONS+=ssl=openssl into make.conf (please see log at https://sona.ciernik.sk/poudriere/data/test_122x64-default/2021-03-15_16h55m50s/logs/errors/iksemel-1.5.log ).

Same behaviour on FreeBSD 11.4.

Ports tree was refreshed just minutes ago.

# poudriere ports -l
PORTSTREE METHOD   TIMESTAMP           PATH
default   portsnap 2021-03-15 16:54:52 /virtuals/poudriere/ports/default
Comment 3 DYM 2021-03-15 19:42:34 UTC
(In reply to Fernando Apesteguía from comment #1)

> Do you have any local ssl settings in make.conf?
Yes line in make.conf:
DEFAULT_VERSIONS+=ssl=openssl

> Are you working with an up to date ports collection?
Yes? I use command:
# portsnap fetch update
Initially, the error occurred exactly when updating ports.
This later I made a clean installation еo be sure that this port is not making.
Comment 4 DYM 2021-03-16 01:38:40 UTC
Addition.
If:
 1) not setting DEFAULT_VERSIONS+=ssl=openssl
 2) openssl is not installed
port is making.

If at least one of the conditions is met -- not making/
Comment 5 Felix Palmen freebsd_committer freebsd_triage 2021-03-31 15:20:20 UTC
Created attachment 223732 [details]
explicitly disable openssl

Looking at configure.ac, it prefers OpenSSL even when --with-gnutls is set. Adding --without-openssl should fix this, please test the patch.
Comment 6 Newton Terry 2021-03-31 21:00:36 UTC
(In reply to Felix Palmen from comment #5)

With the applied patch the port builds fine.
Comment 7 DYM 2021-04-02 03:37:11 UTC
It turns out that this is just a disable openssl.
Thanks, patch correct make trouble.

P.S.
Then the question is: why was maked going without disable openssl before?
These are the problems with openssl?
Comment 8 commit-hook freebsd_committer freebsd_triage 2021-04-13 07:08:41 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0a4dd56b6717f75db19a03d8a7920783e256cd0a

commit 0a4dd56b6717f75db19a03d8a7920783e256cd0a
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2021-04-13 07:00:03 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2021-04-13 07:05:15 +0000

    textproc/iksemel: fix build when openssl is installed.

    This port does not build when openssl is installed. Disable it explicitely in
    the configure.

    PR:     254296
    Reported by:    dym@afalina.od.ua
    Tested by:      felix@palmen-it.de newton.ja.terry@gmail.com
    MFH:            2021Q2 build fix

 textproc/iksemel/Makefile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
Comment 9 commit-hook freebsd_committer freebsd_triage 2021-04-13 07:11:44 UTC
A commit in branch 2021Q2 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fa9cbe85e2cf34975f4a36dabbe87916e800c483

commit fa9cbe85e2cf34975f4a36dabbe87916e800c483
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2021-04-13 07:00:03 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2021-04-13 07:07:25 +0000

    textproc/iksemel: fix build when openssl is installed.

    This port does not build when openssl is installed. Disable it explicitely in
    the configure.

    PR:     254296
    Reported by:    dym@afalina.od.ua
    Tested by:      felix@palmen-it.de newton.ja.terry@gmail.com
    MFH:            2021Q2 build fix

    (cherry picked from commit 0a4dd56b6717f75db19a03d8a7920783e256cd0a)

 textproc/iksemel/Makefile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
Comment 10 Fernando Apesteguía freebsd_committer freebsd_triage 2021-04-13 07:14:36 UTC
Committed and merged to 2021Q1.

Thanks!