Closed Bug 46572 Opened 25 years ago Closed 25 years ago

can't build because nsinstall is trying to create symlinks incorrectly

Categories

(SeaMonkey :: Build Config, defect, P3)

x86
Linux
defect

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: wrffr, Assigned: cls)

Details

From Bugzilla Helper: User-Agent: Mozilla/4.73 [en] (X11; U; Linux 2.2.16 i686) BuildID: I'm currently unable to build mozilla on either the trunk or on SeaMonkey_M17_BRANCH because nsinstall is trying to create symlinks incorrectly. In the build, when it tries to do-- ../config/nsinstall -R -m 444 nsBuildID.h ../dist/include it fails with the message-- ./config/nsinstall: cannot make symbolic link /home/jesse/cvs/mozilla/dist/include/nsBuildID.h: No such file or directory When I strace the command, it's chdiring to "/home/jesse/cvs/mozilla/config" and then calling symlink with "../../config/nsBuildID.h" as the source, but that file doesn't exist. It should either be using "../config/nsBuildID.h" instead or chdiring to "../dist/include". Reproducible: Always Steps to Reproduce: 1. completely blew away my tree. (rm -rf mozilla) 2. checked out mozilla/client.mk 3. ran "gmake -f client.mk" Actual Results: It checked out the code and started building, but failed at this point-- rm -f nsBuildID.h echo "#define NS_BUILD_ID 0000000000" > nsBuildID.h /usr/bin/perl ./aboutime.pl nsBuildID.h build_number ../config/nsinstall -R -m 444 nsBuildID.h ../dist/include ../config/nsinstall: cannot make symbolic link /home/jesse/cvs/mozilla/dist/include/nsBuildID.h: No such file or directory make[2]: *** [export] Error 1 make[2]: Leaving directory `/home/jesse/cvs/mozilla/config' make[1]: *** [export] Error 2 make[1]: Leaving directory `/home/jesse/cvs/mozilla' make: *** [build] Error 2 Expected Results: It should have built successfully. I tried cding to that directory and the paths that nsinstall are called with are valid, but when I straced the command, it did this-- getcwd("/home/jesse/cvs/mozilla/config", 4095) = 31 chdir("../dist/include") = 0 getcwd("/home/jesse/cvs/mozilla/dist/include", 4095) = 37 chdir("/home/jesse/cvs/mozilla/config") = 0 lstat("/home/jesse/cvs/mozilla/dist/include/nsBuildID.h", 0xbfffd764) = -1 ENOENT (No such file or directory) access("nsBuildID.h", R_OK) = 0 stat("../../config/nsBuildID.h", 0xbfffd764) = -1 ENOENT (No such file or directory) symlink("../../config/nsBuildID.h", "/home/jesse/cvs/mozilla/dist/include/nsBuildID.h") = -1 ENOENT (No such file or directory) I took a look at the source to nsinstall.c and it looks like relatepath() isn't returning the right prefix to use, but I don't see why this would have changed because nsinstall.c and pathsub.c haven't changed in quite a while, and I was able to build my tree without problems several days ago.
I'm testing this with the M17 branch and I cannot reproduce it. This is on a RH6.2 Linux 2.2.15, glibc 2.1.3 system. getcwd("/opt/cls/moz/branch/mozilla/config", 4095) = 35 chdir("../dist/include") = 0 getcwd("/opt/cls/moz/branch/mozilla/dist/include", 4095) = 41 chdir("/opt/cls/moz/branch/mozilla/config") = 0 lstat("/opt/cls/moz/branch/mozilla/dist/include/nsBuildID.h", 0xbfffd710) = -1 ENOENT (No such file or directory) access("nsBuildID.h", R_OK) = 0 stat("../../config/nsBuildID.h", 0xbfffd710) = -1 ENOENT (No such file or directory) symlink("../../config/nsBuildID.h", "/opt/cls/moz/branch/mozilla/dist/include/nsBuildID.h") = 0 _exit(0) = ? Although I'm not sure what the rationale for chdir("/../config"), symlink() isn't dependent upon the cwd. The "../../config/nsBuildID.h" arg to symlink() is correct as well since it is relative to the 2nd argument to symlink(). What version of glibc are you using? Are you using any alternate filesystems (such as ext3 or reiserfs)? I'm not convinced this is a build system problem as it would've shown up in the tinderboxes immediately.
I'm using a RH6.2 system with glibc 2.1.3 and kernel v2.2.16 with ext2.
argh, nevermind, something must have gotten corrupted on my system because after i rebooted, it worked fine.
Status: UNCONFIRMED → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
Marking verified.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.