Opened 8 weeks ago

Last modified 8 weeks ago

#59338 assigned defect

freetds @1.00.9 +mssql +odbc : fails to install on High Sierra and Catalina (possibly others)

Reported by: kalling (Richard Kalling) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: freetds

Description

When trying to install freetds with +mssql and +odbc options, the install fails.

MacOS: 10.15 (19A583)
I also have a report from a user on 10.13

Xcode: Version 11.1 (11A1027)

From the log

MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -arch x86_64 -Wdeclaration-after-statement -MT bulk.lo -MD -MP -MF .deps/bulk.Tpo -c bulk.c  -fno-common -DPIC -o .libs/bulk.o
:info:build tls.c:83:33: error: incomplete definition of type 'struct bio_st'
:info:build         TDSSOCKET *tds = (TDSSOCKET *) SSL_PTR;
:info:build                                        ^~~~~~~
:info:build tls.c:77:20: note: expanded from macro 'SSL_PTR'
:info:build #define SSL_PTR bio->ptr
:info:build                 ~~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:114:33: error: incomplete definition of type 'struct bio_st'
:info:build         TDSSOCKET *tds = (TDSSOCKET *) SSL_PTR;
:info:build                                        ^~~~~~~
:info:build tls.c:77:20: note: expanded from macro 'SSL_PTR'
:info:build #define SSL_PTR bio->ptr
:info:build                 ~~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:126:42: error: incomplete definition of type 'struct bio_st'
:info:build         TDSCONNECTION *conn = (TDSCONNECTION *) SSL_PTR;
:info:build                                                 ^~~~~~~
:info:build tls.c:77:20: note: expanded from macro 'SSL_PTR'
:info:build #define SSL_PTR bio->ptr
:info:build                 ~~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:149:42: error: incomplete definition of type 'struct bio_st'
:info:build         TDSCONNECTION *conn = (TDSCONNECTION *) SSL_PTR;
:info:build                                                 ^~~~~~~
:info:build tls.c:77:20: note: expanded from macro 'SSL_PTR'
:info:build #define SSL_PTR bio->ptr
:info:build                 ~~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:551:34: error: incomplete definition of type 'struct bio_st'
:info:build         TDSSOCKET *tds = (TDSSOCKET *) b->ptr;
:info:build                                        ~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:569:19: error: variable has incomplete type 'BIO_METHOD' (aka 'struct bio_method_st')
:info:build static BIO_METHOD tds_method_login =
:info:build                   ^
:info:build /opt/local/include/openssl/bio.h:249:16: note: forward declaration of 'struct bio_method_st'
:info:build typedef struct bio_method_st BIO_METHOD;
:info:build                ^
:info:build tls.c:583:19: error: variable has incomplete type 'BIO_METHOD' (aka 'struct bio_method_st')
:info:build static BIO_METHOD tds_method =
:info:build                   ^
:info:build /opt/local/include/openssl/bio.h:249:16: note: forward declaration of 'struct bio_method_st'
:info:build typedef struct bio_method_st BIO_METHOD;
:info:build                ^
:info:build tls.c:611:9: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations]
:info:build         meth = TLSv1_client_method ();
:info:build                ^
:info:build /opt/local/include/openssl/ssl.h:1879:1: note: 'TLSv1_client_method' has been explicitly marked deprecated here
:info:build DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void))
:info:build ^
:info:build /opt/local/include/openssl/opensslconf.h:158:34: note: expanded from macro 'DEPRECATEDIN_1_1_0'
:info:build # define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
:info:build                                  ^
:info:build /opt/local/include/openssl/opensslconf.h:121:55: note: expanded from macro 'DECLARE_DEPRECATED'
:info:build #   define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
:info:build                                                       ^
:info:build tls.c:747:27: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations]
:info:build                 altptr = (const char *) ASN1_STRING_data(name->d.ia5);
:info:build                                         ^
:info:build /opt/local/include/openssl/asn1.h:554:1: note: 'ASN1_STRING_data' has been explicitly marked deprecated here
:info:build DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
:info:build ^
:info:build /opt/local/include/openssl/opensslconf.h:158:34: note: expanded from macro 'DEPRECATEDIN_1_1_0'
:info:build # define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
:info:build                                  ^
:info:build /opt/local/include/openssl/opensslconf.h:121:55: note: expanded from macro 'DECLARE_DEPRECATED'
:info:build #   define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
:info:build                                                       ^
:info:build tls.c:867:3: error: incomplete definition of type 'struct bio_st'
:info:build         b->shutdown=1;
:info:build         ~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:868:3: error: incomplete definition of type 'struct bio_st'
:info:build         b->init=1;
:info:build         ~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:869:3: error: incomplete definition of type 'struct bio_st'
:info:build         b->num= -1;
:info:build         ~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:870:3: error: incomplete definition of type 'struct bio_st'
:info:build         b->ptr = tds;
:info:build         ~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:886:36: error: incomplete definition of type 'struct ssl_st'
:info:build         ret = SSL_connect(con) != 1 || con->state != SSL_ST_OK;
:info:build                                        ~~~^
:info:build /opt/local/include/openssl/ossl_typ.h:147:16: note: forward declaration of 'struct ssl_st'
:info:build typedef struct ssl_st SSL;
:info:build                ^
:info:build tls.c:886:47: error: use of undeclared identifier 'SSL_ST_OK'; did you mean 'TLS_ST_OK'?
:info:build         ret = SSL_connect(con) != 1 || con->state != SSL_ST_OK;
:info:build                                                      ^~~~~~~~~
:info:build                                                      TLS_ST_OK
:info:build /opt/local/include/openssl/ssl.h:993:5: note: 'TLS_ST_OK' declared here
:info:build     TLS_ST_OK,
:info:build     ^
:info:build tls.c:902:4: error: incomplete definition of type 'struct bio_st'
:info:build         b2->shutdown = 1;
:info:build         ~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:903:4: error: incomplete definition of type 'struct bio_st'
:info:build         b2->init = 1;
:info:build         ~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:904:4: error: incomplete definition of type 'struct bio_st'
:info:build         b2->num = -1;
:info:build         ~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build tls.c:905:4: error: incomplete definition of type 'struct bio_st'
:info:build         b2->ptr = tds->conn;
:info:build         ~~^
:info:build /opt/local/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
:info:build typedef struct bio_st BIO;
:info:build                ^
:info:build 2 warnings and 17 errors generated.
:info:build make[4]: *** [tls.lo] Error 1
:info:build make[4]: *** Waiting for unfinished jobs....
:info:build libtool: compile:  /usr/bin/clang -DHAVE_CONFIG_H -I. -I../../include -I../../include -I/opt/local/include -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/opt/local/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -D_THREAD_SAFE -pipe -Os -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -arch x86_64 -Wdeclaration-after-statement -MT bulk.lo -MD -MP -MF .deps/bulk.Tpo -c bulk.c -o bulk.o >/dev/null 2>&1
:info:build make[4]: Leaving directory `/opt/local/var/macports/build/_private_tmp_ports_databases_freetds/freetds/work/freetds-1.00.9/src/tds'
:info:build make[3]: *** [all-recursive] Error 1
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_private_tmp_ports_databases_freetds/freetds/work/freetds-1.00.9/src/tds'
:info:build make[2]: *** [all] Error 2
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_private_tmp_ports_databases_freetds/freetds/work/freetds-1.00.9/src/tds'
:info:build make[1]: *** [all-recursive] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_private_tmp_ports_databases_freetds/freetds/work/freetds-1.00.9/src'
:info:build make: *** [all-recursive] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_private_tmp_ports_databases_freetds/freetds/work/freetds-1.00.9'
:info:build Command failed:  cd "/opt/local/var/macports/build/_private_tmp_ports_databases_freetds/freetds/work/freetds-1.00.9" && /usr/bin/make -j2 -w all 
:info:build Exit code: 2
:error:build Failed to build freetds: command execution failed
:debug:build Error code: CHILDSTATUS 25746 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"

Change History (5)

comment:1 Changed 8 weeks ago by mf2k (Frank Schima)

Keywords: freetds removed

comment:2 Changed 8 weeks ago by mf2k (Frank Schima)

In the future, please add the port maintainer(s) to Cc (port info --maintainers freetds), if any.

comment:3 Changed 8 weeks ago by mf2k (Frank Schima)

Owner: set to ryandesign
Status: newassigned

comment:4 Changed 8 weeks ago by ryandesign (Ryan Schmidt)

1.00.9 is not the current version of the freetds portfile. Please sudo port selfupdate to get the latest version and try again. If that fails too, please attach a main.log of that run.

I also see that your portfile is located in /tmp/ports/databases/freetds. That's unusual. Do you know why a portfile from that directory is being used, instead of the one in our official collection?

comment:5 Changed 8 weeks ago by kalling (Richard Kalling)

Thanks for noticing the portfile location. freetds was being installed as part of another application, and your comment clued me in to it using a custom freetds portfile.

I am trying again with that portfile removed. I apologize for not noticing this earlier.

Note: See TracTickets for help on using tickets.