CTRE update - changed library names and duplicate library names

I’m a mentor for Team 1967.

I’d like to alert teams to a change that “bit” our team… I noted in the “.9” release post-kickoff, CTRE changed the name of their library from libCANTalonSRX.a to libCTRLib.a …

It caused my team quite a headache when we had some students running older .8 and some with newer .9 or .10 drops. The projects had linker library lists which didn’t match the CTRE drop. Sigh. I happened across the release notes for .10 and saw the name change and went “AHA!” … and now all our students have .10 and things work right.

I’ve been informed by CTRE that Eclipse should be dynamically ‘healing’ such things, but it requires a restart of Eclipse to trigger this auto-healing of the project which was unknown to us.

Additionally, there will likely be further complications on Mac computers due to the fact that there’s no installer to manage deleting the older library from the cpp/lib/ folder. A typical manual installation would be to copy the cpp/ folder into wpilib/user/ and be done with it. This action will leave the user with TWO libraries - old and new - with newer header files. This will eventually wind up in a problem of either conflicts, errantly linked libraries, or at a minimum strange linker errors when the wrong library is chosen.

Be warned and forewarned. :slight_smile:

If you want to make sure your system doesn’t have the duplicate lib issue, look in <home>/wpilib/user/cpp/lib/ and see that there’s ONLY one file - libCTRLib.a … and no libTalonSRXLib.a file.

I’d suggest for doing an update that you RENAME wpilib/user/cpp to something else like wpilib/user/cpp-preDot10 and THEN take the updated cpp/ folder and move or copy it into wpilib/user/

I hope this helps some teams avoid build problems that can be quite frustrating mid-season!