FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Working Juno 0.3.0 code fails with v0.5.1
Goto page 1, 2  Next
 
Post new topic   Reply to topic     Forum Index -> Juno
View previous topic :: View next topic  
Author Message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Thu Aug 27, 2009 10:09 pm    Post subject: Working Juno 0.3.0 code fails with v0.5.1 Reply with quote

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
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Fri Aug 28, 2009 3:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
Numpsy



Joined: 22 Aug 2009
Posts: 27

PostPosted: Sat Aug 29, 2009 2:11 am    Post subject: Reply with quote

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
View user's profile Send private message
michaelp



Joined: 27 Jul 2008
Posts: 114

PostPosted: Sat Aug 29, 2009 1:44 pm    Post subject: Reply with quote

Have you tried commenting out those two lines to see what happens?
Back to top
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Sun Aug 30, 2009 2:50 pm    Post subject: Reply with quote

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
View user's profile Send private message
michaelp



Joined: 27 Jul 2008
Posts: 114

PostPosted: Sun Aug 30, 2009 3:38 pm    Post subject: Reply with quote

Um, what's in openprojs.d? Mind posting it?
Back to top
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Sun Aug 30, 2009 4:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
michaelp



Joined: 27 Jul 2008
Posts: 114

PostPosted: Sun Aug 30, 2009 6:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Sun Aug 30, 2009 7:50 pm    Post subject: Reply with quote

Nice. Smile 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
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Sun Aug 30, 2009 10:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
Numpsy



Joined: 22 Aug 2009
Posts: 27

PostPosted: Mon Aug 31, 2009 3:48 am    Post subject: Reply with quote

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
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Mon Aug 31, 2009 7:37 am    Post subject: Reply with quote

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
View user's profile Send private message
jcc7



Joined: 22 Feb 2004
Posts: 657
Location: Muskogee, OK, USA

PostPosted: Mon Aug 31, 2009 11:22 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
Numpsy



Joined: 22 Aug 2009
Posts: 27

PostPosted: Mon Aug 31, 2009 4:10 pm    Post subject: Reply with quote

I've uploaded my copy of OleAut32.lib here, if you want to try that.
Back to top
View user's profile Send private message
jicman



Joined: 22 Dec 2004
Posts: 298
Location: Rochester, NY

PostPosted: Mon Aug 31, 2009 5:54 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Juno All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group