updater fails to build on OpenBSD (no stat64 struct)
Categories
(Toolkit :: Application Update, defect, P5)
Tracking
()
People
(Reporter: gaston, Assigned: nalexander)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
regular builds of releases/beta on OpenBSD use --disable-updater, so this was hidden..
trying to build m-c without options fails:
25:55.40 /home/landry/src/m-c/toolkit/mozapps/update/updater/updater.cpp:4078:19: error: variable has incomplete type 'struct stat64'
25:55.40 struct stat64 st_buf;
25:55.40 ^
25:55.40 /home/landry/src/m-c/toolkit/mozapps/update/updater/updater.cpp:4078:12: note: forward declaration of 'stat64'
25:55.40 struct stat64 st_buf;
25:55.40 ^
25:55.58 1 error generated.
| Reporter | ||
Comment 1•5 years ago
|
||
pretty sure the updater was previously enabled by default only on tier1 platforms ?
Comment 2•5 years ago
|
||
I'm not aware of any recent changes that would have enabled the updater on OpenBSD. Could you run mach configure on an older tree and see if MOZ_UPDATER would have been set then in <objdir>/config.status?
If it turns out this isn't a regression in configuration, I agree it sounds like a good idea to disable the updater for platforms where it is unsupported. I don't know quite what the logic for that would look like, though.
Would mozilla-central with the updater enabled have built successfully before bug 1157850?
| Reporter | ||
Comment 3•5 years ago
|
||
i hadn't built m-c since a while (some months ? dont really remember, but i think it was post bug 1157850) but im pretty sure i didnt have --disable-updater in my .mozconfig.. maybe the switch to bundling autoconf ? mike, any idea?
Updated•5 years ago
|
Comment 5•5 years ago
|
||
The severity field is not set for this bug.
:nalexander, could you have a look please?
For more information, please visit auto_nag documentation.
| Assignee | ||
Comment 6•5 years ago
|
||
S4 since this is OpenBSD specific. P5 'cuz we'd gladly take a patch to address it -- always happy to help :gaston keep Firefox building on OpenBSD. Seems like the approach from this patch might Just Work.
| Reporter | ||
Comment 7•5 years ago
|
||
wanted to try the following patch
--- a/toolkit/mozapps/update/updater/updater.cpp
+++ b/toolkit/mozapps/update/updater/updater.cpp
@@ -99,16 +99,20 @@ struct UpdateServerThreadArgs {
#endif
// We want to use execv to invoke the callback executable on platforms where
// we were launched using execv. See nsUpdateDriver.cpp.
#if defined(XP_UNIX) && !defined(XP_MACOSX)
# define USE_EXECV
#endif
+#if defined(XP_OPENBSD)
+# define stat64 stat
+#endif
+
#if defined(MOZ_VERIFY_MAR_SIGNATURE) && !defined(XP_WIN) && !defined(XP_MACOSX)
# include "nss.h"
# include "prerror.h"
#endif
but sadly i updated m-c before my build and its now broken because of bug 1680772 so i dunno if that patch would fix the issue
| Reporter | ||
Comment 8•5 years ago
|
||
finally managed to build m-c with the patch above, which works. As i have a deep allergy for moz-phab and all that contraption, can you land that ? thanks !
| Assignee | ||
Comment 9•5 years ago
|
||
This is the approach taken for Bug 648735: see
https://bugzilla.mozilla.org/attachment.cgi?id=561029&action=diff.
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
| bugherder | ||
| Assignee | ||
Comment 12•5 years ago
|
||
It took a long time, but I finally landed this. Sorry for the delay, :gaston.
Updated•5 years ago
|
| Reporter | ||
Comment 14•5 years ago
|
||
not a big deal, since the updater is disabled in our package builds for end-users, that really only affects me when building from hg (as i try as much as possible to build the default config unpatched), and i never build esr mercurial branches either. But many thanks for asking ;)
Updated•5 years ago
|
Updated•5 years ago
|
Description
•