View previous topic :: View next topic |
Author |
Message |
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Thu Aug 27, 2009 10:09 pm Post subject: Working Juno 0.3.0 code fails with v0.5.1 |
|
|
Greetings.
Thanks for the new release. On my first try I get this error:
Quote: |
23:59:55.46>build -I..;c:\dmd\import -version=gui -version=Phobos OpenProjs.d
C:\cygwin\home\us319318\source\d\juno\com\core.d: variable juno.com.core.StdComponentCategoriesMgr.IID conflicts with variable juno.com.core.StdComponentCategoriesMgr.IID at C:\cygwin\home\us319318\source\d\juno\com\core.d
c:\dmd\src\phobos\std\traits.d(3453): template instance std.traits.BaseTypeTuple!(IStream) error instantiating
|
Any idea how I can fix it? I am using dmd 1.030.
thanks,
jose |
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Fri Aug 28, 2009 3:47 pm Post subject: |
|
|
Ok, so I did a complete installation of juno and dmd, and I now have 1.046 and juno 0.5.1 installed. I am getting:
Quote: | 17:31:50.57>build -I..;c:\dmd\import -version=gui -version=Phobos OpenProjs.d
OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
C:\cygwin\home\us319318\source\d\juno\base\native.obj(native) Offset 002D8H Record Type 0091
Error 1: Previous Definition Different : _RT_STRING
version.lib
Warning 2: File Not Found version.lib
crypt32.lib
Warning 2: File Not Found crypt32.lib
OpenProjs.obj(OpenProjs)
Error 42: Symbol Undefined _D3dbi3all12__ModuleInfoZ
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarCmp@16
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarDecNeg@8 |
Any ideas?
thanks for the help.
jose |
|
Back to top |
|
|
Numpsy
Joined: 22 Aug 2009 Posts: 27
|
Posted: Sat Aug 29, 2009 2:11 am Post subject: |
|
|
Hi,
The file juno/base/native.d contains
pragma(lib, "version.lib");
pragma(lib, "crypt32.lib");
Which i guess i why the linker is looking for them.
The VarCmp/VarDecNeg errors seem to be because the version of OleAut32.lib shipped with DMD is missing those functions.
I worked around those problems by using coffimplib.exe on the libs from the MS platform SDK, and adding the new versions to the DMD lib directory. |
|
Back to top |
|
|
michaelp
Joined: 27 Jul 2008 Posts: 114
|
Posted: Sat Aug 29, 2009 1:44 pm Post subject: |
|
|
Have you tried commenting out those two lines to see what happens? |
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Sun Aug 30, 2009 2:50 pm Post subject: |
|
|
Almost the same error,
Quote: | 16:47:56.02>build -I..;c:\D\dmd\import -version=gui -version=Phobos OpenProjs.d
OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
C:\cygwin\home\us319318\source\d\juno\base\native.obj(native) Offset 002BEH Record Type 0091
Error 1: Previous Definition Different : _RT_STRING
OpenProjs.obj(OpenProjs)
Error 42: Symbol Undefined _D3dbi3all12__ModuleInfoZ
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarCmp@16
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarDecNeg@8 |
any other ideas? |
|
Back to top |
|
|
michaelp
Joined: 27 Jul 2008 Posts: 114
|
Posted: Sun Aug 30, 2009 3:38 pm Post subject: |
|
|
Um, what's in openprojs.d? Mind posting it? |
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Sun Aug 30, 2009 4:49 pm Post subject: |
|
|
I am afraid not. There is 27795 lines of code, plus, 10+ more libraries (with about 10+ more lines of code) that I wrote for our department. It is a Project Management Tool that uses COM, DDDBI, DFL and D1.0. So, to post it here would be very tough. Sorry.
Here is my import list, though:
Code: |
import dbi.sqlite.SqliteDatabase;
import dbi.sqlite.SqliteResult;
import dbi.sqlite.imp;
import dbi.all;
import std.stdio;
import std.process;
import std.string;
import std.perf;
import std.date;
import std.regexp;
import std.file;
import std.path;
import std.stream;
import std.Conv;
import std.random;
import jic.libs.FPSDK;
import std.c.time;
import xtranslate;
import bstr = juno.com.bstr; // Juno 0.4
private import jic.libs.mtext; // Chris Miller's mtext for Unicode support
private import jic.libs.MyConv;
private import jic.libs.MyTradosLib;
private import jic.libs.MyHTMLFunc;
private import jic.libs.MyDate;
private import jic.libs.MyString;
private import jic.libs.MyTime;
private import jic.libs.MyFile;
private import jic.libs.LogTool;
private import jic.libs.MyOSEnv;
private import jic.libs.MyArray;
private import juno.com.core;
private import juno.com.client;
private import dfl.all, dfl.internal.winapi;
private import OpenProjs_bn;
extern(Windows) BOOL MessageBeep(UINT uType);
|
Can you see anything here?
thanks,
jose |
|
Back to top |
|
|
michaelp
Joined: 27 Jul 2008 Posts: 114
|
Posted: Sun Aug 30, 2009 6:44 pm Post subject: |
|
|
Oh, okay.
Well, on line 157 of native.d, for juno, try commenting it out.
Should be:
Code: | const wchar* RT_STRING = MAKEINTRESOURCE(6); |
|
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Sun Aug 30, 2009 7:50 pm Post subject: |
|
|
Nice. I now have:
Quote: |
21:47:28.98>build -I..;c:\D\dmd\import -version=gui -version=Phobos OpenProjs.d
OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarCmp@16
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarDecNeg@8
|
I have deleted all .obj and recreated them and the same problem appears... |
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Sun Aug 30, 2009 10:46 pm Post subject: |
|
|
Here is a small program that displays this problem:
Code: |
private import juno.com.core;
private import juno.com.client;
void main()
{
int i;
}
|
I am either missing some libraries, or something is not correct. The same thing happens with version 0.5.0.
Any help is greatly appreciated.
thanks,
jose |
|
Back to top |
|
|
Numpsy
Joined: 22 Aug 2009 Posts: 27
|
Posted: Mon Aug 31, 2009 3:48 am Post subject: |
|
|
Hi,
As i mentioned before, the problem is that VarCmp and VarDecNeg are supposed to be defined in OleAut32.lib, but the copy of OleAut32.lib included with DMD doesn't include them. (perhaps because it's too old - it's dated 1996).
Juno 0.4 didn't appear call those functions, so there was no problem.
I fixed the error when i saw it by importing a newer OleAut32.lib from Visual Studio (using coffimplib). Would be better to get the DMD copy of the lib updated though? |
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Mon Aug 31, 2009 7:37 am Post subject: |
|
|
thanks. I have downloaded coffimplib,
Quote: |
0:51:42.13>coffimplib.exe
coffimplib v0.01
Convert COFF import library to OMF import library.
Copyright (C) 2006 by Digital Mars, written by Walter Bright
www.digitalmars.com
Usage:
coffimplib inlib[.lib] [outfile[.def|.lib]] [-f] [-(i|e|l)] [-v]
inlib Import library in COFF format
outfile Output file, either module definition file (.def) or
OMF import library (.lib)
-e Generate export list in module definition file.
-i Generate import list in module definition file.
-l Generate import library in OMF format (default).
-f Write output file even if it overwrites inlib.
-v Pretty print contents of import library.
|
but I have no idea how to make this happened. I tried running it, but somehow, it is looking for a .lib file. Can I used a .dll file instead? There is one in Windows/system32. |
|
Back to top |
|
|
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Mon Aug 31, 2009 11:22 am Post subject: |
|
|
jicman wrote: | Ok, so I did a complete installation of juno and dmd, and I now have 1.046 and juno 0.5.1 installed. I am getting:
Quote: | 17:31:50.57>build -I..;c:\dmd\import -version=gui -version=Phobos OpenProjs.d
OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
C:\cygwin\home\us319318\source\d\juno\base\native.obj(native) Offset 002D8H Record Type 0091
Error 1: Previous Definition Different : _RT_STRING
version.lib
Warning 2: File Not Found version.lib
crypt32.lib
Warning 2: File Not Found crypt32.lib
OpenProjs.obj(OpenProjs)
Error 42: Symbol Undefined _D3dbi3all12__ModuleInfoZ
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarCmp@16
C:\cygwin\home\us319318\source\d\juno\com\core.obj(core)
Error 42: Symbol Undefined _VarDecNeg@8 |
Any ideas?
thanks for the help.
jose |
You might trying using a .def file (such as oleaut32.def) to create a .lib file such as described at .def files. I've had success with this method in the past. |
|
Back to top |
|
|
Numpsy
Joined: 22 Aug 2009 Posts: 27
|
Posted: Mon Aug 31, 2009 4:10 pm Post subject: |
|
|
I've uploaded my copy of OleAut32.lib here, if you want to try that. |
|
Back to top |
|
|
jicman
Joined: 22 Dec 2004 Posts: 298 Location: Rochester, NY
|
Posted: Mon Aug 31, 2009 5:54 pm Post subject: |
|
|
Thanks. That worked. So, just to let John know what I had to do to get the program running:
1. Commented out pragma(lib, "version.lib"); in juno/base/native.d
2. Commented out pragma(lib, "crypt32.lib"); in juno/base/native.d
3. Commented out
const wchar* RT_STRING = MAKEINTRESOURCE(6);
in juno/base/native.d
4. Replace the OleAut32.lib that came from DMD with a newer version.
My program is now compiled with:
1. DMD Phobos 1.046
2. Juno 0.5.1
3. DFL snapshot dfl-20090411.zip archive
4. DBI r62
thanks,
jose |
|
Back to top |
|
|
|