Pros 3.4.0

After upgrading to PROS 3.4.0 i a got various issues with the make command
here is the error c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::create_directory_symlink(std::filesystem::path const&, std::filesystem::path const&, std::error_code&)’: cow-fs_ops.cc:(.text._ZNSt10filesystem24create_directory_symlinkERKNS_4pathES2_RSt10error_code+0x8): undefined reference to symlink' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::create_symlink(std::filesystem::path const&, std::filesystem::path const&, std::error_code&)’: cow-fs_ops.cc:(.text._ZNSt10filesystem14create_symlinkERKNS_4pathES2_RSt10error_code+0x8): undefined reference to symlink' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::resize_file(std::filesystem::path const&, unsigned long long, std::error_code&)’: cow-fs_ops.cc:(.text._ZNSt10filesystem11resize_fileERKNS_4pathEyRSt10error_code+0x1e): undefined reference to truncate' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::permissions(std::filesystem::path const&, std::filesystem::perms, std::filesystem::perm_options, std::error_code&)’: cow-fs_ops.cc:(.text._ZNSt10filesystem11permissionsERKNS_4pathENS_5permsENS_12perm_optionsERSt10error_code+0x54): undefined reference to fchmodat' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: cow-fs_ops.cc:(.text._ZNSt10filesystem11permissionsERKNS_4pathENS_5permsENS_12perm_optionsERSt10error_code+0xa4): undefined reference to fchmodat’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::create_directory_symlink(std::filesystem::path const&, std::filesystem::path const&)': cow-fs_ops.cc:(.text._ZNSt10filesystem24create_directory_symlinkERKNS_4pathES2_+0x12): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::create_symlink(std::filesystem::path const&, std::filesystem::path const&)': cow-fs_ops.cc:(.text._ZNSt10filesystem14create_symlinkERKNS_4pathES2_+0x12): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::resize_file(std::filesystem::path const&, unsigned long long)': cow-fs_ops.cc:(.text._ZNSt10filesystem11resize_fileERKNS_4pathEy+0x6a): undefined reference to truncate’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::read_symlink(std::filesystem::path const&, std::error_code&)': cow-fs_ops.cc:(.text._ZNSt10filesystem12read_symlinkERKNS_4pathERSt10error_code+0xd4): undefined reference to readlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::copy_symlink(std::filesystem::path const&, std::filesystem::path const&, std::error_code&)': cow-fs_ops.cc:(.text._ZNSt10filesystem12copy_symlinkERKNS_4pathES2_RSt10error_code+0x1c): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function std::filesystem::copy(std::filesystem::path const&, std::filesystem::path const&, std::filesystem::copy_options, std::error_code&)': cow-fs_ops.cc:(.text._ZNSt10filesystem4copyERKNS_4pathES2_NS_12copy_optionsERSt10error_code+0x4da): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::create_directory_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)': fs_ops.cc:(.text._ZNSt10filesystem24create_directory_symlinkERKNS_7__cxx114pathES3_+0x12): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::create_directory_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)': fs_ops.cc:(.text._ZNSt10filesystem24create_directory_symlinkERKNS_7__cxx114pathES3_RSt10error_code+0x8): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::create_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)': fs_ops.cc:(.text._ZNSt10filesystem14create_symlinkERKNS_7__cxx114pathES3_+0x12): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o):fs_ops.cc:(.text._ZNSt10filesystem14create_symlinkERKNS_7__cxx114pathES3_RSt10error_code+0x8): more undefined references to symlink' follow c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::resize_file(std::filesystem::__cxx11::path const&, unsigned long long)’: fs_ops.cc:(.text._ZNSt10filesystem11resize_fileERKNS_7__cxx114pathEy+0x68): undefined reference to truncate' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::resize_file(std::filesystem::__cxx11::path const&, unsigned long long, std::error_code&)’: fs_ops.cc:(.text._ZNSt10filesystem11resize_fileERKNS_7__cxx114pathEyRSt10error_code+0x1e): undefined reference to truncate' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::permissions(std::filesystem::__cxx11::path const&, std::filesystem::perms, std::filesystem::perm_options, std::error_code&)’: fs_ops.cc:(.text._ZNSt10filesystem11permissionsERKNS_7__cxx114pathENS_5permsENS_12perm_optionsERSt10error_code+0x54): undefined reference to fchmodat' c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: fs_ops.cc:(.text._ZNSt10filesystem11permissionsERKNS_7__cxx114pathENS_5permsENS_12perm_optionsERSt10error_code+0xa4): undefined reference to fchmodat’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::read_symlink(std::filesystem::__cxx11::path const&, std::error_code&)': fs_ops.cc:(.text._ZNSt10filesystem12read_symlinkERKNS_7__cxx114pathERSt10error_code+0xc4): undefined reference to readlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::copy_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)': fs_ops.cc:(.text._ZNSt10filesystem12copy_symlinkERKNS_7__cxx114pathES3_RSt10error_code+0x1c): undefined reference to symlink’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::do_copy_file(char const*, char const*, std::filesystem::copy_options_existing_file, stat*, stat*, std::error_code&)': fs_ops.cc:(.text._ZNSt10filesystem12do_copy_fileEPKcS1_NS_26copy_options_existing_fileEP4statS4_RSt10error_code+0xe2): undefined reference to fchmod’ c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(fs_ops.o): in function std::filesystem::copy(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::filesystem::copy_options, std::error_code&)': fs_ops.cc:(.text._ZNSt10filesystem4copyERKNS_7__cxx114pathES3_NS_12copy_optionsERSt10error_code+0x4ce): undefined reference to symlink’ collect2.exe: error: ld returned 1 exit status `

Please do the reading before you do the asking :upside_down_face:.

6 Likes

We have read this post, none of the solutions seem to work and our error has not been mentioned. Any other suggestions?

Did you do the thing where you set an environment variable?

Yep, unfortunately it didn’t seem to do anything. I’m currently uninstalling and reinstalling PROS again. Maybe I’m using the wrong installer?

After a full reinstallation I get a different error! It’s shorter this time, I guess. Any ideas?

Creating cold package with libc,libm,libpros,okapilib [ERRORS]
/bin/sh: line 1: arm-none-eabi-g++: command not found
make: *** [common.mk:229: bin/cold.package.elf] Error 127
Error: Failed to build

That last error:

  1. has a fix in the post taran linked to
  2. should be fixed by the latest release (make sure to download the new installer from the pros github)

For your other issues, make sure your CLI/toolchain (the installer) AND your kernel (version of pros inside your project) are both updated.

3 Likes

I applied the installation repair and checked the path. I then upgraded the project. I get this error on build:
Creating cold package with libc,libm,libpros,okapilib [ERRORS] /bin/sh: line 1: arm-none-eabi-g++: command not found make: *** [common.mk:229: bin/cold.package.elf] Error 127 Error: Failed to build

After installing PROS on a new pc I can now build, however uploading gives me:
ERROR - pros.cli.upload:upload - Device NACK'd with reason: Program file error TX:C9 36 B8 47 56 19 1A 18 00 31 57 32 4E 6D 5A 58 63 66 30 78 4B 37 36 63 59 59 36 33 33 53 77 00 00 95 B7 RX:AA 55 56 05 19 D3 FF E2 50 File "D:\a\1\s\pros\serial\devices\vex\v5_device.py", line 946, in _rx_ext_packet pros.serial.devices.vex.comm_error.VEXCommError: Device NACK'd with reason: Program file error TX:C9 36 B8 47 56 19 1A 18 00 31 57 32 4E 6D 5A 58 63 66 30 78 4B 37 36 63 59 59 36 33 33 53 77 00 00 95 B7 RX:AA 55 56 05 19 D3 FF E2 50
Also does anyone know how to specify do not compress in the PROS cli upload command.

Delete all the programs on the brain using Settings -> Delete All on the brain, or pros v5 rm-all in the terminal.

Do you mean disable hot/cold linking? Do that in the Makefile. However, why do you want this? It speeds up upload time 10x.

4 Likes

not sure why you’d want to do this, but it’s mentioned right there in the documentation:

$ pros upload --help
Usage: pros upload [OPTIONS] [PATH] [PORT]

  Upload a binary to a microcontroller.

  [PATH] may be a directory or file. If a directory, finds a PROS project
  root and uploads the binary for the correct target automatically. If a
  file, then the file is uploaded. Note that --target must be specified in
  this case.

  [PORT] may be any valid communication port file, such as COM1 or
  /dev/ttyACM0. If left blank, then a port is automatically detected based
  on the target (or as supplied by the PROS project)

Options:
  --target [v5|cortex]          Specify the target microcontroller. Overridden
                                when a PROS project is specified.
  --project PATH                PROS Project directory or file  [default: .]
  --run-after / --no-run-after  Immediately run the uploaded program
  -q, --quirk INTEGER
  --help                        Show this message and exit.

V5 Options:
  --name TEXT                     Remote program name
  --slot INTEGER RANGE            Program slot on the GUI
  --run-screen / --execute        Open "run program" screen after uploading,
                                  instead of executing program. This option
                                  may help with controller connectivity
                                  reliability and prevent robots from running
                                  off tables.
  --compress-bin / --no-compress-bin
                                  Compress the program binary before
                                  uploading.

Standard Options:
  --debug                         Enable debugging output
  --verbose                       Enable verbose output
  -l, --log [DEBUG|INFO|WARNING|ERROR|CRITICAL]
                                  Logging level
  --logfile <PATH CHOICE>...      Log messages to a file
1 Like

Thank you for the assistance, I wanted to disable compression as I believed this was causing my other slots to be erased when I uploaded code into another slot. It gave me ‘removing orphaned files’ and something about the CRC error check not matching. I ended up disabling hot/cold linking on all my projects so I can upload into multiple slots without removing the others. Not sure why this happened by it seems to work fine with hot/cold linking turned off.

1 Like