cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
lgalland
Level 4

Struggle to upgrade from 11.7.2 to 11.9.1

Hello,

When attempting to upgrade from FlexNet publisher 11.7.2 to 11.9.1, I noticed that lm_new.obj has been replaced by lmnewgen.obj and compiling with this new file will generate the following errors:
1>lmnewgen.obj : error LNK2019: unresolved external symbol keysize referenced in function do_real
1>lmnewgen.obj : error LNK2019: unresolved external symbol vendorkeys referenced in function do_real
1>lmnewgen.obj : error LNK2019: unresolved external symbol vendor_name referenced in function do_borrow
1>lmnewgen.obj : error LNK2019: unresolved external symbol l_borrow_ok referenced in function do_borrow
1>lmnewgen.obj : error LNK2019: unresolved external symbol ls_allow_vm referenced in function main
1>lmnewgen.obj : error LNK2019: unresolved external symbol seed1 referenced in function main
1>lmnewgen.obj : error LNK2019: unresolved external symbol seed2 referenced in function main
1>lmnewgen.obj : error LNK2019: unresolved external symbol seed3 referenced in function do_borrow
1>lmnewgen.obj : error LNK2019: unresolved external symbol seed4 referenced in function do_borrow
1>lmnewgen.obj : error LNK2019: unresolved external symbol lmseed1 referenced in function main
1>lmnewgen.obj : error LNK2019: unresolved external symbol lmseed2 referenced in function main
1>lmnewgen.obj : error LNK2019: unresolved external symbol lmseed3 referenced in function main
1>lmnewgen.obj : error LNK2019: unresolved external symbol lm_sign_level referenced in function do_real
1>lmnewgen.obj : error LNK2019: unresolved external symbol pubkey_strength referenced in function do_real

Do you know where these functions are defined so we can add this file to our linker?

Thanks in advance.

Best regards,

Loic

0 Kudos
(20) Replies
mrathinam
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @lgalland Am not understand your statement "I noticed that lm_new.obj has been replaced by lmnewgen.obj " because lm_new.obj is not replaced with lmnewgen.obj and both are needed, can yo confirm how or where you find this information?. Can you keep both and test once and let me know the result. 

Best Regards,

0 Kudos

Hi @mrathinam ,

My assumption is coming from the fact that x64_n6-11.19.1.0_vc16.zip doesn't contain lm_new.obj and it only contains lmnewgen.obj.

Are we supposed to retrieve lm_new.obj from older versions?

Regards,
Loic

0 Kudos
mrathinam
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @lgalland before building the kit you may not find the  lm_new.obj however after the build is successful  lm_new.obj this fill will be created.  Check the attached image.

Best Regards,

 

0 Kudos

Hi,

Thanks for your answer. Do you have a link to the documentation explaining how to build the kit please?

Regards,
Loic

0 Kudos
mrathinam
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @lgalland Please refer to the "FlexNet Publisher 2022 R2 (11.19.1) Programming Reference for License File–Based Licensing" from page 31 to 32. 

Best Regards,

 

0 Kudos

Hi,

We don't seem to have access to this documentation as shown in the attached screenshot.

Did I miss an obvious link somewhere?

Regards,
Loic

0 Kudos

Hi @lgalland  , 

You have to download the doclib inside which you will get the mentioned document .(First one in the image that you have attached ) 

0 Kudos

Hi,
Thank you for your quick answers.
Can you let me know where I can find my VENDOR_NAME in order to populate the lm_code.h file ?

Regards,
Loic

0 Kudos

Hi @lgalland  ,

The vendor name can be found in the email which you would have received for your vendor keys from Revenera's orders team.

0 Kudos
mrathinam
Revenera Moderator Revenera Moderator
Revenera Moderator

@lgalland Or another way, If you have product download access then go to Product download centre -> Product list --> FNP licensing --> Flexnet Publisher License &tools for version - under 'License table' you can find all license details like Vendor name and keys. vendor name.JPG

Best Regards,

0 Kudos

After entering the 5 vendor keys, the vendor name, the two tlr keys and the 3 seeds, I have managed to get to "lc_init failed: Invalid key data supplied." (as shown in the attached screenshot).

Do you have an insight about what I did wrong?

Thanks in advance.

0 Kudos

Hi @lgalland  ,

There are several factors that could cause this error to occur. These factors have been listed and a brief description of each has been provided below:

For Evaluation Keys
The primary reason for the FLEXlm Error -44 to occur would be that the demo keys have expired. If that is the case you will need to contact your sales representative for new demo keys. Also make sure you have not changed the vendor name from 'demo'.

For Production Keys
If you attempting to build your Production SDK with the production vendor keys generated for you by Flexera and encounter this error, you will need to check the following items:
  • Compare the vendor keys provided to you by Flexera Software with the vendor keys installed in lm_code.h. Any additional characters or missing characters will cause the build process to fail.
  • Check to make sure that the vendor daemon name is correct in the lm_code.h file. Note, the vendor daemon name is case sensitive and deviation from the case will cause the build to fail.
  • Make sure the platform you are attempting to build the FLEXlm SDK on is one of your supported platforms. Vendor keys are generated to work with specific platforms that your company has purchased support on. If you do not have support for a particular platform, the keys will not be enabled for that platform. Also note that 32-bit is considered a different platform than 64-bit. Check to see the version of your vendor keys and the SDK you are attempting to build on. Vendor keys can not be used across major versions (i.e. v9.x keys will not work on v10.x SDK, and v10.x keys will not work on v11.x SDK). New vendor keys will need to be requested if you wish to upgrade.

*Note: all information about your specific vendor keys can be found on the License Certificate used to send the keys to you.
0 Kudos

I'm a bit confused by this new error message as I have not entered a vendor name on the command line.
I have just entered nmake -f makefile.

0 Kudos

Hi @lgalland  ,

Make sure the vendor name is same in lmcode.h and makefile  .

0 Kudos

Thanks for the tip.
The compilation went further but stopped at "could not open actifyd.rc" as shown in the attached screenshot.

0 Kudos

Hi @lgalland  ,

This happens because the compiler was not able to find the necessary resource file in the platform directory of the FlexNet SDK.

Flexera has provided a sample resource file, namely "demo.rc" which you can edit by inputing your vendor daemon information and SAVE AS "daemon".rc -> (where daemon = specific vendor name).
 
If you do NOT wish to include resource information for the vendor daemon executable simply remove the RC line from the makefile used to build the toolkit.
 
In the makefile daemon line you would remove the parts in bold:
 
$(DAEMON): $(XTRAOBJS) $(DAEMONLIBS) lsvendor.obj $(SRCDIR)\lsserver.h $(LMNEW_OBJ)
$(RC) -r -fo $(VENDORNAME).res $(VENDORNAME).rc
$(LD) /subsystem:console /out:$(DAEMON) lsvendor.obj $(LMNEW_OBJ) \
$(XTRAOBJS) $(DAEMONLIBS) $(CRT_LIB) $(XTRALIB1) $(VENDORNAME).res
$(PREPTOOL) -v $(APREPXMLDIR)\vendor_daemon.xml

Another Simple Solution is to rename :demo.rc to "Vendor.rc" in Platform folder. Where Vendor is your Vendor name. Then recompile and it should work. Noneed to make modification in makefile.

0 Kudos

Hi,
I managed to build and link Flexnet to our application so thanks for your help.
However after the update, our unit tests are now failing  because lc_checkout returns  -8 (which seems to be LM_BADCODE).
Does it mean that newer version of FlexNet use different license keys than the old ones and the provided license keys are invalid?

Thanks in advance.

Loic

0 Kudos

Hi @lgalland  ,

LM_BADCODE "Invalid (inconsistent) license key."
The code in a license file line does not match the other data in the license file. This is usually the result of not building all the
Licensing components with the same encryption seeds. Check lsvendor.c and your application code carefully to ensure that they
are all built with the same encryption seeds.
. You need to crypt your license file with the new keys that you are using  .

0 Kudos

Hi,

I'm confused by your answer.

I have never edited lsvendor.c because it was not part of the PDF instructions and it  seems to only contain this relevant code:
VENDORCODE vendorkeys[] = { /* Possible keys for vendor daemons */
{ VENDORCODE_7,
ENCRYPTION_SEED1^VENDOR_KEY5, ENCRYPTION_SEED2^VENDOR_KEY5,
VENDOR_KEY1, VENDOR_KEY2, VENDOR_KEY3, VENDOR_KEY4,
FLEXLM_VERSION, FLEXLM_REVISION, FLEXLM_PATCH,
LM_BEHAVIOR_CURRENT, {TRL_KEY1, TRL_KEY2}, 0,
LM_STRENGTH, LM_SIGN_LEVEL
},

Are you suggesting that I replace these variables by hard coded values?

0 Kudos
mrathinam
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @lgalland I think this is going very long discussion so can you please raise a support case, so that our support engineer will give an answer to your queries over call. 

Best Regards,

0 Kudos