Lately, applying 12.0.1 EBFs on my box tends to leave me alone with that undesired

"The jodbc.jar build does not match the shared object build."

message. That has happened with both 12.0.1.3537 and 12.0.1.3554. In contrast to Karim's very helpful explanation that DLLs may be locked and can not be updated, whereas JAR files can, the situation seems just opposite here (at least currently):

  • The DLLs (dbjdbc12.dll, dbjodbc12.dll) are updated to build 12.0.1.3554
  • Some of the jar files (jodbc.jar, sajdbc.jar, sajdbc4.jar) are updated to build 12.0.1.3554
  • One of them (jodbc4.jar) is not updated - it's still on 12.0.1.3519

Unfortunately, the latter one seems to get used by DBISQL and causes the error.

Note: I assured that neither DBSIQL nor SCView (nor their fast launchers) were running when the EBF was applied. There was no SQL Anywhere process running at all (and no other JDBC process, as far as I can tell), and I had restarted the box immediately before and after applying the EBF.

Well, I can copy the files from another box where EBF get applied without problems, but I would like to get to know what might cause this failing upgrade.

May this be due to the Java Quick Starter (jqs.exe) that was running by default? - That seems to be a program that might load often used JARs... - but I don't know whether it will preload some of the SQL Anyhwere jars and whether it will lock them.

asked 09 Feb '12, 11:07

Volker%20Barth's gravatar image

Volker Barth
39.9k360547817
accept rate: 34%

edited 09 Feb '12, 11:31

The JAR could potentially be loaded by other Java applications / plugins...

Have you verified that no process is touching the JAR file before you apply the EBF? (Hint: Check 'Handle' for the list of files currently open on the file system ?)

(09 Feb '12, 11:24) Jeff Albion
Replies hidden

Well, I just reapplied the EBF again, and the file still didn't get upgraded. So I copied the missing file from another box. Doing so, I noticed that about 10 JARs were outdated, i.e. left on EBF 3519 - among them JComponents1201.jar, jlogon.jar and mlscript.jar. As I have not used ML with v12 at all, I surely doubt that these JARs have been in use by another process. - May the setup information used by the installer be broken?


Thanks for the HANDLE hint - next time I'm gonna try to use that (or FileMon) when a file doesn't get updated...

(09 Feb '12, 11:44) Volker Barth
Comment Text Removed

ahhh... "I had restarted the box" warded off the "even-a-cow-knows" tag :)

(09 Feb '12, 11:45) Breck Carter

Lately, I tried to install 12.0.1.3769 and made sure that

  • the box was rebooted before (yes, even a cow knows that),
  • no SQL Anywhere processes were running and
  • no SQL Anywhere file was in use (by means of Jeff's hint to use the SysInternals HANDLE tool).

Still, after applying the EBF, the same bunch of JAR files was left unchanged. So apparently, they were not left unchanged because of being in use otherwise.

After that I checked the freshly generated setup log files, i.e. a SAInstall.log (with no clue) and a randomly named MSIzzzzz.LOG. The latter gave some clues:

Whereas for the correctly patched jodbc.jar file, the log was telling:

File: C:\Programme\Sybase\SQL Anywhere 12\Java\jodbc.jar; Overwrite; Won't patch; Existing file is unversioned and unmodified - hash doesn't match source file

the problematic files had messages like the following one:

File: C:\Programme\Sybase\SQL Anywhere 12\Java\jodbc4.jar; Won't Overwrite; Won't patch; Existing file is unversioned but modified

I don't know why they are treated as "modified" (other than I had copied them from another machine as stated in the question), but I then simply deleted them from the folder and re-applied the EBF.

That gave some "File xxx is missing" warnings, however those desired files have been copied now, with the MSIyyyy.LOG telling that

File: C:\Programme\Sybase\SQL Anywhere 12\Java\jodbc4.jar; To be installed; Won't patch; No existing file

So in the end, I hope this strange problem is fixed (and I didn't have to uninstall and reinstall SA 12.0.1).

permanent link

answered 04 Oct '12, 04:37

Volker%20Barth's gravatar image

Volker Barth
39.9k360547817
accept rate: 34%

edited 04 Oct '12, 04:39

where did u find the MSIzzzz.LOG?

(04 Oct '12, 11:18) Ryan Erickson
Replies hidden

Like the SAInstall.log and other related files, in the TEMP directory - note, "zzzz" is a placeholder:)

(04 Oct '12, 11:28) Volker Barth
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×103
×86
×78

question asked: 09 Feb '12, 11:07

question was seen: 3,684 times

last updated: 04 Oct '12, 11:28