Closed Bug 339933 Opened 19 years ago Closed 19 years ago

Cannot package static build using make 3.81

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla2 beta1

People

(Reporter: fredbezies, Unassigned)

References

Details

Attachments

(1 file, 2 obsolete files)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20060531 Firefox/3.0a1 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20060531 Firefox/3.0a1 Simple to describe. I want to use static trunk build under my Ubuntu 6.06 (based on Gnome 2.14.1, so on GTK 2.8), and I have to apply patches from bug 305185 and from bug 328964. Build process runs ok. But when I enter the "make -C browser/installer" in order to create the firefox archive, I get this error : "rm -f -rf ../../dist/xpt /usr/bin/perl -I../../xpinstall/packager -e 'use Packager; \ Packager::Copy("../../dist", "../../dist/firefox", \ "packages-static", "unix", 1, 0, 1);' Error: package file "SCALAR(0x814c69c)" is not a file or is unreadable. See '-e --help' for more information. Exiting... make[1]: *** [firefox-3.0a1.en-US.linux-i686.tar.bz2] Error 4 make[1]: leaving directory « /home/fred/logs/fox/mozilla/browser/installer » make: *** [all] Error 2 make: leaving directory « /home/fred/logs/fox/mozilla/browser/installer »" Using "make -C xpinstall/packager/ works. Reproducible: Always Steps to Reproduce: See details Actual Results: package is not created. Expected Results: having a tar.bz2 file with firefox in it. My .mozconfig : "# # See http://www.mozilla.org/build/ for build instructions. # . $topsrcdir/browser/config/mozconfig # Options for 'configure' (same as command-line options). ac_add_options --enable-default-toolkit=cairo-gtk2 ac_add_options --disable-freetype2 ac_add_options --enable-pango ac_add_options --enable-canvas ac_add_options --enable-svg ac_add_options --disable-installer ac_add_options --disable-updater ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --enable-optimize="-Os -pipe -march=pentium4" ac_add_options --enable-strip ac_add_options --disable-pedantic ac_add_options --enable-static ac_add_options --disable-shared" Gcc used is : "$ gcc -v Utilisation des specs internes. Cible : i486-linux-gnu Configuré avec: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --with-tune=pentium4 --enable-checking=release i486-linux-gnu Modèle de thread: posix version gcc 4.0.3 (Ubuntu 4.0.3-1ubuntu5)"
Erh... I commited a little mistake. It was not bug 328964 but bug 312951... Oops ;)
Maybe try building with --enable-installer instead of --disable-installer?
Here is the log of busting : rm -f -rf ../../dist/xpt /usr/bin/perl -I../../xpinstall/packager -e 'use Packager; \ Packager::Copy("../../dist", "../../dist/firefox", \ "packages-static", "unix", 1, 0, 1);' Error: package file "SCALAR(0x814c660)" is not a file or is unreadable. See '-e --help' for more information. Hope it helps ;)
What version of perl are you using? And which shell is make using?
Perl ? fred:~$ perl --version This is perl, v5.8.7 built for i486-linux-gnu-thread-multi (with 1 registered patch, see perl -V for more detail) Shell ? fred:~$ bash --version GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu) Copyright © 2005 Free Software Foundation, Inc. And an up-to-date ubuntu 6.06 LTS. fred:~$ uname -a Linux fredo 2.6.15-25-386 #1 PREEMPT Wed Jun 14 11:25:49 UTC 2006 i686 GNU/Linux Any other info needed ?
Version: unspecified → Trunk
Forget to add, I changed my .mozconfig, removing "--disable-installer" line.
Does /bin/sh point to bash?
/bin/sh is a symbolic link for bash.
Attached patch swag (obsolete) — Splinter Review
Try this. 'package' is a reserved word in perl and your particular version may be getting confused by the use of '$package'. I think it's unlikely that this is the problem but it's worth investigating.
Attached patch make 1.81 compat patch, v1 (obsolete) — Splinter Review
The problem here comes from make version 3.81 which added an incompatibility with backslash-newline handling. See bug 325148 which is about the same problem. This patch takes the approach described there: http://lists.debian.org/debian-devel/2005/12/msg00988.html The alternative would be to use make variables. I did not test with older make version however.
patch "make 1.81..." seems to work great.
Comment on attachment 228610 [details] [diff] [review] make 1.81 compat patch, v1 Something's still not right here. With FC5's make 3.80, it runs the parses the commands but the perl command doesn't do anything and the next command fails because of the missing $(DIST)/xpt directory. I just installed make3.81 locally and it doesn't work with this patch either.
Attachment #228610 - Flags: review-
(In reply to comment #12) > (From update of attachment 228610 [details] [diff] [review] [edit]) > Something's still not right here. With FC5's make 3.80, it runs the parses the > commands but the perl command doesn't do anything and the next command fails > because of the missing $(DIST)/xpt directory. I just installed make3.81 > locally and it doesn't work with this patch either. hmm, I should really test with an older make to see what's happening. When you test with make3.81 locally, pay attention to the fact that if you run your just compiled new make binary, it will invoke your system make version 3.80 if it is still available in your $PATH, as make invokes itself recursively. I have been hit by this problem when I tried with another locally compiled make. Otherwise, please ignore this if you have already taken the appropriate steps.
Attached patch v2.0Splinter Review
Use a macro to avoid the quote issue. Tested with make 3.80 & 3.81 on FC5.
Attachment #228571 - Attachment is obsolete: true
Attachment #228610 - Attachment is obsolete: true
Attachment #228844 - Flags: review?
(In reply to comment #13) > When you test with make3.81 locally, pay attention to the fact that if you run > your just compiled new make binary, it will invoke your system make version > 3.80 if it is still available in your $PATH, as make invokes itself > recursively. I have been hit by this problem when I tried with another locally > compiled make. Otherwise, please ignore this if you have already taken the > appropriate steps. I'm a bit wrong there. In fact it takes the make location from the MAKE variable in config/autoconf.mk when invoking itself recursively.
(In reply to comment #15) > I'm a bit wrong there. In fact it takes the make location from the MAKE > variable in config/autoconf.mk when invoking itself recursively. I thought that GNU make would set MAKE to itself when forking sub-makes but it does look like the one in config/autoconf.mk is being used. When explicitly setting MAKE=make381 on the command-line, then the first patch works for make 3.81 but not for make3.80.
Attachment #228844 - Flags: review? → review?(benjamin)
Comment on attachment 228844 [details] [diff] [review] v2.0 Interesting... I'm not sure I understand why this is different than other places we use backslash continuations, though... does it have to do with the single-quoting?
Attachment #228844 - Flags: review?(benjamin) → review+
I believe the single quote is the issue. According to bug 325148 comment 4, using double quotes works fine. Checking in toolkit/mozapps/installer/packager.mk; /cvsroot/mozilla/toolkit/mozapps/installer/packager.mk,v <-- packager.mk new revision: 1.41; previous revision: 1.40 done
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 2 beta1
*** Bug 349498 has been marked as a duplicate of this bug. ***
*** Bug 354589 has been marked as a duplicate of this bug. ***
Please reopen this Bug, since it is still not integrated in firefox2rc2, which i downloaded today. The patch works for me [1], but it is still an issue in the releases. [1] the "patch" command gives me the following, but it works anyway: ______________________________________________________________ File to patch: mozilla/toolkit/mozapps/installer/packager.mk patching file mozilla/toolkit/mozapps/installer/packager.mk Hunk #1 succeeded at 272 (offset -9 lines). Hunk #2 succeeded at 288 with fuzz 1 (offset -9 lines). Hunk #3 succeeded at 310 (offset -9 lines).
Hello: This bug is stll present with 2.0rc3 The patch still works and is required. $ make -version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i686-redhat-linux-gnu ]$ uname -a Linux localhost.localdomain 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:37:32 EDT 2006 i686 athlon i386 GNU/Linux Dan
*** Bug 357043 has been marked as a duplicate of this bug. ***
*** Bug 361710 has been marked as a duplicate of this bug. ***
Confirming that Firefox 2.0.0.1 source (from CVS) also has this problem.
Summary: [trunk] Cannot package static build using Ubuntu Dapper Drake → Cannot package static build using make 3.81
Attachment #228844 - Flags: approval1.8.1.2?
Comment on attachment 228844 [details] [diff] [review] v2.0 Approved for 1.8 branch, a=jay for drivers.
Attachment #228844 - Flags: approval1.8.1.2? → approval1.8.1.2+
(In reply to comment #26) > (From update of attachment 228844 [details] [diff] [review]) > Approved for 1.8 branch, a=jay for drivers. Checking in toolkit/mozapps/installer/packager.mk; /cvsroot/mozilla/toolkit/mozapps/installer/packager.mk,v <-- packager.mk new revision: 1.16.2.16; previous revision: 1.16.2.15 done
Keywords: fixed1.8.1.2
Component: Build Config → General
Product: Firefox → Firefox Build System
Keywords: fixed1.8.1.2
Target Milestone: Firefox 2 beta1 → mozilla2 beta1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: