Eclipse PTP hangs starting debug-session of an OpenMPI application - c++

I want to use eclipse to debug some mpi code. The Eclipse PTP version looked well for the job, but I have problems with the debugger. I failed to get the debugger working (as bugfree program i used the included example of "MPI Pi C Project" for testing and try to debug it with two threads on my linux desktop). The actual symptom is that it hangs after the application was compiled showing me a "Operation in progress ..." message in the parallel debugging perspective.
My steps so far (or my actual try to get it running):
Installing new Eclipse PTP
Installing ISP (www.cs.utah.edu/formal_verification/ISP-release/ )
Installing PTP SDM (this should be not necessary, because the PTP-plugin has an
integrated SDM)
Then i configured MPI, SDM and ISP in the
"Preferences->Parallel Tools" dialog
Now the project compiles without
errors.
I add a "Open MPI-Generic-Interactive" run configuration with
an environment variable LD_LIBRARY_PATH=/usr/lib64/mpi/gcc/openmpi/lib (the variable is not set on the workstation and later it could be removed easy this way)
Now the program runs without errors with the expected output started by eclipse.
As a
next step i start the debugger with two threads and the program will
be compiled and eclipse ask me if i want to switch perspective. Then
a message window appears telling me "Operation in progress ..." and a
progress bar hangs at 20% for more than an hour (in one case).
So far I tried different solutions and debugging approachs:
I used Eclipse PTP-wiki and help.eclipse.org/kepler/topic/org.eclipse.ptp.doc.user/html/toc.html to get a little bit information on it.
I removed the LD_LIBRARY_PATH variable, now the executable wont run (if you run it inside of eclipse you get a "error while loading shared libraries: libmpi.so.1: cannot open shared object file" message and the program ends). In this case the message is not thrown when you start the debugger, so it should be that mpirun is never called by the debugger.
When i cancel the "Operation in progress ..."-message i get an error "Error completing debug job launch. Reason: Cannot connect to debugger." So i tried to google that error message, but i found only some threads like this "dev.eclipse.org/mhonarc/lists/ptp-user/msg01183.html", most of them to old and with the solution that ssh needs to be installed (this should not be the problem, i am able to connect from other hosts to the workstation using ssh, so server and client must work fine. Additional they use much older versions of PTP, because the problem to configure resource managers is now in the run/debug dialog)
I installed the optional RDT-Server and RDT-Tools but no reaction (i think this should not be the problem, but it was worth a try)
I found some questions here, but no solution.
Any suggestions how to solve that?
As appendix the debugger configuration (out of eclipse):
25524=RUNNING
25659=RUNNING
allAttributes=
allocator=
allocator_base_verbose=0
backtrace=
backtrace_base_verbose=0
bml=bucket
bml_base_verbose=67108864
bml_r2_show_unreach_errors=0
btl=0
btl_base_verbose=
btl_base_warn_component_unused=0
btl_self_bandwidth=4
btl_self_eager_limit=5
btl_self_exclusivity=5
btl_self_flags=3
btl_self_free_list_inc=64
btl_self_free_list_max=-1
btl_self_free_list_num=4
btl_self_latency=-1
btl_self_max_send_size=4
btl_self_min_rdma_pipeline_size=bucket
btl_self_rdma_pipeline_frag_size=128
btl_self_rdma_pipeline_send_length=4
btl_self_rndv_eager_limit=4
btl_sm_bandwidth=4
btl_sm_eager_limit=5
btl_sm_exclusivity=64
btl_sm_flags=3
btl_sm_have_knem_support=64
btl_sm_knem_dma_min=4
btl_sm_knem_max_simultaneous=-1
btl_sm_latency=128
btl_sm_max_send_size=4
btl_sm_rndv_eager_limit=4
btl_sm_use_knem=10
btl_tcp_bandwidth=stderr
btl_tcp_eager_limit=4
btl_tcp_endpoint_cache=4
btl_tcp_exclusivity=3
btl_tcp_flags=4
btl_tcp_if_exclude=0
btl_tcp_if_include=bucket
btl_tcp_if_seq=
btl_tcp_latency=0
btl_tcp_max_send_size=4
btl_tcp_min_rdma_pipeline_size=-1
btl_tcp_port_min_v4=64
btl_tcp_port_range_v4=20
btl_tcp_rdma_pipeline_frag_size=bucket
btl_tcp_rdma_pipeline_send_length=128
btl_tcp_rndv_eager_limit=5
btl_tcp_use_nagle=-1
byNodeOption=false
bySlotOption=false
carto=40
carto_auto_detect_priority=0
carto_base_verbose=
carto_file_path=
carto_file_priority=11
coll=0
coll_base_verbose=
coll_basic_crossover=50
coll_basic_priority=0
coll_hierarch_bcast_alg=
coll_hierarch_detection_alg=0
coll_hierarch_ignore_sm=30
coll_hierarch_priority=
coll_hierarch_segment_size=0
coll_hierarch_use_rdma=0
coll_hierarch_verbose=0
coll_inter_priority=10
coll_inter_verbose=4
coll_sm_comm_in_use_flags=0
coll_sm_comm_num_segments=2
coll_sm_control_size=0
coll_sm_fragment_size=0
coll_sm_info_num_procs=32768
coll_sm_priority=0
coll_sm_shared_mem_used_data=40
coll_sm_tree_degree=4
coll_sync_barrier_after=0
coll_sync_barrier_before=75
coll_sync_priority=0
coll_tuned_init_chain_fanout=8
coll_tuned_init_tree_fanout=2
coll_tuned_pre_allocate_memory_comm_size_limit=8192
coll_tuned_priority=4096
coll_tuned_use_dynamic_rules=4
control.address=localhost
control.user.name=Sebastian
control.working.dir=/home/Sebastian
current_controller=Basic.Options
debuggerArgs=--port=51091 --host=localhost --debugger=gdb-mi --debugger_path=/usr/bin/gdm --debug=0
debuggerExecutablePath=/usr/local/bin/sdm
debuggerId=org.eclipse.ptp.debug.sdm
disabled=true
dpm=0
dpm_base_verbose=none
enabled_Basic.Options=byNodeOption bySlotOption hostFileOption hostListOption mpiNumberOfProcesses noLocalOption noOversubscribeOption prefixOption
errmgr=
errmgr_base_verbose=0
errmgr_default_priority=0
ess=
ess_base_verbose=0
ess_env_priority=0
ess_hnp_priority=0
ess_singleton_priority=0
ess_slave_priority=0
ess_slurm_priority=0
ess_slurmd_priority=0
ess_tool_priority=0
executableDirectory=/home/Sebastian/testW/Test/Debug
executablePath=/home/Sebastian/testW/Test/Debug/Test
extraArgs=
filem=
filem_base_verbose=0
filem_rsh_cp=cp
filem_rsh_max_incomming=10
filem_rsh_max_outgoing=10
filem_rsh_priority=20
filem_rsh_rcp=scp
filem_rsh_rsh=ssh
filem_rsh_verbose=0
grpcomm=
grpcomm_bad_priority=0
grpcomm_base_verbose=0
grpcomm_basic_priority=0
grpcomm_hier_priority=0
hostFileOption=false
hostListOption=false
hwloc=0
hwloc_base_mem_alloc_policy=
hwloc_base_mem_bind_failure_action=0
hwloc_base_verbose=0
invalid_Basic.Options=hostFile hostList prefix script_path
io=1000
io_base_freelist_increment=50
io_base_freelist_initial_size=4
io_base_freelist_max_size=548864
io_base_verbose=0
io_romio_complete_configure_params=0
io_romio_delete_priority=32768
io_romio_priority=30
io_romio_user_configure_params=4
io_romio_version=4
iof=262144
iof_base_verbose=2147483647
launchMode=run
local_prefix=
maffinity=30
maffinity_base_verbose=40
maffinity_first_use_priority=0
maffinity_hwloc_priority=
mca_base_param_file_path=/usr/lib64/mpi/gcc/openmpi/share/openmpi/amca-param-sets:/home/Sebastian
mca_base_param_file_path_force=
mca_base_param_file_prefix=
mca_component_disable_dlopen=0
mca_component_path=/usr/lib64/mpi/gcc/openmpi/lib64/openmpi:/home/Sebastian/.openmpi/components
mca_component_show_load_errors=1
mca_param_files=/home/Sebastian/.openmpi/mca-params.conf:/etc/openmpi-mca-params.conf
mca_verbose=stderr
memchecker=0
memory=
memory_base_verbose=
memory_linux_disable=-1
memory_linux_ptmalloc2_available=0
memory_linux_ptmalloc2_enable=0
memory_linux_ummunotify_available=1
memory_linux_ummunotify_enable=-1
mpiNumberOfProcesses=2
mpi_abort_delay=0
mpi_abort_print_stack=0
mpi_event_tick_rate=-1
mpi_have_sparse_group_storage=0
mpi_keep_peer_hostnames=1
mpi_leave_pinned=-1
mpi_leave_pinned_pipeline=0
mpi_no_free_handles=0
mpi_notify_init_finalize=1
mpi_paffinity_alone=0
mpi_param_check=1
mpi_preconnect_all=0
mpi_preconnect_mpi=0
mpi_show_handle_leaks=0
mpi_show_mca_params=
mpi_show_mca_params_file=
mpi_show_mpi_alloc_mem_leaks=0
mpi_use_sparse_group_storage=0
mpi_warn_on_fork=1
mpi_yield_when_idle=-1
mpool=16
mpool_base_verbose=64
mpool_rdma_print_stats=0
mpool_rdma_rcache_name=16
mpool_rdma_rcache_size_limit=
mpool_sm_allocator=10
mpool_sm_min_size=10
mpool_sm_verbose=from MPICH2 v1.3.1 with an additional patch from romio-maint#mcs.anl.gov about an attribute issue
mtl=1
mtl_base_verbose=0
noLocalOption=false
noOversubscribeOption=false
notifier=
notifier_base_verbose=0
notifier_command_cmd=/sbin/initlog -f $s -n "Open MPI" -s "$S: $m (errorcode: $e)"
notifier_command_priority=10
notifier_command_timeout=30
notifier_syslog_priority=0
notifier_threshold_severity=critical
odls=
odls_base_sigkill_timeout=1
odls_base_verbose=0
odls_default_priority=0
ompi_minor_version=6
oob=2147483647
oob_base_verbose=0
oob_tcp_connect_sleep=1
oob_tcp_debug=0
oob_tcp_disable_family=0
oob_tcp_dynamic_ports=
oob_tcp_if_exclude=
oob_tcp_if_include=
oob_tcp_listen_mode=event
oob_tcp_listen_thread_max_queue=10
oob_tcp_listen_thread_wait_time=10
oob_tcp_peer_limit=0
oob_tcp_peer_retries=0
oob_tcp_priority=0
oob_tcp_rcvbuf=0
oob_tcp_sndbuf=0
oob_tcp_static_ports=
oob_tcp_verbose=100
op_base_verbose=131072
opal_event_include=poll
opal_net_private_ipv4=10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;169.254.0.0/16
opal_paffinity_alone=0
opal_profile=0
opal_profile_file=
opal_set_max_sys_limits=0
opal_signal=6,7,8,11
org.eclipse.debug.core.SOURCE_PATH_COMPUTER_ID=org.eclipse.ptp.debug.core.sourcePathComputer
org.eclipse.debug.core.appendEnvironmentVariables=true
org.eclipse.debug.core.environmentVariables={LD_LIBRARY_PATH=/usr/lib64/mpi/gcc/openmpi/lib}
org.eclipse.ptp.launch.ARGUMENT_ATTR=
org.eclipse.ptp.launch.ATTR_AUTO_RUN_COMMAND=true
org.eclipse.ptp.launch.ATTR_CONSOLE=true
org.eclipse.ptp.launch.ATTR_COPY_EXECUTABLE_FROM_LOCAL=false
org.eclipse.ptp.launch.ATTR_DEBUGGER_HOST=localhost
org.eclipse.ptp.launch.ATTR_REMOTE_EXECUTABLE_PATH=/home/Sebastian/testW/Test/Debug/Test
org.eclipse.ptp.launch.ATTR_SYNC_AFTER=false
org.eclipse.ptp.launch.ATTR_SYNC_BEFORE=false
org.eclipse.ptp.launch.ATTR_SYNC_RULES=[]
org.eclipse.ptp.launch.CONFIGURATION_NAME=Open MPI-Generic-Interactive
org.eclipse.ptp.launch.CONNECTION_NAME=Local
org.eclipse.ptp.launch.DEBUGGER_ARGS=--port=51091 --host=localhost --debugger=gdb-mi --debugger_path=/usr/bin/gdm --debug=0
org.eclipse.ptp.launch.DEBUGGER_EXECUTABLE_PATH=/usr/local/bin/sdm
org.eclipse.ptp.launch.DEBUGGER_ID=org.eclipse.ptp.debug.sdm
org.eclipse.ptp.launch.DEBUGGER_SDM_BACKEND=gdb-mi
org.eclipse.ptp.launch.DEBUGGER_SDM_BACKEND_PATH=/usr/bin/gdm
org.eclipse.ptp.launch.DEBUGGER_SDM_EXECUTABLE=/usr/local/bin/sdm
org.eclipse.ptp.launch.DEBUGGER_START_MODE=run
org.eclipse.ptp.launch.DEBUGGER_USE_BUILTIN_SDM=true
org.eclipse.ptp.launch.PROJECT_ATTR=Test
org.eclipse.ptp.launch.REMOTE_SERVICES_ID=org.eclipse.ptp.remote.LocalServices
org.eclipse.ptp.launch.RESOURCE_MANAGER_NAME=25e8e9bf-c561-344e-9abc-4cd12336be73
org.eclipse.ptp.launch.STOP_IN_MAIN=true
orte_abort_timeout=1
orte_allocation_required=0
orte_assume_same_shell=1
orte_base_help_aggregate=1
orte_base_user_debugger=totalview #mpirun# -a #mpirun_args# : ddt -n #np# -start #executable# #executable_argv# #single_app# : fxp #mpirun# -a #mpirun_args#
orte_cpu_set=
orte_daemon_bootstrap=0
orte_daemon_fail=-1
orte_daemon_fail_delay=0
orte_daemon_spin=0
orte_debug=0
orte_debug_daemons=0
orte_debug_daemons_file=0
orte_debug_verbose=-1
orte_debugger_check_rate=0
orte_debugger_test_attach=0
orte_debugger_test_daemon=
orte_default_hostfile=/usr/lib64/mpi/gcc/openmpi/etc/openmpi-default-hostfile
orte_do_not_launch=0
orte_forward_job_control=0
orte_heartbeat_rate=0
orte_hetero_apps=0
orte_keep_fqdn_hostnames=0
orte_launch_agent=orted
orte_leave_session_attached=0
orte_no_session_dirs=
orte_num_boards=1
orte_num_cores=0
orte_num_sockets=0
orte_output_debugger_proctable=0
orte_output_filename=
orte_process_binding=
orte_rankfile=
orte_report_bindings=0
orte_report_events=
orte_report_launch_progress=0
orte_rsh_agent=ssh : rsh
orte_send_profile=0
orte_show_resolved_nodenames=0
orte_startup_timeout=0
orte_tag_output=0
orte_timeout_step=1000
orte_timestamp_output=0
orte_timing=0
orte_timing_details=0
orte_tmpdir_base=
orte_use_regexp=0
orte_xml_file=
orte_xml_output=0
orte_xterm=
osc=0
osc_base_verbose=0
osc_pt2pt_eager_limit=0
osc_pt2pt_no_locks=
osc_rdma_eager_send=-1
osc_rdma_no_locks=131072
osc_rdma_rdma_completion_wait=10
osc_rdma_use_buffers=32
osc_rdma_use_rdma=65536
paffinity=0
paffinity_base_verbose=0
paffinity_hwloc_priority=0
plm=
plm_base_verbose=0
plm_rsh_agent=ssh : rsh
plm_rsh_assume_same_shell=1
plm_rsh_daemonize_llspawn=0
plm_rsh_daemonize_qrsh=0
plm_rsh_delay=1
plm_rsh_disable_llspawn=0
plm_rsh_disable_qrsh=0
plm_rsh_force_rsh=0
plm_rsh_num_concurrent=128
plm_rsh_priority=10
plm_rsh_tree_spawn=0
plm_slurm_args=
plm_slurm_priority=0
pml= CFLAGS='-DNDEBUG -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -finline-functions -fno-strict-aliasing -pthread' CPPFLAGS=' -I/home/abuild/rpmbuild/BUILD/openmpi-1.6/opal/mca/hwloc/hwloc132/hwloc/include -I/usr/include/infiniband -I/usr/include/infiniband' FFLAGS='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' LDFLAGS=' ' --enable-shared --disable-static --prefix=/usr/lib64/mpi/gcc/openmpi --with-mpi=open_mpi --disable-aio
pml_base_verbose=
pml_bfo_allocator=
pml_cm_free_list_inc=vma
pml_cm_free_list_max=0
pml_cm_free_list_num=0
pml_cm_priority=0
pml_csum_allocator=0
pml_ob1_allocator=0
prefixOption=false
progArgs=
ptpDirectory=/home/Sebastian/.eclipsesettings
pubsub=error
pubsub_base_verbose=
pubsub_orte_priority=0
ras=
ras_base_display_alloc=0
ras_base_display_devel_alloc=0
ras_base_verbose=0
ras_cm_priority=0
ras_loadleveler_priority=90
ras_slurm_priority=75
rcache=0
rcache_base_verbose=0
rmaps=
rmaps_base_cpus_per_proc=1
rmaps_base_cpus_per_rank=1
rmaps_base_display_devel_map=0
rmaps_base_display_map=0
rmaps_base_loadbalance=0
rmaps_base_n_perboard=-1
rmaps_base_n_pernode=-1
rmaps_base_n_persocket=-1
rmaps_base_no_oversubscribe=0
rmaps_base_no_schedule_local=0
rmaps_base_pernode=0
rmaps_base_schedule_policy=slot
rmaps_base_slot_list=
rmaps_base_stride=1
rmaps_base_verbose=0
rmaps_load_balance_priority=0
rmaps_rank_file_path=
rmaps_rank_file_priority=0
rmaps_resilient_fault_grp_file=
rmaps_resilient_priority=0
rmaps_round_robin_priority=0
rmaps_seq_priority=0
rmaps_topo_priority=0
rml=
rml_base_verbose=0
rml_oob_priority=0
rml_wrapper=
routed=
routed_base_verbose=0
routed_binomial_priority=0
routed_cm_priority=0
routed_direct_priority=0
routed_linear_priority=0
routed_radix_priority=0
routed_slave_priority=0
shmem=10
shmem_base_verbose=
shmem_mmap_backing_file_base_dir=50
shmem_mmap_enable_nfs_warning=0
shmem_mmap_priority=
shmem_mmap_relocate_backing_file=1
shmem_posix_priority=0
shmem_sysv_priority=/dev/shm
sysinfo=
sysinfo_base_verbose=0
timer=10
timer_base_verbose=40
topo=
topo_base_verbose=0
valid_Basic.Options=25524 25659 allAttributes allocator allocator_base_verbose backtrace backtrace_base_verbose bml bml_base_verbose bml_r2_show_unreach_errors btl btl_base_verbose btl_base_warn_component_unused btl_self_bandwidth btl_self_eager_limit btl_self_exclusivity btl_self_flags btl_self_free_list_inc btl_self_free_list_max btl_self_free_list_num btl_self_latency btl_self_max_send_size btl_self_min_rdma_pipeline_size btl_self_rdma_pipeline_frag_size btl_self_rdma_pipeline_send_length btl_self_rndv_eager_limit btl_sm_bandwidth btl_sm_eager_limit btl_sm_exclusivity btl_sm_flags btl_sm_have_knem_support btl_sm_knem_dma_min btl_sm_knem_max_simultaneous btl_sm_latency btl_sm_max_send_size btl_sm_rndv_eager_limit btl_sm_use_knem btl_tcp_bandwidth btl_tcp_eager_limit btl_tcp_endpoint_cache btl_tcp_exclusivity btl_tcp_flags btl_tcp_if_exclude btl_tcp_if_include btl_tcp_if_seq btl_tcp_latency btl_tcp_max_send_size btl_tcp_min_rdma_pipeline_size btl_tcp_port_min_v4 btl_tcp_port_range_v4 btl_tcp_rdma_pipeline_frag_size btl_tcp_rdma_pipeline_send_length btl_tcp_rndv_eager_limit btl_tcp_use_nagle byNodeOption bySlotOption carto carto_auto_detect_priority carto_base_verbose carto_file_path carto_file_priority coll coll_base_verbose coll_basic_crossover coll_basic_priority coll_hierarch_bcast_alg coll_hierarch_detection_alg coll_hierarch_ignore_sm coll_hierarch_priority coll_hierarch_segment_size coll_hierarch_use_rdma coll_hierarch_verbose coll_inter_priority coll_inter_verbose coll_sm_comm_in_use_flags coll_sm_comm_num_segments coll_sm_control_size coll_sm_fragment_size coll_sm_info_num_procs coll_sm_priority coll_sm_shared_mem_used_data coll_sm_tree_degree coll_sync_barrier_after coll_sync_barrier_before coll_sync_priority coll_tuned_init_chain_fanout coll_tuned_init_tree_fanout coll_tuned_pre_allocate_memory_comm_size_limit coll_tuned_priority coll_tuned_use_dynamic_rules control.address control.user.name control.working.dir current_controller debuggerId disabled dpm dpm_base_verbose enabled_Basic.Options errmgr errmgr_base_verbose errmgr_default_priority ess ess_base_verbose ess_env_priority ess_hnp_priority ess_singleton_priority ess_slave_priority ess_slurm_priority ess_slurmd_priority ess_tool_priority executableDirectory executablePath extraArgs filem filem_base_verbose filem_rsh_cp filem_rsh_max_incomming filem_rsh_max_outgoing filem_rsh_priority filem_rsh_rcp filem_rsh_rsh filem_rsh_verbose grpcomm grpcomm_bad_priority grpcomm_base_verbose grpcomm_basic_priority grpcomm_hier_priority hostFileOption hostListOption hwloc hwloc_base_mem_alloc_policy hwloc_base_mem_bind_failure_action hwloc_base_verbose invalid_Basic.Options io io_base_freelist_increment io_base_freelist_initial_size io_base_freelist_max_size io_base_verbose io_romio_complete_configure_params io_romio_delete_priority io_romio_priority io_romio_user_configure_params io_romio_version iof iof_base_verbose launchMode local_prefix maffinity maffinity_base_verbose maffinity_first_use_priority maffinity_hwloc_priority mca_base_param_file_path mca_base_param_file_path_force mca_base_param_file_prefix mca_component_disable_dlopen mca_component_path mca_component_show_load_errors mca_param_files mca_verbose memchecker memory memory_base_verbose memory_linux_disable memory_linux_ptmalloc2_available memory_linux_ptmalloc2_enable memory_linux_ummunotify_available memory_linux_ummunotify_enable mpiNumberOfProcesses mpi_abort_delay mpi_abort_print_stack mpi_event_tick_rate mpi_have_sparse_group_storage mpi_keep_peer_hostnames mpi_leave_pinned mpi_leave_pinned_pipeline mpi_no_free_handles mpi_notify_init_finalize mpi_paffinity_alone mpi_param_check mpi_preconnect_all mpi_preconnect_mpi mpi_show_handle_leaks mpi_show_mca_params mpi_show_mca_params_file mpi_show_mpi_alloc_mem_leaks mpi_use_sparse_group_storage mpi_warn_on_fork mpi_yield_when_idle mpool mpool_base_verbose mpool_rdma_print_stats mpool_rdma_rcache_name mpool_rdma_rcache_size_limit mpool_sm_allocator mpool_sm_min_size mpool_sm_verbose mtl mtl_base_verbose noLocalOption noOversubscribeOption notifier notifier_base_verbose notifier_command_cmd notifier_command_priority notifier_command_timeout notifier_syslog_priority notifier_threshold_severity odls odls_base_sigkill_timeout odls_base_verbose odls_default_priority ompi_minor_version oob oob_base_verbose oob_tcp_connect_sleep oob_tcp_debug oob_tcp_disable_family oob_tcp_dynamic_ports oob_tcp_if_exclude oob_tcp_if_include oob_tcp_listen_mode oob_tcp_listen_thread_max_queue oob_tcp_listen_thread_wait_time oob_tcp_peer_limit oob_tcp_peer_retries oob_tcp_priority oob_tcp_rcvbuf oob_tcp_sndbuf oob_tcp_static_ports oob_tcp_verbose op_base_verbose opal_event_include opal_net_private_ipv4 opal_paffinity_alone opal_profile opal_profile_file opal_set_max_sys_limits opal_signal orte_abort_timeout orte_allocation_required orte_assume_same_shell orte_base_help_aggregate orte_base_user_debugger orte_cpu_set orte_daemon_bootstrap orte_daemon_fail orte_daemon_fail_delay orte_daemon_spin orte_debug orte_debug_daemons orte_debug_daemons_file orte_debug_verbose orte_debugger_check_rate orte_debugger_test_attach orte_debugger_test_daemon orte_default_hostfile orte_do_not_launch orte_forward_job_control orte_heartbeat_rate orte_hetero_apps orte_keep_fqdn_hostnames orte_launch_agent orte_leave_session_attached orte_no_session_dirs orte_num_boards orte_num_cores orte_num_sockets orte_output_debugger_proctable orte_output_filename orte_process_binding orte_rankfile orte_report_bindings orte_report_events orte_report_launch_progress orte_rsh_agent orte_send_profile orte_show_resolved_nodenames orte_startup_timeout orte_tag_output orte_timeout_step orte_timestamp_output orte_timing orte_timing_details orte_tmpdir_base orte_use_regexp orte_xml_file orte_xml_output orte_xterm osc osc_base_verbose osc_pt2pt_eager_limit osc_pt2pt_no_locks osc_rdma_eager_send osc_rdma_no_locks osc_rdma_rdma_completion_wait osc_rdma_use_buffers osc_rdma_use_rdma paffinity paffinity_base_verbose paffinity_hwloc_priority plm plm_base_verbose plm_rsh_agent plm_rsh_assume_same_shell plm_rsh_daemonize_llspawn plm_rsh_daemonize_qrsh plm_rsh_delay plm_rsh_disable_llspawn plm_rsh_disable_qrsh plm_rsh_force_rsh plm_rsh_num_concurrent plm_rsh_priority plm_rsh_tree_spawn plm_slurm_args plm_slurm_priority pml pml_base_verbose pml_bfo_allocator pml_cm_free_list_inc pml_cm_free_list_max pml_cm_free_list_num pml_cm_priority pml_csum_allocator pml_ob1_allocator prefixOption progArgs ptpDirectory pubsub pubsub_base_verbose pubsub_orte_priority ras ras_base_display_alloc ras_base_display_devel_alloc ras_base_verbose ras_cm_priority ras_loadleveler_priority ras_slurm_priority rcache rcache_base_verbose rmaps rmaps_base_cpus_per_proc rmaps_base_cpus_per_rank rmaps_base_display_devel_map rmaps_base_display_map rmaps_base_loadbalance rmaps_base_n_perboard rmaps_base_n_pernode rmaps_base_n_persocket rmaps_base_no_oversubscribe rmaps_base_no_schedule_local rmaps_base_pernode rmaps_base_schedule_policy rmaps_base_slot_list rmaps_base_stride rmaps_base_verbose rmaps_load_balance_priority rmaps_rank_file_path rmaps_rank_file_priority rmaps_resilient_fault_grp_file rmaps_resilient_priority rmaps_round_robin_priority rmaps_seq_priority rmaps_topo_priority rml rml_base_verbose rml_oob_priority rml_wrapper routed routed_base_verbose routed_binomial_priority routed_cm_priority routed_direct_priority routed_linear_priority routed_radix_priority routed_slave_priority shmem shmem_base_verbose shmem_mmap_backing_file_base_dir shmem_mmap_enable_nfs_warning shmem_mmap_priority shmem_mmap_relocate_backing_file shmem_posix_priority shmem_sysv_priority sysinfo sysinfo_base_verbose timer timer_base_verbose topo topo_base_verbose valid_Basic.Options visible_Basic.Options working.directory
visible_Basic.Options=byNodeOption bySlotOption hostFile hostFileOption hostList hostListOption mpiNumberOfProcesses noLocalOption noOversubscribeOption prefix prefixOption
working.directory=/home/Sebastian

OK, i updated the PTP Version to 7.0.4 and now it is working, do not know why.

Related

Cleaning recipes after build in Yocto

I know to reduce the disk space, we need to add INHERIT += "rm_work" in the local.conf, I added in local.conf, but it is still not deleting the files after building the recipe.
bitbake -e core-image-minimal | grep ^INHERIT
INHERIT=" multilib_global rm_work poky-sanity uninative package_rpm buildstats image-mklibs image-prelink debian devshell sstate license remove-libtool blacklist sanity"
INHERIT_BLACKLIST="blacklist"
INHERIT_DISTRO="debian devshell sstate license remove-libtool"
I verified by looking at log.task_order of a particular recipe, what I am missing here.
do_fetch (12251): log.do_fetch.12251
do_prepare_recipe_sysroot (12440): log.do_prepare_recipe_sysroot.12440
do_unpack (13072): log.do_unpack.13072
do_patch (14329): log.do_patch.14329
do_configure (15730): log.do_configure.15730
do_compile (4380): log.do_compile.4380
do_mkimage (10675): log.do_mkimage.10675
do_install (10749): log.do_install.10749
do_package (11298): log.do_package.11298
do_packagedata (6787): log.do_packagedata.6787
do_package_write_rpm (27291): log.do_package_write_rpm.27291

Codeception Allure Module error: [Doctrine\Common\Annotations\AnnotationException] The annotation "#env" ... was never imported

Our current project uses Codeception with the Codeception Allure addon and we are now seeing the following error when we run codecept run acceptance --env chrome --group banana --debug. This error began appearing a few days ago and we are unsure how to correct it. Has anyone ran into this error recently? I have found a number of old posts regarding similar issues but they have all been fixed by the project owners.
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "#env" in method
LogIntoAdminCest::logIntoAdmin() was never imported. Did you maybe
forget to add a "use" statement for this annotation?
Exception trace:
() at /vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php:54
Doctrine\Common\Annotations\AnnotationException::semanticalError() at /vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php:727
Doctrine\Common\Annotations\DocParser->Annotation() at /vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php:663
Doctrine\Common\Annotations\DocParser->Annotations() at /vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php:354
Doctrine\Common\Annotations\DocParser->parse() at /vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php:284
Doctrine\Common\Annotations\AnnotationReader->getMethodAnnotations() at /vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php:71
Doctrine\Common\Annotations\IndexedReader->getMethodAnnotations() at /vendor/allure-framework/allure-php-api/src/Yandex/Allure/Adapter/Annotation/AnnotationProvider.php:43
Yandex\Allure\Adapter\Annotation\AnnotationProvider::getMethodAnnotations() at /vendor/allure-framework/allure-codeception/src/Yandex/Allure/Adapter/AllureAdapter.php:250
Yandex\Allure\Adapter\AllureAdapter->testStart() at n/a:n/a
call_user_func() at /vendor/symfony/event-dispatcher/EventDispatcher.php:212
Symfony\Component\EventDispatcher\EventDispatcher->doDispatch() at /vendor/symfony/event-dispatcher/EventDispatcher.php:44
Symfony\Component\EventDispatcher\EventDispatcher->dispatch() at /vendor/codeception/codeception/src/Codeception/PHPUnit/Listener.php:90
Codeception\PHPUnit\Listener->startTest() at /vendor/phpunit/phpunit/src/Framework/TestResult.php:386
PHPUnit_Framework_TestResult->startTest() at /vendor/codeception/codeception/src/Codeception/Test/Test.php:74
Codeception\Test\Test->run() at /vendor/phpunit/phpunit/src/Framework/TestSuite.php:722
PHPUnit_Framework_TestSuite->run() at /vendor/codeception/codeception/src/Codeception/PHPUnit/Runner.php:106
Codeception\PHPUnit\Runner->doEnhancedRun() at /vendor/codeception/codeception/src/Codeception/SuiteManager.php:157
Codeception\SuiteManager->run() at /vendor/codeception/codeception/src/Codeception/Codecept.php:184
Codeception\Codecept->runSuite() at /vendor/codeception/codeception/src/Codeception/Codecept.php:175
Codeception\Codecept->run() at /vendor/codeception/codeception/src/Codeception/Command/Run.php:376
Codeception\Command\Run->runSuites() at /vendor/codeception/codeception/src/Codeception/Command/Run.php:303
Codeception\Command\Run->execute() at /vendor/symfony/console/Command/Command.php:264
Symfony\Component\Console\Command\Command->run() at /vendor/symfony/console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /vendor/symfony/console/Application.php:228
Symfony\Component\Console\Application->doRun() at /vendor/symfony/console/Application.php:130
Symfony\Component\Console\Application->run() at /vendor/codeception/codeception/src/Codeception/Application.php:103
Codeception\Application->run() at /vendor/codeception/codeception/codecept:36
run [-o|--override OVERRIDE] [-e|--ext EXT] [--report] [--html [HTML]] [--xml [XML]] [--tap [TAP]] [--json [JSON]] [--colors] [--no-colors] [--silent] [--steps] [-d|--debug] [--coverage [COVERAGE]] [--coverage-html [COVERAGE-HTML]] [--coverage-xml [COVERAGE-XML]] [--coverage-text [COVERAGE-TEXT]] [--coverage-crap4j [COVERAGE-CRAP4J]] [--no-exit] [-g|--group GROUP] [-s|--skip SKIP] [-x|--skip-group SKIP-GROUP] [--env ENV] [-f|--fail-fast] [--no-rebuild] [--] [<suite>] [<test>]

Go-QT Binding: QAbstractAnimation No such file or directory

I am using go-QT binding(https://github.com/therecipe/qt). My code is compiling & working good for amd64 but when I try to cross compile it for arm devices (Raspberrypi), it gives below error. Please advise how to solve this issue
**src/github.com/therecipe/qt/core/core.cpp:9:30: fatal error:
QAbstractAnimation: No such file or directory
compilation terminated.**
Environment Variables
GOARCH="arm"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/minhaj/GoLang"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
GOARM=""
CC="arm-linux-gnueabi-gcc"
GOGCCFLAGS="-fPIC -marm -pthread -fmessage-length=0 -fdebug-prefix-
map=/tmp/go-build728594690=/tmp/go-build -gno-record-gcc-switches"
CXX="arm-linux-gnueabi-g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
Compilation Result
go build -v IndoorMass/
crypto
encoding
encoding/base64
crypto/sha256
unicode/utf16
flag
encoding/json
golang.org/x/image/math/fixed
github.com/golang/freetype/raster
golang.org/x/image/font
github.com/icza/mjpeg
github.com/golang/freetype/truetype
github.com/skip2/go-qrcode/bitset
github.com/skip2/go-qrcode/reedsolomon
path/filepath
io/ioutil
github.com/skip2/go-qrcode
container/list
golang.org/x/net/context
github.com/mattn/go-sqlite3
IndoorMass/General
github.com/tidwall/match
github.com/tidwall/gjson
compress/gzip
crypto/subtle
crypto/cipher
crypto/aes
internal/syscall/unix
math/rand
math/big
crypto/rand
crypto/des
crypto/elliptic
crypto/sha512
encoding/asn1
crypto/ecdsa
crypto/hmac
crypto/internal/cipherhw
crypto/md5
crypto/rc4
crypto/rsa
crypto/sha1
crypto/dsa
crypto/x509/pkix
encoding/hex
encoding/pem
internal/nettrace
internal/singleflight
net
crypto/x509
vendor/golang_org/x/crypto/chacha20poly1305/internal/chacha20
vendor/golang_org/x/crypto/poly1305
vendor/golang_org/x/crypto/chacha20poly1305
vendor/golang_org/x/crypto/curve25519
crypto/tls
vendor/golang_org/x/net/http2/hpack
vendor/golang_org/x/net/idna
vendor/golang_org/x/net/lex/httplex
vendor/golang_org/x/text/transform
vendor/golang_org/x/text/unicode/norm
vendor/golang_org/x/text/width
mime
mime/quotedprintable
net/textproto
mime/multipart
net/http/httptrace
net/http/internal
path
net/http
IndoorMass/Server
github.com/kaey/framebuffer
os/exec
github.com/mrmorphic/hwio
github.com/DexterInd/GrovePi/Software/Go/grovepi
IndoorMass/Sensor
github.com/therecipe/qt
github.com/therecipe/qt/core
# github.com/therecipe/qt/core
src/github.com/therecipe/qt/core/core.cpp:9:30: fatal error:
QAbstractAnimation: No such file or directory
compilation terminated.
IndoorMass/DB
IndoorMass/Manager

Using C# program FNR to find and replace properties, file cannot be found

I have a master virtual machine with a few websites hosted on it. When I deploy a copy of this, the settings are a standard value, and I often need to change them so they fit different databases. For this I would like to use a small c# program so I can use regular expressions to find and replace whatever property needed. For this I use fnr (http://findandreplace.codeplex.com/).
findandreplace.bat:
set DATABASE="dbname"
set DBHOST="my.host.name"
set DBPORT="1234"
set ENV="this.env"
ECHO CHANGE DATABASE
"fnr" --cl --dir "D:\Inetpub\wwwroot" --fileMask "web.config" --includeSubDirectories --useRegEx --find "<add key=\"DATABASE\" value=\".*\"\s*>" --replace "<add key=\"DATABASE\" value=\"%DATABASE%\">"
ECHO CHANGE HOST
"fnr" --cl --dir "D:\Inetpub\wwwroot" --fileMask "web.config" --includeSubDirectories --useRegEx --find "<add key=\"HOST\" value=\".*\"\s*>" --replace "<add key=\"HOST\" value=\"%DBHOST%\">"
ECHO CHANGE PORT
"fnr" --cl --dir "D:\Inetpub\wwwroot" --fileMask "web.config" --includeSubDirectories --useRegEx --find "<add key=\"ConnectionString\" value=\"Data Source.*>" --replace "<add key=\"ConnectionString\" value=\"Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = %%3%%)(port = %DBPORT%)) )(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = %%2%%)));User ID=%%0%%;Password=%%1%%;Enlist=false\">"
set /p await= "any key to continue"
Windows command prompt gives me the following output in the end:
CHANGE PORT
The system cannot find the file specified.
"any key to continue"
I can see the first two goes through and if I check the files it should touch, the values are changed correctly. I just cannot understand why the change port doesnt work, and tells me it cannot find the file specified. One, it doesnt specify any single file, and two, it looks for the same files as the first two.
Also, if I try to run the regex in FNR (the find part, with same parameters as only web.config files and in the same folder+subfolders) it finds the files perfectly.
Anyone got an idea as to what I'm doing wrong?
Thanks in advance.

In search and replacing using VIM, how do I keep a grouped text and reuse it in the replacement part?

In VIM (edit MacVim snapshot 64), I am looking for a way to convert these lines of text
can_check_steps = 1
can_edit_work_type = 1
can_edit_vendor = 1
can_edit_place = 1
to
'can_check_steps': can_check_steps,
'can_edit_work_type': can_edit_work_type,
'can_edit_vendor': can_edit_vendor,
'can_edit_place': can_edit_place,
I know how to add the leading single quote and convert the = into : with multi-line character replacement (something I learned from this question) and basic search and replace, respectively.
But I can't really figure out how to repeat that the variable name per line. I'm also starting to think there should be a way to do this all in one command using like grouped expressions (using ( and ) to "capture" in regular expression).
I know how to do it in Python with lines of code, but I don't really know how to do it in VIM using the s/search_for_this/replace_that/options format.
EDIT:
After reading the answers, why doesn't this work?
^\s*(\w+) = 1\s*$/'\1': \1,/g
For #Jonathan Leffler, :set all in MacVim produces
--- Options ---
aleph=224 bufhidden= cscopequickfix= noerrorbells fsync includeexpr= nomacmeta omnifunc= report=2 showmatch tabline= nottimeout nowildignorecase
antialias buflisted nocscoperelative esckeys nofullscreen incsearch magic operatorfunc= norevins showmode tabpagemax=10 ttimeoutlen=-1 wildmenu
noarabic buftype= nocscopetag eventignore= nogdefault indentexpr= makeef= nopaste norightleft showtabline=1 tabstop=4 ttybuiltin wildmode=full
arabicshape cdpath=,, cscopetagorder=0 expandtab guifont= noinfercase makeprg=make pastetoggle= ruler sidescroll=0 tagbsearch nottyfast wildoptions=
noallowrevins cedit=^F nocscopeverbose noexrc guifontwide= noinsertmode matchtime=5 patchexpr= rulerformat= sidescrolloff=0 taglength=0 ttymouse= window=83
noaltkeymap charconvert= nocursorbind fileencoding= guipty isprint=#,161-255 maxcombine=2 patchmode= scroll=41 smartcase tagrelative ttyscroll=999 winheight=1
ambiwidth=single nocindent nocursorcolumn fileformat=unix guitablabel=%M%t joinspaces maxfuncdepth=100 nopreserveindent noscrollbind smartindent tags=./tags,tags undodir=. nowinfixheight
autochdir cinoptions= cursorline filetype= guitabtooltip= key= maxmapdepth=1000 previewheight=12 scrolljump=1 smarttab tagstack noundofile nowinfixwidth
autoindent cmdheight=1 debug= nofkmap helpheight=20 keymap= maxmem=751782 nopreviewwindow scrolloff=0 softtabstop=0 term=builtin_gui undolevels=1000 winminheight=1
noautoread cmdwinheight=7 nodelcombine foldclose= helplang=en keymodel= maxmemtot=751782 printdevice= nosecure nospell notermbidi undoreload=10000 winminwidth=1
noautowrite colorcolumn= dictionary= foldcolumn=0 nohidden keywordprg=man -s menuitems=25 printencoding= selectmode= spellfile= noterse updatecount=200 winwidth=20
noautowriteall columns=269 nodiff foldenable history=1000 langmap= modeline printfont=courier shell=/bin/bash spelllang=en textauto updatetime=4000 wrap
background=dark nocompatible diffexpr= foldexpr=0 nohkmap langmenu=none modelines=5 printmbcharset= shellcmdflag=-c spellsuggest=best notextmode verbose=0 wrapmargin=0
nobackup concealcursor= diffopt=filler foldignore=# nohkmapp laststatus=2 modifiable printmbfont= shellquote= nosplitbelow textwidth=0 verbosefile= wrapscan
backupcopy=auto conceallevel=0 nodigraph foldlevel=0 hlsearch nolazyredraw nomodified printoptions= shelltemp nosplitright thesaurus= virtualedit= write
backupext=~ completefunc= display= foldlevelstart=-1 icon nolinebreak more prompt shellxquote= startofline notildeop novisualbell nowriteany
balloondelay=600 noconfirm eadirection=both foldmethod=manual iconstring= lines=84 mouse=a pumheight=0 noshiftround suffixesadd= timeout warn writebackup
noballooneval nocopyindent noedcompatible foldminlines=1 noignorecase linespace=0 nomousefocus quoteescape=\ shiftwidth=4 swapfile timeoutlen=1000 noweirdinvert writedelay=0
balloonexpr= cpoptions=aABceFs encoding=utf-8 foldnestmax=20 noimcmdline nolisp mousehide noreadonly noshortname swapsync=fsync title whichwrap=b,s
nobinary cryptmethod=zip endofline formatexpr= imdisable nolist mousetime=500 redrawtime=2000 showbreak= switchbuf= titlelen=85 wildchar=<Tab>
nobomb cscopepathcomp=0 equalalways formatoptions=tcq iminsert=2 listchars=eol:$ number norelativenumber showcmd synmaxcol=3000 titlestring= wildcharm=0
browsedir=last cscopeprg=cscope equalprg= formatprg= imsearch=2 loadplugins numberwidth=4 remap noshowfulltag syntax= transparency=0 wildignore=
backspace=indent,eol,start
backupdir=.,~/tmp,~/
backupskip=/tmp/*,/var/folders/70/f8c54mjn4vg_wztz9bd17lp40000gn/T/*
breakat= ^I!#*-+;:,./?
casemap=internal,keepascii
cinkeys=0{,0},0),:,0#,!^F,o,O,e
cinwords=if,else,while,do,for,switch
clipboard=autoselect
comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
commentstring=/*%s*/
complete=.,w,b,u,t,i
completeopt=menu,preview
define=^\s*#\s*define
directory=.,~/tmp,/var/tmp,/tmp
errorfile=errors.err
errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\,,%-GIn file included from %f:%l:%c,%-GIn file
included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%*\d]: Entering directory `%f',%X%*\a[%*\d]: Leaving directory `%f',%D%*\a: Entering directory `%f
',%X%*\a: Leaving directory `%f',%DMaking %*\a in %f,%f|%l| %m
fileencodings=ucs-bom,utf-8,default,latin1
fileformats=unix,dos
fillchars=vert:|,fold:-
foldmarker={{{,}}}
foldopen=block,hor,mark,percent,quickfix,search,tag,undo
foldtext=foldtext()
formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
fuoptions=maxvert,maxhorz
grepformat=%f:%l:%m,%f:%l%m,%f %l%m
grepprg=grep -n $* /dev/null
guicursor=n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175
guioptions=egmrLtT
helpfile=/Applications/MacVim.app/Contents/Resources/vim/runtime/doc/help.txt
highlight=8:SpecialKey,#:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete
,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn
include=^\s*#\s*include
indentkeys=0{,0},:,0#,!^F,o,O,e
isfname=#,48-57,/,.,-,_,+,,,#,$,%,~,=
isident=#,48-57,_,192-255
iskeyword=#,48-57,_,192-255
lispwords=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eva
l-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,h
andler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object
matchpairs=(:),{:},[:]
maxmempattern=1000
mkspellmem=460000,2000,500
mousemodel=popup_setpos
mouseshape=i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow
nrformats=octal,hex
paragraphs=IPLPPPQPP TPHPLIPpLpItpplpipbp
path=.,/usr/include,,
printexpr=system('open -a Preview '.v:fname_in) + v:shell_error
printheader=%<%f%h%m%=Page %N
rightleftcmd=search
runtimepath=~/.vim,/Applications/MacVim.app/Contents/Resources/vim/vimfiles,/Applications/MacVim.app/Contents/Resources/vim/runtime,/Applications/MacVim.app/Contents/Resources/vim/vimfiles/after,~/.vim/after
scrollopt=ver,jump
sections=SHNHH HUnhsh
selection=inclusive
sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize
shellpipe=2>&1| tee
shellredir=>%s 2>&1
shortmess=filnxtToO
spellcapcheck=[.?!]\_[\])'"^I ]\+
statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v]
suffixes=.bak,~,.o,.h,.info,.swp,.obj
termencoding=utf-8
titleold=Thanks for flying Vim
toolbar=icons,tooltips
toolbariconsize=small
ttytype=builtin_gui
viewdir=~/.vim/view
viewoptions=folds,options,cursor
viminfo='100,<50,s10,h
That should do the work:
%s/\v(\w+).*/'\1': \1,
I think your query doesn't work because the + symbols needs the slash \ before it.
In my query I used the \v 'very magic' option that allows me to skip some slashes.
see :h /magic
:s/^\([^ ]*\) .*$/'\1': \1,/
The match part starts at the beginning of the line and captures a sequence of non-blanks, followed by an uncaptured blank and anything else. The replace part starts with a quote, what you remembered, a quote, colon, blank, what you remembered again, and a comma.
Divergent behaviours in vim
Weird, backslashing ( and ) doesn't even match anything in my VIM, which is MacVim snapshot 64 (although it still says it's 7.3.390 by Bram Moolenar). Using the \v in #Tassos's answer seems to work.
On Mac OS X 10.7.4, I'm using the vim from /usr/bin which identifies itself as:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 24 2011 20:00:09)
Compiled by root#apple.com
Normal version without GUI. Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype
+path_extra -perl +persistent_undo +postscript +printer -profile -python
-python3 +quickfix +reltime -rightleft -ruby +scrollbind +signs +smartindent
-sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
-xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses
I also use vim on Linux machines, and it behaves the same w.r.t regular expressions. One of those versions identifies itself, in part, as:
VIM - Vi IMproved 7.0 (2006 May 7, compiled Nov 5 2008 11:07:46)
Included patches: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44, 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 234-235, 237
Modified by <bugzilla#redhat.com>
Compiled by <bugzilla#redhat.com>
Huge version without GUI.
I'm not sure if there's anything worth showing from :set all. This is the output from the Mac version of Vim:
ambiwidth=single foldclose= omnifunc= syntax=
noautochdir foldcolumn=0 operatorfunc= tabline=
autoindent foldenable nopaste tabpagemax=10
autoprint foldexpr=0 pastetoggle= tabstop=4
noautoread foldignore=# patchexpr= tagbsearch
noautowrite foldlevel=0 patchmode= taglength=0
noautowriteall foldlevelstart=-1 nopreserveindent tagrelative
background=light foldmethod=manual previewheight=12 tags=./tags,tags
backspace=2 foldminlines=1 nopreviewwindow tagstack
nobackup foldnestmax=20 printdevice= term=xterm-color
backupcopy=auto formatexpr= printencoding= termencoding=
backupext=~ formatoptions=tcq printfont=courier noterse
nobeautify formatprg= printmbcharset= textauto
nobinary fsync printmbfont= notextmode
nobomb nogdefault printoptions= textwidth=0
bufhidden= helpheight=20 prompt thesaurus=
buflisted helplang=en pumheight=0 notildeop
buftype= nohidden quoteescape=\ timeout
cedit=^F history=20 noreadonly timeoutlen=1000
charconvert= nohlsearch redrawtime=2000 notitle
nocindent noicon norelativenumber titlelen=85
cinoptions= iconstring= remap titlestring=
cmdheight=1 noignorecase report=2 nottimeout
cmdwinheight=7 iminsert=0 noruler ttimeoutlen=-1
colorcolumn= imsearch=0 rulerformat= ttybuiltin
columns=80 includeexpr= scroll=32 ttyfast
nocompatible noincsearch noscrollbind ttymouse=xterm
completefunc= indentexpr= scrolljump=1 ttyscroll=999
noconfirm noinfercase scrolloff=0 undodir=.
nocopyindent noinsertmode nosecure noundofile
cpoptions=aABceFs isprint=#,161-255 selectmode= undolevels=1000
cryptmethod=zip joinspaces shell=/bin/sh undoreload=10000
cscopepathcomp=0 key= shellcmdflag=-c updatecount=200
cscopeprg=cscope keymodel= shellquote= updatetime=4000
cscopequickfix= keywordprg=man -s shelltemp verbose=0
nocscopetag langmenu= shellxquote= verbosefile=
cscopetagorder=0 laststatus=1 noshiftround virtualedit=
nocscopeverbose nolazyredraw shiftwidth=4 novisualbell
nocursorbind nolinebreak noshortname warn
nocursorcolumn lines=66 showbreak= noweirdinvert
nocursorline nolisp noshowcmd whichwrap=b,s
debug= nolist noshowfulltag wildchar=<Tab>
nodelcombine listchars=eol:$ showmatch wildcharm=0
dictionary= loadplugins showmode wildignore=
nodiff magic showtabline=1 nowildmenu
diffexpr= makeef= sidescroll=0 wildmode=full
diffopt=filler makeprg=make sidescrolloff=0 wildoptions=
nodigraph matchtime=5 nosmartcase window=0
directory=/tmp maxcombine=2 nosmartindent winheight=1
display= maxfuncdepth=100 nosmarttab nowinfixheight
eadirection=both maxmapdepth=1000 softtabstop=0 nowinfixwidth
noedcompatible maxmem=450298 nospell winminheight=1
encoding=utf-8 maxmemtot=450298 spellfile= winminwidth=1
endofline menuitems=25 spelllang=en winwidth=20
equalalways modeline spellsuggest=best wrap
equalprg= modelines=0 nosplitbelow wrapmargin=0
noerrorbells modifiable nosplitright wrapscan
esckeys nomodified startofline write
eventignore= more statusline= nowriteany
expandtab mouse= suffixesadd= writebackup
noexrc mousemodel=extend swapfile writedelay=0
fileencoding= mousetime=500 swapsync=fsync
fileformat=unix number switchbuf=
filetype= numberwidth=4 synmaxcol=3000
The behaviour you're describing sounds as if there are PCRE (Perl-Compatible Regular Expressions) in use. Maybe the -perl in the configuration is relevant there. I don't see anything in the settings shown that could alter the regex patterns. Maybe you can run your MacVim and show the output of macvim --version and then the output from : set all. Oh, drat, you don't have enough privileges to edit them into this message. I found an 80-column window sensible for the :set all information and pasting to SO; I normally use 120 column windows.
Please find my email in my profile and send me the data. I am curious to know what's different about the MacVim settings (if only so I can set them back to 'normal' if I ever get around to using it).
From vimregex.com:
You can group parts of the pattern expression enclosing them with "("
and ")" and refer to them inside the replacement pattern by their
special number \1, \2 ... \9. Typical example is swapping first two
words of the line:
s:(\w+)(\s+)(\w+):\3\2\1:
where \1 holds the first word, \2 -
any number of spaces or tabs in between and \3 - the second word. How
to decide what number holds what pair of () ? - count opening "("
from the left.