MantisBT - NetSurf
View Issue Details
0002880NetSurf[All Projects] Generalpublic2024-08-13 16:082024-08-13 16:08
Reporterkfu 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusnewResolutionopen 
Platformmusl/linuxOSkfuOS Version0.0.0
Product Version3.11 
Target VersionFixed in Version 
Fixed in CI build #
Reported in CI build #
URL of problem page
Summary0002880: Cannot build netsurf against libressl 3.9.2
DescriptionHello.
I'm setting up a tiny musl based distro of my own, kfu. I have libressl 3.9.2 installed, compiling netsurf with

$ make TARGET=framebuffer

produces

#####

content/fetchers/about/certificate.c: In function 'ns_X509_get_signature_nid':
content/fetchers/about/certificate.c:147:25: error: dereferencing pointer to incomplete type 'X509' {aka 'struct x509_st'}
  147 | return OBJ_obj2nid(cert->cert_info->key->algor->algorithm);
      | ^~
content/fetchers/about/certificate.c: In function 'ns_RSA_get0_n':
content/fetchers/about/certificate.c:160:10: error: dereferencing pointer to incomplete type 'RSA' {aka 'const struct rsa_st'}
  160 | return d->n;
      | ^~
content/fetchers/about/certificate.c: In function 'ns_X509_get_signature_nid':
content/fetchers/about/certificate.c:148:1: warning: control reaches end of non-void function [-Wreturn-type]
  148 | }
      | ^
content/fetchers/about/certificate.c: In function 'ns_RSA_get0_n':
content/fetchers/about/certificate.c:161:1: warning: control reaches end of non-void function [-Wreturn-type]
  161 | }
      | ^
content/fetchers/about/certificate.c: In function 'ns_RSA_get0_e':
content/fetchers/about/certificate.c:166:1: warning: control reaches end of non-void function [-Wreturn-type]
  166 | }
      | ^
make[1]: *** [Makefile:410: build/Linux-framebuffer/content_fetchers_about_certificate.o] Error 1

content/fetchers/curl.c: In function 'ns_X509_up_ref':
content/fetchers/curl.c:104:6: error: dereferencing pointer to incomplete type 'X509' {aka 'struct x509_st'}
  104 | cert->references++;
      | ^~
 COMPILE: content/llcache.c
make[1]: *** [Makefile:410: build/Linux-framebuffer/content_fetchers_curl.o] Error 1

+ More uses of curl->references in content/fetchers/curl.c:ns_X509_free()

#####

I've searched a bit for answers and it seems that the types RSA and X509 are opaque types, direct accesses to their member attributes won't work. https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
Steps To Reproduceinstall dependencies + libressl >= 3.9.2
then run

$ make TARGET=framebuffer
TagsNo tags attached.
Attached Files

There are no notes attached to this issue.

Issue History
2024-08-13 16:08kfuNew Issue