How to fix Verifone vrxlib “Exit code 1” linker error ?

You’re trying to create a Verifone Verix V library with vrxlib, and the compilation is failing with no reason. More specifically, it’s the linker which fails, with a very explicit error message : “Exit code 1”.

vrxlib -l"..\..\CoreVerifoneBaseLib\\${ConfigName}\CoreVerifoneBaseLib.a" EPKCORE
Reading library description EPKCORE.LID
Generating base code file _EPKCORE.S
--cpu ARM920T --bi --apcs /inter _EPKCORE.S
Generating interface file EPKCORE.S
--cpu ARM920T --bi --apcs /inter EPKCORE.S
"C:\PROGRAM FILES (X86)\ARM\RVCT\PROGRAMS\4.0\436\MULTI1\WIN_32-PENTIUM\armlink" -o EPKCORE.axf --scatter _liblnk_.sct --keep _verix_header --keep *(.dummy_pdt) ..\..\CoreVerifoneBaseLib\\${ConfigName}\CoreVerifoneBaseLib.a --entry _shlgo_pic --map --symbols --info veneers --list --verbose --errors EPKCORE.err _EPKCORE.o EPKCORE.a "C:\eVoAps\SDK\1.2.0\VRXSDK\lib\verixn.lib"
VRXLIB: "C:\PROGRAM FILES (X86)\ARM\RVCT\PROGRAMS\4.0\436\MULTI1\WIN_32-PENTIUM\armlink" command failed - exit code 1

Don’t start crying. Even though it’s not documented by Verifone, you can get more details about the source of the problem. Vrxlib enables the arm linker verbose mode by adding parameters “–verbose –errors <your_lib_name>.err”.  So, the errors are recorded in a text file generated in your library output folder. In the example above, the error file was named EPKCORE.err, and contained the following :

Fatal error: L6002U: Could not open file ..\..\CoreVerifoneBaseLib\\${ConfigName}\CoreVerifoneBaseLib.a: No such file or directory
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning, 0 error and 1 fatal error messages.

As you see, this is much more explicit. That’s the output of the Arm linker (armlink) which is called under the hood by vrxlib. We can see that the cause of the failure here was a missing referenced library. Easy to fix. I hope the error will be as simple for you, and that you’ll be able to fix it as quickly.

Leave a Reply

Your email address will not be published. Required fields are marked *