Issue 22327 - cannot register ucpchelp1.dll
Summary: cannot register ucpchelp1.dll
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: OOo 1.1
Hardware: PC Windows XP
: P2 Trivial (vote)
Target Milestone: OOo 1.1.2
Assignee: Martin Hollmichel
QA Contact: issues@installation
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-11 00:52 UTC by ohallot
Modified: 2004-05-27 11:47 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
patch suggested by Sergiy Kudryk (513 bytes, application/x-gzip)
2003-12-16 17:14 UTC, ohallot
no flags Details
Try this patch for config_office/set_soenv.in, I hope it helps. (555 bytes, patch)
2004-04-16 13:57 UTC, josef.cacek
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description ohallot 2003-11-11 00:52:16 UTC
Hello 

I have built OO 1.1 for windows under the following relevant environment:
- Windows XP Pro
- MS Visual Studio .NET
- Cygwin + tsch
- Lang = PORTBR (Setenv RES_PORTBR TRUE)

The build finished with no error messages. 

If I install into the machine that built it, I have no problems.

If I install in another machine (98SE, 2000, Xp) I get

cannot register ucphelp1.dll 

The following 2 lines came from (...)program/setup.log (the rest of the file 
is OK)

ERR register component: ucpchelp1.dll : services.rdb
ERR UNO exception (ucpchelp1.dll): loading component library failed: 
ucpchelp1.dll

It worth noting that ucpchelp1.dll exist in the target system in
\{program files}\OpenOffice1.1.0\program\ucpchelp1.dll

Browsing Issuezilla, I found references to mvscrt.dll, which in my case (the 
offending system)exist and is scattered in several directories. The most 
recent one came from Java 1.4.2._01 plugin.

Nevertheless I cannot fix it by myself and the consequence is that HELP does 
not display the text but only the table of content.

Any help is appreciated

Olivier
Comment 1 Olaf Felka 2003-11-11 08:39:37 UTC
Hi Martin,
can you help out here?
Comment 2 Olaf Felka 2003-11-11 09:57:19 UTC
reassigning
Comment 3 ohallot 2003-11-11 12:44:13 UTC
In case you want to test my build it is available in

http://www.scinergy.com.br/upload/arquivos/OOo_1.1_Win32Intel_install_pt-BR.zip


Olivier
Comment 4 utomo99 2003-11-13 07:13:11 UTC
utomo > Olivier Hallot:
I think better we discuss this in the tools mailing list, maybe
another developer will help you faster
Comment 5 ohallot 2003-11-13 12:50:10 UTC
Olivier -> Utomo

I already did it long before opening this IZ.

http://tools.openoffice.org/servlets/ReadMsg?msgId=922545&listName=dev

As you will see, there is not response.

Regards
Olivier
Comment 6 ohallot 2003-11-14 00:59:59 UTC
well, looking inside the guts of regcomp, I issued the command below 
in a machine where the problem occurs: (In {}/program directory

regcomp -register -r services.rdb -c ucpchelp1.dll

and I got the following:

register component 'ucpchelp1.dll' in registry 'services.rdb' failed!
error (CannotRegisterImplementationException): loading component 
library failed:
 ucpchelp1.dll

Short of further clues.
Olivier
Comment 7 ohallot 2003-11-29 21:33:52 UTC
I have found that the issue is due to the absence of the dll
"msvci70.dll" in the offending machine. Since my machine has the file,
it does not bother to complain.

Machines without this file acessible to OO Setup will complain with
the subject line.

There is two ways to solve it. Either the target system has this lib
in \windows\system 

or this file is in 

\Program_files\OpenOffice1.1.0\program, toghether with mscvp70.dll and
msvcr70.dll.

This file is located in my building system in  

\Program Files\Common files\Microsoft Shared\vsa\7.0\VsaEnv\msvci70.dll

and in 

(..)/Microsoft Shared/vsa/7.0/VsaEnv/Packages/Debugger/msvci70.dll

I don't know if this file belongs to the VS .NET 2002 compiler or MS
SDK 2003. 

I don't know if this file can legal-wise be distributed by OO.

I also dont know how to add this file inside the source to be inserted
 in the zip files. Mimicking msvcp70.dll in $SRC_ROOT/External and
modifying prj/d.lst copies it to the solver but it is not enough to
have it included into instsetoo/. What else must be done?

Or... may be the need for this file indicates a ill-conditioned build,
which have not been flagged since the build works very well once
solved this annoying issue. 

Olivier





Comment 8 quetschke 2003-12-03 22:30:20 UTC
Will check once I'm really online again. That can take a while, so
please, if anybody else can check that would be nice.
Comment 9 ohallot 2003-12-05 10:33:06 UTC
I have verified this morning that msvci70.dll is not required by the
build process, by doing the following:

I have hidden the file in my build environment and I have rebuilt
module xmlhelp with no problems and rebuilt the installation set
(instsetoo).

Since now my building machine does not have msvci70.dll visible, the
issue appears.

msvci70.dll is the guy to blame.

Olivier
Comment 10 ohallot 2003-12-16 17:06:44 UTC
The following patch suggested by Sergiy Kudryk solves the issue.

Thank you Sergiy!

Olivier
Comment 11 ohallot 2003-12-16 17:14:15 UTC
Created attachment 11982 [details]
patch suggested by Sergiy Kudryk
Comment 12 utomo99 2004-01-06 03:21:15 UTC
Do we will include this patch in OOo 1.1.1 ? (or already included in OOo 1.1.1a? )
so we can reduce the problem, without patch in OOo 1.1.1? 

Thanks

Comment 13 Martin Hollmichel 2004-01-07 09:20:58 UTC
please mark issue as fixed once it has integrated into cvs, not before.

can you please call a "depends ucphelp1.dll" to view this dll is linked, I'm
wondering why this dll is needed only in some configurations and would like to
avoid adding one more dll to the installation set.
Comment 14 Martin Hollmichel 2004-02-20 15:24:25 UTC
setting resolution to won't fix because of lack of further input.
Comment 15 vd 2004-04-06 16:18:44 UTC
The 1.1.1 also needs this patch.
Comment 16 pavel 2004-04-16 10:19:07 UTC
reopen.

This happens also with our builds.

Our build system is Windows 2003, compiler is .NET2002 professional. Our build
system is at ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/build/

We copy those additional files to the sources as per build guides:

pavel@drogo:~/Sources/Windows/external> find . -type f
./dbghelp/DbgHelp.Dll
./msvcp70/msvcp70.dll
./msvcp70/msvcr70.dll
./unicows/unicows.dll

If the target system has .NET2002 installed or msvci70.dll copied somewhere, it
works.

Adding me and Josef to CC:. Prio P2, target 1.1.2.
Comment 17 pavel 2004-04-16 10:30:50 UTC
Confirm issue (hmm, if I reopened it, why it is not automatically confirmed?).

The library has ~54k:
-rw-------  1 pavel users 54784 Apr 16 11:19 /tmp/MSVCI70.dll

I wonder why it is not needed for official builds...
Comment 18 josef.cacek 2004-04-16 11:34:04 UTC
It seems, the problem is in the berkeleydb module. 
Dependency Walker shows this:
UCPHELP1.DLL -> LIBDB32.DLL -> MSVCI70.DLL
Comment 19 josef.cacek 2004-04-16 11:54:50 UTC
This problem is, our localized compilations links MSVCI*.DLL instead of
STLPORT_VC745.DLL. 
What about order of includes - should it be problem?
Comment 20 josef.cacek 2004-04-16 12:53:54 UTC
I've got it, I think.
Environment variable INCLUDE generated by configure into winenv.set.sh was

INCLUDE=".;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solver\\\\645\\\\wntmsci8.pro\\\\inc;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solenv\\\\wntmsci8\\\\inc;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solenv\\\\inc;c:\\\\PROGRA~1\\\\MICROS~2\\\\include;e:\\\\MICROS~1.NET\\\\VC7\\\\include;c:\\\\j2sdk1.4.2_04\\\\include;c:\\\\j2sdk1.4.2_04\\\\include\\\\win32"

if I add path to stl headers before MS .NET headers it works:

INCLUDE=".;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solver\\\\645\\\\wntmsci8.pro\\\\inc;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solver\\\\645\\\\wntmsci8.pro\\\\inc\\\\stl;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solenv\\\\wntmsci8\\\\inc;e:\\\\home\\\\kwart\\\\OOo\\\\devel2\\\\BuildDir\\\\ooo_cws_srx645_ooo112fix1_src\\\\solenv\\\\inc;c:\\\\PROGRA~1\\\\MICROS~2\\\\include;e:\\\\MICROS~1.NET\\\\VC7\\\\include;c:\\\\j2sdk1.4.2_04\\\\include;c:\\\\j2sdk1.4.2_04\\\\include\\\\win32"
Comment 21 josef.cacek 2004-04-16 13:57:27 UTC
Created attachment 14562 [details]
Try this patch for config_office/set_soenv.in, I hope it helps.
Comment 22 pavel 2004-04-17 09:46:24 UTC
all: please review that patch.

Our build does not need that library now with this patch applied, so it seems to
fix this issue.
Comment 23 quetschke 2004-04-17 13:22:33 UTC
I cannot test a full build until tomorow with this patch.

The test looks good by inspection, approved if a full (.NET2002) build builds
without problems with this patch.
Comment 24 pavel 2004-04-19 21:14:54 UTC
Fixed in cws_srx645_ooo112fix1.

Please verify!
Comment 25 vd 2004-04-19 21:33:06 UTC
I confirm this fix (patch) in pt_PT localization. Now it's no longer needed the
msvci70.dll
Comment 26 pavel 2004-04-19 23:09:19 UTC
vd: thanks!
Comment 27 sander_traveling 2004-04-28 16:35:30 UTC
as verified, marking as such
Comment 28 pavel 2004-04-28 17:19:31 UTC
Closing.
Comment 29 utomo99 2004-05-25 08:17:46 UTC
I try to use the patch on OOo 1.1.1src, I rebuild xmlhelp, deliver and then 
run dmake on win 2000 sp4, VC .net 2002 entreprise, tcsh, JDK 1.4.2_02, cygwin 
1.5.9-1 but after finish build without any error. I install it on other 
machine (Win XP) and I got the "cannot register ucpchelp1.dll" error. 
is there any things I might be missing/forget ? 
Thanks
Comment 30 utomo99 2004-05-27 11:47:34 UTC
after trying again with only the second patch it works. it maybe conflict with 
1st patch. so the patch is works. sorry and  Thanks