View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0017508 | Scribus | Build System | public | 2025-04-28 06:44 | 2025-04-29 06:39 |
Reporter | landry | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 1.7.0 | ||||
Summary | 0017508: building on OpenBSD/i386/32-bits fails because "call to 'toPdf' is ambiguous" | ||||
Description | cf https://github.com/scribusproject/scribus/issues/196 the patch just ensures the right `toPdf` variant exists on OpenBSD: -#if !defined(Q_OS_WIN) && (Q_PROCESSOR_WORDSIZE != 4) +#if (!defined(Q_OS_WIN) && (Q_PROCESSOR_WORDSIZE != 4)) || defined(__OpenBSD__) | ||||
Additional Information | currently rebuilding with the attached patch, my initial patch dropped the #if and works on amd64 and i386 | ||||
Tags | No tags attached. | ||||
Patch | Yes | ||||
|
patch-scribus_pdfwriter_h (402 bytes)
fix build on i386 https://github.com/scribusproject/scribus/issues/196 Index: scribus/pdfwriter.h --- scribus/pdfwriter.h.orig +++ scribus/pdfwriter.h @@ -83,7 +83,7 @@ namespace Pdf /** Cf. PDF32000-2008, 7.3.3 */ -#if !defined(Q_OS_WIN) && (Q_PROCESSOR_WORDSIZE != 4) +#if (!defined(Q_OS_WIN) && (Q_PROCESSOR_WORDSIZE != 4)) || defined(__OpenBSD__) QByteArray toPdf(size_t v); #endif |
|
are you sure that openbsd cannot be 64 bits? |
|
OpenBSD/amd64 is 64 bits, OpenBSD/i386 is 32 bits. The initial patch i tested/commited to our portstree in https://github.com/openbsd/ports/commit/abce6c2658f35d2049375a3b6543072997b18cdc is just removing completely the #if/#endif, so defining QByteArray toPdf(size_t v) in all cases, that fixed the build on OpenBSD/i386, and still built on OpenBSD/amd64. and now that i've said that and relooked at my commit, i realize that the same change needs to be applied to scribus/pdfwriter.cpp and scribus/scxmlstreamwriter.h |