If OPJ_STATIC is defined, load-jpx.c linkage with libopenjp2.so is broken
("relocation R_X86_64_PC32 against symbol ... can not be used when making a
shared object") 

Index: source/fitz/load-jpx.c
--- source/fitz/load-jpx.c.orig
+++ source/fitz/load-jpx.c
@@ -163,6 +163,9 @@ void opj_free(void *ptr)
 
 static void * opj_aligned_malloc_n(size_t alignment, size_t size)
 {
+#ifdef __OpenBSD__
+	return opj_malloc(size);
+#else
 	uint8_t *ptr;
 	size_t off;
 
@@ -176,6 +179,7 @@ static void * opj_aligned_malloc_n(size_t alignment, s
 	off = alignment-(((int)(intptr_t)ptr) & (alignment - 1));
 	ptr[off-1] = (uint8_t)off;
 	return ptr + off;
+#endif
 }
 
 void * opj_aligned_malloc(size_t size)
@@ -190,6 +194,9 @@ void * opj_aligned_32_malloc(size_t size)
 
 void opj_aligned_free(void* ptr_)
 {
+#ifdef __OpenBSD__
+	opj_free(ptr_);
+#else
 	uint8_t *ptr = (uint8_t *)ptr_;
 	uint8_t off;
 	if (ptr == NULL)
@@ -197,6 +204,7 @@ void opj_aligned_free(void* ptr_)
 
 	off = ptr[-1];
 	opj_free((void *)(((unsigned char *)ptr) - off));
+#endif
 }
 
 #if 0
