Opened 16 years ago
Last modified 14 years ago
#743 reopened Defect
Unix "make install" doesn't install gettext files correctly
Reported by: | Nicolas | Owned by: | Eric Korpela |
---|---|---|---|
Priority: | Undetermined | Milestone: | Undetermined |
Component: | Client - Build | Version: | |
Keywords: | Cc: |
Description
The custom install rules in locale/client/Makefile.am
are incorrect.
- It's trying to copy the
.po
files. Those are source code; it should install the.mo
files. - It doesn't work with out-of-source builds. The makefile copies the files from the current directory, which isn't necessarily the source directory, where the files actually are. The only file in
build_dir/locale/client
is the Makefile.
To reproduce 2., do
mkdir build; cd build; ../configure --prefix=~/local/boinc-test; #or wherever... cd locale/client; make install; # this looks in build/locale/client/<lang> instead of locale/client/<lang>
Change History (6)
comment:1 Changed 16 years ago by
Owner: | changed from romw to Eric Korpela |
---|
comment:2 Changed 16 years ago by
Additionally, the makefile should build the .mo
files from the .po
files at build time.
comment:3 Changed 16 years ago by
Component: | Client - Setup → Client - Build |
---|
comment:5 Changed 15 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I don't think so. See item 2 in bug description; I even posted instructions to reproduce.
~/src/boinc$ mkdir build; cd build ~/src/boinc/build$ ../configure --prefix=$HOME/local/boinc-test ... ~/src/boinc/build$ cd locale ~/src/boinc/build/locale$ ls Makefile ~/src/boinc/build/locale$ make install make[1]: Entering directory `/home/nicolas/src/boinc/build/locale' make install-exec-hook make[2]: Entering directory `/home/nicolas/src/boinc/build/locale' mydir=/home/nicolas/local/boinc-test/share/locale ;\ for ldir in ar be bg ca cs da de el es fa fr gl hr hu it ja ko lt lv nl pl pt pt_BR ro ru sk sv_SE tr uk zh_CN zh_TW ; do \ /usr/bin/install -c -d $mydir/$ldir ; \ if [ -f $ldir/BOINC-Manager.mo ] ; then \ /usr/bin/install -c $ldir/BOINC-Manager.mo $mydir/$ldir/BOINC-Manager.mo ; \ fi ;\ done make[2]: Leaving directory `/home/nicolas/src/boinc/build/locale' make[1]: Nothing to be done for `install-data-am'. make[1]: Leaving directory `/home/nicolas/src/boinc/build/locale'
It didn't install any file at all. The PREFIX/share/locale directory only has empty subdirectories:
$ ls /home/nicolas/local/boinc-test/share/locale ar bg cs de es fr hr it ko lv pl pt_BR ru sv_SE uk zh_TW be ca da el fa gl hu ja lt nl pt ro sk tr zh_CN $ ls /home/nicolas/local/boinc-test/share/locale/es $ ls /home/nicolas/local/boinc-test/share/locale/de $
comment:6 Changed 14 years ago by
I'm not sure if out-of-source builds should work for this. Translations are updated with the upgrade script.
Hmm, I guess the default owner setting for "Client - Setup" tickets assumes "Setup" is the Windows installer :) Reassigning.