Mon 22 Jun 2015 04:35:53 PM UTC, comment #11:
Thanks Carnë.
@Marco: until bug #45369 is solved, you can create a valid binary package for cygwin, using stk 2.3.1 (just released), by manually removing the PKG_ADD/PKG_DEL files created by 'pkg build'.
|
Sun 21 Jun 2015 12:17:43 PM UTC, comment #10:
Closing this bug report. I have opened a new bug report (bug #45369) about the issue with pkg build and PKG_ADD.
|
Sun 21 Jun 2015 08:06:33 AM UTC, comment #9:
Based on the analysis presented in my previous post (#8) I would recommend:
1) that this bug report should be closed, since the original problem with stk < 2.3.1 is solved in the upcoming stk 2.3.1 release;
2) that another bug report should be opened, concerning the 'pkg build' / 'pkg install' problem this time.
@++
Julien
|
Sun 21 Jun 2015 08:04:03 AM UTC, comment #8:
Ok. It looks now like we are dealing with a problem with 'pkg' itself. Let me explain what I think is happening, because this is not the first time that I have problem with undocumented features of pkg in relation with arch-dependent / arch-independent directories.
There are no PKG_ADD/PKG_DEL files in stk. Only PKG_ADD/PKG_DEL directives, located inside stk_init.m, which trigger the creation of the corresponding files.
When you call 'pkg build', a first set of PKG_ADD/PKG_DEL files is created where I expect them to be, that is, at the root of the arch-independent directory.
When you call 'pkg install' on the generated binary package, two things happen. First, the PKG_ADD/PKG_DEL files created by 'pkg build' are moved to the arch-dependent directory. Second, the PKG_ADD/PKG_DEL directive are parsed (again), which leads to the creation of another set of PKG_ADD/PKG_DEL files in the arch-independent directory.
|
Sun 21 Jun 2015 07:51:53 AM UTC, comment #7:
Answered by Marco on the mailing list:
> Hi Julien,
> may be is not a cygwin specific but due to to other directives
> that I am using during the packaging.
>
> I just tried a a local installation and the result is similar to yours:
>
> $ find ~/octave/ -name PKG*
> /home/marco/octave/stk-2.3.1/PKG_ADD
> /home/marco/octave/stk-2.3.1/PKG_DEL
>
> so only one copy of the scripts.
>
> My cygwin build script has:
>
> octave-cli --eval "
> echo on all
> diary ../log/diary
> more off
> pkg prefix ${D}/usr/share/octave/packages/ ${D}/usr/lib/octave/packages/
> pkg local_list ${B}/octave_packages
> pkg global_list ${B}/octave_packages
> pkg build -nodeps -noauto -global -verbose ${B} ${S}/stk-${PV}.tar.gz
> "
>
> where ${D}, ${B} and ${S} are specific directory of the build
> systems.
>
> the binary package has also only one copy:
> tar -tf stk-2.3.1.tar.gz |grep PKG
> stk/PKG_ADD
> stk/PKG_DEL
>
> but after the install directive using the just built binary
>
> octave-cli --eval "
> echo on all
> diary ../log/diary
> more off
> pkg prefix ${D}/usr/share/octave/packages/ ${D}/usr/lib/octave/packages/
> pkg local_list ${B}/octave_packages
> pkg global_list ${B}/octave_packages
> pkg install -nodeps -noauto -global -verbose ${B}/stk-${OV}.tar.gz
> pkg list
> "
>
> I found two copies in the temporary install directory:
>
> $ find inst -name "PKG*"
> inst/usr/lib/octave/packages/stk-2.3.1/x86_64-unknown-cygwin-api-v50+/PKG_ADD
> inst/usr/lib/octave/packages/stk-2.3.1/x86_64-unknown-cygwin-api-v50+/PKG_DEL
> inst/usr/share/octave/packages/stk-2.3.1/PKG_ADD
> inst/usr/share/octave/packages/stk-2.3.1/PKG_DEL
>
> Regards
> Marco
|
Sat 20 Jun 2015 02:49:52 PM UTC, comment #6:
http://octave.1599824.n4.nabble.com/PKG-ADD-PKG-DEL-directives-duplicated-on-cygwin-tp4671080.html
|
Sat 20 Jun 2015 02:40:30 PM UTC, comment #5:
No. I expect exactly one PKG_ADD and one PKG_DEL, both in the arch-independent directory---that is, in the same directory as stk_init.m, which contains the corresponding PKG_ADD/PKG_DEL directives.
The content that you see is ok, but the files should not be duplicated in the arch-dependent directory (I have checked both on Win7 32 bits and Ubuntu 14.10 32 bits that they are not).
Perhaps a Cygwin-specific issue? Do you observe the same phenomenon (duplicated PKG_ADD and PKG_DEL files) with other Octave-Forge packages?
|
Sat 20 Jun 2015 02:17:12 PM UTC, comment #4:
for what I see
pkg build -nodeps -noauto -global -verbose ..
creates two PKG_ADD and two PKG_DEL
$ find . -name PKG*
./usr/lib/octave/packages/stk-2.3.1/x86_64-unknown-cygwin-api-v50+/PKG_ADD
./usr/lib/octave/packages/stk-2.3.1/x86_64-unknown-cygwin-api-v50+/PKG_DEL
./usr/share/octave/packages/stk-2.3.1/PKG_ADD
./usr/share/octave/packages/stk-2.3.1/PKG_DEL
with the same content
$ cat PKG_ADD
stk_init ();
$ cat PKG_DEL
stk_init (true);
I assume from your comments that only a single PKG_ADD and no PKG_DEL is expected by you.
I can send you the package resulting from pkg build, if you are interested.
|
Sat 20 Jun 2015 12:57:28 PM UTC, comment #3:
Thanks Marco.
*****
Concerning the "pkg unload all" issue: I can see from the error message that you have a PKG_DEL in the arch-dependent folder. There should be no such file there...
Also, I don't understand why 'stk_init' is not found if the stk package has been properly loaded. The file stk_init.m should be at the root of the stk package.
Do you have any idea what's going on? Perhaps can you try uninstalling stk completely and then installing again?
*****
Concerning the failed tests: all (but one) of them are related to a regression in Octave 4.0.0 (see bug #45118). A patch has been proposed that solves the problem, but it's not merged yet.
There is another failed test (from stk_example_kb09.m) that I don't understand. But it's not cygwin-specific, I have seen it on other platforms. It seems to be a problem related to Octave's 'test' function.
*****
Thanks again
|
Sat 20 Jun 2015 10:49:11 AM UTC, comment #2:
that issue is solved but there is still an issue on
+ pkg ('unload', 'all')
error: 'stk_init' undefined near line 2 column 1
error: called from
/usr/lib/octave/packages/stk-2.3.1/x86_64-unknown-cygwin-api-v50+/PKG_DEL at line 2 column 1
unload_packages at line 75 column 7
pkg at line 428 column 7
test_octave-stk.m at line 641 column 2
For your convenience attached the output of running "test"
for every m-file in the package.
There are some fails on "assert (isequal ..."
(file #34277)
|
Sat 20 Jun 2015 08:19:13 AM UTC, comment #1:
Hello Marco,
There was a similar problem observed recently with MacPorts (see bug #45091).
The problem should be solved now. Or so I hope. Can you please try the 2.3.1 release candidate (tarball attached)?
If the release candidate solves the problem, then please wait a few days before packaging. The actual release will come soon.
@++
Julien
(file #34274)
|
Sat 20 Jun 2015 08:11:31 AM UTC, original submission:
on cygwin building and installing the package work
however the package is not functional:
octave:1> pkg load stk
warning: addpath: /usr/lib/octave/packages/stk-2.3.0/x86_64-unknown-cygwin-api-v50+/config: No such file or directory
warning: called from
/usr/lib/octave/packages/stk-2.3.0/x86_64-unknown-cygwin-api-v50+/PKG_ADD at line 39 column 1
load_packages_and_dependencies at line 47 column 5
load_packages at line 60 column 3
pkg at line 422 column 7
error: 'stk_config_mole' undefined near line 42 column 1
error: called from
/usr/lib/octave/packages/stk-2.3.0/x86_64-unknown-cygwin-api-v50+/PKG_ADD at line 42 column 1
load_packages_and_dependencies at line 47 column 5
load_packages at line 60 column 3
pkg at line 422 column 7
It seems that PKG_ADD, PKG_DEL are in the wrong directory.
Moving it, solve the issue:
mv /usr/lib/octave/packages/stk-2.3.0/x86_64-unknown-cygwin-api-v50+/PKG_ADD /usr/share/octave/packages/stk-2.3.0/
octave:1> pkg load stk
octave:2>
|