Issue Details (XML | Word | Printable)

Key: CORE-4275
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Nick
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Firebird Core

create database fault if fbclient.dll loaded from another directory (Providers = Engine12)

Created: 23/Nov/13 09:06 PM   Updated: 29/May/16 10:32 PM
Component/s: Engine
Affects Version/s: 3.0 Alpha 1, 3.0 Alpha 2
Fix Version/s: 3.0 Beta 1

File Attachments: None
Image Attachments:

1. 3.0.0.30889.png
(301 kB)
Environment: Windows7 x64

QA Status: Cannot be tested


 Description  « Hide
error: "Could not find acceptable ICU library"

steps to reproduce:
- unpack snapshot "Firebird-3.0.0.30759-0_Win32 .7z" to folder "D:\App\Firebird\30759\"
- in firebird.conf set Providers = Engine12
- run gsec -add SYSDBA -pw masterkey -admin yes from "D:\App\Firebird\30759\"
- in project code:
    a) load fbclient.dll by full path "D:\App\Firebird\30759\fbclient.dll"
    b) try create database with charset win1251
- put exe to "D:\App\" and run it
results:
1. error produced: "Could not find acceptable ICU library"
2. invalid database file was created.

But if I copy icu*.dll from "D:\App\Firebird\30759\" to "D:\App\", then all ok.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Adriano dos Santos Fernandes added a comment - 24/Nov/13 01:30 AM
How did you loaded fbclient? LoadLibrary? LoadLibraryEx (what parameters)?

Are you using an embedded connection string?

Nick added a comment - 24/Nov/13 02:26 AM - edited
LoadLibraryExW(PChar('D:\App\Firebird\30759\fbclient.dll'), 0, LOAD_WITH_ALTERED_SEARCH_PATH)
connection string like 'd:\...\data.fdb'.

Nick added a comment - 07/Feb/14 06:57 PM
still produced in last snapshot (3.0.0.30880).

Vlad Khorsun added a comment - 16/Feb/14 01:26 PM
Nick Dee,

try next snapshot build, please

Nick added a comment - 17/Feb/14 11:26 PM - edited
"Could not find acceptable ICU library"
Now OS dll loader can't find icudt30.dll. But icuuc30.dll is successfully located.

But before this it trying to load icuuc419.dll .. icuuc31.dll, and it trying to find them in all folders in Path. For what reason? I don't ask for this and don't expect such behaviour in production.

see "3.0.0.30889.png"

Vlad Khorsun added a comment - 18/Feb/14 12:25 PM
Additional patch is committed, try next snapshot build, please.

PS As for attempts to load few different versions of ICU libraries - ask in fb-devel, here it is not correct place for this question, imho.

Nick added a comment - 20/Feb/14 06:45 PM
Seems ok.