Skip to content

octave control package not part of octave path #2

@aroberts109

Description

@aroberts109

Running control_test.m provided with the control package fails due to missing path and missing PKG_ADD file.

Steps to re-recreate

make octave_defconfig
make
./output/images/start-qemu.sh

# On target, login as root
# rebuild package list
octave --quiet --eval 'pkg rebuild'
octave

octave-cli /usr/share/octave/packages/octave-control-3.4.0/control_test.m

# Truncated results
# ????? ltimodels does not exist in path
# ????? @lti/c2d does not exist in path
# ????? @lti/connect does not exist in path                                                                                                                                                                 # ????? @lti/d2c does not exist in path
# ????? @lti/d2d does not exist in path
# ????? @lti/feedback does not exist in path
# ????? @lti/horzcat does not exist in path
# ????? @lti/inv does not exist in path

Steps to fix

Add PKG_ADD file to /usr/lib/octave/packages/octave-control-3.4.0/
This is typically auto-generated when installing a forge package with pkg install
See pkg_install.m

# Contents of PKG_ADD file
autoload ("is_matrix", "__control_helper_functions__.oct");    
autoload ("is_real_matrix", "__control_helper_functions__.oct");    
autoload ("is_real_scalar", "__control_helper_functions__.oct");    
autoload ("is_real_square_matrix", "__control_helper_functions__.oct");    
autoload ("is_real_vector", "__control_helper_functions__.oct");    
autoload ("is_zp_vector", "__control_helper_functions__.oct");    
autoload ("__lti_input_idx__", "__control_helper_functions__.oct");    
autoload ("__sl_ab01od__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab04md__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab08nd__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab09hd__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab09id__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab09jd__", "__control_slicot_functions__.oct");         
autoload ("__sl_ab13ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab13bd__", "__control_slicot_functions__.oct");    
autoload ("__sl_ab13dd__", "__control_slicot_functions__.oct");    
autoload ("__sl_ag08bd__", "__control_slicot_functions__.oct");    
autoload ("__sl_are__", "__control_slicot_functions__.oct");    
autoload ("__sl_ib01ad__", "__control_slicot_functions__.oct");
autoload ("__sl_ib01cd__", "__control_slicot_functions__.oct");
autoload ("__sl_ident__", "__control_slicot_functions__.oct");
autoload ("__sl_mb05nd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb01bd__", "__control_slicot_functions__.oct");     
autoload ("__sl_sb02od__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb03md__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb03od__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb04md__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb04qd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10dd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10ed__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10fd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10hd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10id__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10jd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10kd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10yd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb10zd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb16ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_sb16bd__", "__control_slicot_functions__.oct");         
autoload ("__sl_sb16cd__", "__control_slicot_functions__.oct");    
autoload ("__sl_sg02ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_sg03ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_sg03bd__", "__control_slicot_functions__.oct");    
autoload ("__sl_tb01id__", "__control_slicot_functions__.oct");    
autoload ("__sl_tb01pd__", "__control_slicot_functions__.oct");    
autoload ("__sl_tb01ud__", "__control_slicot_functions__.oct");    
autoload ("__sl_tb04bd__", "__control_slicot_functions__.oct");    
autoload ("__sl_td04ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_tg01ad__", "__control_slicot_functions__.oct");    
autoload ("__sl_tg01fd__", "__control_slicot_functions__.oct");    
autoload ("__sl_tg01hd__", "__control_slicot_functions__.oct");    
autoload ("__sl_tg01id__", "__control_slicot_functions__.oct");    
autoload ("__sl_tg01jd__", "__control_slicot_functions__.oct");    
autoload ("__sl_tg04bx__", "__control_slicot_functions__.oct");    

Re-test

octave-cli --path /usr/lib/octave/packages/octave-control-3.4.0/  /usr/share/octave/packages/octave-con
trol-3.4.0/test_control.m

# Truncated Results:
# ????? ltimodels does not exist in path
# ????? @lti/c2d does not exist in path
# ????? @lti/connect does not exist in path                                                                                                                                                                 # ????? @lti/d2c does not exist in path

# Add /usr/share/octave/packages/octave-con
trol-3.4.0/ to path

octave-cli --path /usr/lib/octave/packages/octave-control-3.4.0/ --path /usr/s
hare/octave/packages/octave-control-3.4.0/ /usr/share/octave/packages/octave-con
trol-3.4.0/test_control.m

# Truncated results
# PASSES 23 out of 33 tests (10 known bugs)
# PASSES 8 out of 8 tests
# PASSES 4 out of 4 tests
# PASSES 3 out of 3 tests
# PASSES 5 out of 5 tests
# PASSES 5 out of 5 tests
# PASSES 1 out of 1 test
# PASSES 1 out of 1 test
# PASSES 1 out of 1 test
# PASSES 15 out of 15 tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions