Hi,

Does anyone have a working example on how to add a tool written in perl to local conda channel?
What i have is the following:
Project:

./bin ./lib ./t meta.yaml Build.PL
I build my tool by executing:
perl Build.pl ./Build ./Build test ./Build install Building mytool Installing /home/ux/perl5/lib/perl5/MyTool/RMod.pm Installing /home/ux/perl5/lib/perl5/MyTool/Stats.pm Installing /home/ux/perl5/man/man3/MyTool::RMod.3pm Installing /home/ux/perl5/man/man3/MyTool::Stats.3pm Installing /home/ux/perl5/bin/mytool.pl
all good here the tool gets installed and i can use it now i want to add it to conda channel so that others can just install it (why conda u ask? well, group politics! ) what i do there is the following:
-- meta.yaml -- {% set name = "mytool" %} {% set version = "0.01" %} package: name: {{ name|lower }} version: {{ version }} build: script: "perl Build.PL && perl Build && perl Build install --instal +l_base $CONDA_PREFIX --extra_compiler $CONDA_PREFIX/lib/perl5" number: 0 source: path: ./ requirements: host: - 'r-ape=5.7_1' - 'perl==5.32.1' - 'perl-file-path==2.16' - 'perl-getopt-long==2.52' - 'perl-file-slurp==9999.32' - 'perl-test-more==1.001002' - 'perl-module-build==0.4224' - 'perl-carp==1.38' - 'perl-ipc-cmd==1.02' - 'r-base==4.3.1' - 'r-ggplot2==3.4.3' run: - 'r-ape=5.7_1' - 'perl==5.32.1' - 'perl-file-path==2.16' - 'perl-getopt-long==2.52' - 'perl-file-slurp==9999.32' - 'perl-test-more==1.001002' - 'perl-carp==1.38' - 'r-base==4.3.1' - 'r-ggplot2==3.4.3' test: commands: - mytool -v about: home: https://.. license: MIT license_family: MIT summary: "Description"
and then try to build it :
conda build --output-folder /mnt/opt/my-conda/ ./ ---- Adding in variants from internal_defaults INFO:conda_build.variants:Adding in variants from internal_defaults Attempting to finalize metadata for mytool INFO:conda_build.metadata:Attempting to finalize metadata for mytool Collecting package metadata (repodata.json): ...working... done Solving environment: ...working... done Collecting package metadata (repodata.json): ...working... done Solving environment: ...working...done BUILD START: ['mytool-0.01-py310pl532r43_0.tar.bz2'] Collecting package metadata (repodata.json): ...working... done Solving environment: ...working... done ## Package Plan ## environment location: /opt/anaconda3/conda-bld/mytool_1692345318424/ +_h_env_placehold_placehold_placehold_placehold_placehold_placehold_pl +acehold_placehold_placehold_placehold_placehold_placehold_placehold_p +lacehold_placehold_placehold_placehold_placehold_placehold_pl The following NEW packages will be INSTALLED: _libgcc_mutex: 0.1-conda_forge conda-fo +rge _openmp_mutex: 4.5-2_gnu conda-fo +rge ... Preparing transaction: ...working... done Verifying transaction: ...working... done Executing transaction: ...working... done Collecting package metadata (repodata.json): ...working... done Solving environment: ...working... done Copying /home/ux/software/mytool to /opt/anaconda3/conda-bld/mytool_16 +92345318424/work/ source tree in: /opt/anaconda3/conda-bld/mytool_1692345318424/work export PREFIX=/opt/anaconda3/conda-bld/mytool_1692345318424/_h_env_pla +cehold_placehold_placehold_placehold_placehold_placehold_placehold_pl +acehold_placehold_placehold_placehold_placehold_placehold_placehold_p +lacehold_placehold_placehold_placehold_placehold_pl export BUILD_PREFIX=/opt/anaconda3/conda-bld/mytool_1692345318424/_bui +ld_env export SRC_DIR=/opt/anaconda3/conda-bld/mytool_1692345318424/work Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'mytool' version '0.01' Building mytool Installing $BUILD_PREFIX/lib/perl5/MyTool/RMod.pm Installing $BUILD_PREFIX/lib/perl5/MyTool/Stats.pm Installing $BUILD_PREFIX/man/man3/MyTool::RMod.3pm Installing $BUILD_PREFIX/man/man3/MyTool::Stats.3 Installing $BUILD_PREFIX/man/man3/MyTool::RMod.3pm Installing $BUILD_PREFIX/man/man3/MyTool::Stats.3pm Installing $BUILD_PREFIX/bin/mytool.pl Resource usage statistics from building mytool: Process count: 2 CPU time: Sys=0:00:00.1, User=0:00:00.2 Memory: 36.2M Disk usage: 32.2M Time elapsed: 0:00:06.6 Packaging mytool INFO:conda_build.build:Packaging mytool INFO conda_build.build:build(1571): Packaging mytool Packaging mytool-0.01-py310pl532r43_0 INFO:conda_build.build:Packaging mytool-0.01-py310pl532r43_0 INFO conda_build.build:bundle_conda(891): Packaging mytool-0.01-py310p +l532r43_0 No files or script found for output mytool ### -> why no scripts a +re seen ?????? WARNING:conda_build.build:No files or script found for output mytool WARNING conda_build.build:bundle_conda(971): No files or script found +for output mytool number of files: 0 ## -> WHY? Fixing permissions TEST START: /mnt/opt/my-conda/linux-64/mytool-0.01-py310pl532r43_0.tar +.bz2 Adding in variants from /tmp/tmpnlh6v840/info/recipe/conda_build_confi +g.yaml INFO:conda_build.variants:Adding in variants from /tmp/tmpnlh6v840/inf +o/recipe/conda_build_config.yaml INFO conda_build.variants:_combine_spec_dictionaries(188): Adding in v +ariants from /tmp/tmpnlh6v840/info/recipe/conda_build_config.yaml Renaming work directory, /opt/anaconda3/conda-bld/mytool_169234531842 +4/work to /opt/anaconda3/conda-bld/mytool_1692345318424/work_moved_ +mytool-0.01-py310pl532r43_0_linux-64 Collecting package metadata (repodata.json): ...working... done Solving environment: ...working... done ## Package Plan ## environment location: /opt/anaconda3/conda-bld/mytool_1692345318424/ +_test_env_placehold_placehold_placehold_placehold_placehold_placehold +_placehold_placehold_placehold_placehold_placehold_placehold_placehol +d_placehold_placehold_placehold_placehold_placehold_placeho The following NEW packages will be INSTALLED: _libgcc_mutex: 0.1-conda_forge conda-forge _openmp_mutex: 4.5-2_gnu conda-forge ... Preparing transaction: ...working... done Verifying transaction: ...working... done Executing transaction: ...working... done + mytool.pl -v /opt/anaconda3/conda-bld/mytool_1692345318424/test_tmp/run_test.sh: li +ne 7: mytool.pl: command not found ## -> WHY?? Tests failed for mytool-0.01-py310pl532r43_0.tar.bz2 - moving package +to /opt/anaconda3/conda-bld/broken WARNING:conda_build.build:Tests failed for mytool-0.01-py310pl532r43_0 +.tar.bz2 - moving package to /opt/anaconda3/conda-bld/broken WARNING conda_build.build:tests_failed(2231): Tests failed for mytool- +0.01-py310pl532r43_0.tar.bz2 - moving package to /opt/anaconda3/conda +-bld/broken export PREFIX=/opt/anaconda3/conda-bld/mytool_1692345318424/_test_env_ +placehold_placehold_placehold_placehold_placehold_placehold_placehold +_placehold_placehold_placehold_placehold_placehold_placehold_placehol +d_placehold_placehold_placehold_placehold_placeho export SRC_DIR=/opt/anaconda3/conda-bld/mytool_1692345318424/test_tmp TESTS FAILED: mytool-0.01-py310pl532r43_0.tar.bz2
can anyone provide any insight, what am i doing wrong ??

Thynk you !


In reply to Add a tool to local conda channel by baxy77bax

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.