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

How to build?

 
Post new topic   Reply to topic     Forum Index -> Poseidon
View previous topic :: View next topic  
Author Message
gtbass



Joined: 22 Jul 2004
Posts: 7
Location: Austin, TX

PostPosted: Mon Jan 23, 2006 12:56 pm    Post subject: How to build? Reply with quote

I'm trying to rebuild Poseidon. I want to change the font to 8pt Courier New (that was easy enough to locate in the code). I'd also like to explore the possibility of other modifications.

So far I've had some trouble.

----------

Step #1: I downloaded the Poseidon and DWT source.

Question #1: How do I specify the DWT import path for build/dmd? Build doesn't seem to have such an option, but I assume it needs to parse the DWT files somehow, right?

Hack #1: I copied the dwt/import/dwt contents to poseidon/src/dwt

----------

Step #2: I opened the poseidon/src project in Poseidon.

Question #2: How do I get poseidon to run build with the <buildOption> specified in the project properties?

Hack #2: I copied the <buildOption> string to the "D Builder (Project based dir)" configuration.

----------

Step #3: I ran the "D Builder (Project based dir)" configuration, which produced output:

Code:
cwd > D:\Code\Compilers\D\tools\poseidon\src
build.exe poseidon.d -gui -clean -full -w -unittest -debug -g -Xdwt -version=OLE_COM

D:\Code\Compilers\D\dmd\bin\..\..\dm\bin\link.exe core\...etc.../noi;

Finished


Question #3: It looked like it worked, but there's no poseidon.exe in the poseidon/src directory.

----------

Step #4: I tried running the same build command from the command prompt, and I got all sorts of output:

Code:
D:\>cd D:\Code\Compilers\D\tools\poseidon\src

D:\Code\Compilers\D\tools\poseidon\src>build.exe poseidon.d -gui -clean -full -w
 -unittest -debug -g -Xdwt -version=OLE_COM
D:\Code\Compilers\D\dmd\bin\..\..\dm\bin\link.exe core\navcache+ui\misc+ui\searc
hdlg+ui\customtool+ui\outline+ui\scintillaex+poseidon+core\executer+ui\packageex
plorer+ak\xml\core+ui\finddlg+ui\statusbar+ui\preference+ui\bottompanel+ui\edito
r+core\project+ak\xml\service+ui\prjproperty+core\misc+util\fileutil,poseidon.ex
e,,olepro32_dwt.lib+oleacc_dwt.lib+dwtd.lib+kernel32_dwt.lib+shell32.lib+gdi32_d
wt.lib+comctl32.lib+ole32.lib+gdi32.lib+user32_dwt.lib+dwtextrad.lib+usp10_dwt.l
ib+advapi32.lib+phobos.lib+shell32_dwt.lib+msimg32_dwt.lib+imm32_dwt.lib+oleaut3
2_dwt.lib+comdlg32.lib+uuid.lib+gdi32.lib+user32+kernel32,poseidon.def/RC:poseid
on.res/co/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

olepro32_dwt.lib
 Warning 2: File Not Found olepro32_dwt.lib
oleacc_dwt.lib
 Warning 2: File Not Found oleacc_dwt.lib
dwtd.lib
 Warning 2: File Not Found dwtd.lib
kernel32_dwt.lib
 Warning 2: File Not Found kernel32_dwt.lib
gdi32_dwt.lib
 Warning 2: File Not Found gdi32_dwt.lib
user32_dwt.lib
 Warning 2: File Not Found user32_dwt.lib

...etc...


Question #4: How do I specify the path to the dwt/lib directory?

Hack #4: I tried copying the DWT libs to dmd/lib. That didn't work.

----------

Thanks for reading this far, and thanks in advance for any help you can provide Smile

Regards,
Garett
Back to top
View user's profile Send private message
Shawn Liu



Joined: 09 Mar 2005
Posts: 104
Location: Shanghai, China

PostPosted: Fri Jan 27, 2006 1:42 am    Post subject: Reply with quote

extract DWT to some folder. for example:

D:\Code\Compilers\D\tools\dwtproject

the directory structure is like

Code:
D:\Code\Compilers\D\tools\dwrproject\dwt
D:\Code\Compilers\D\tools\dwtproject\lib

then modify the sc.ini in dmd\bin folder, like this:

LIB="?@P?\..\lib";\dm\lib;D:\Code\Compilers\D\tools\dwtproject\lib
DFLAGS="-I?@P?\..\src\phobos;D:\Code\Compilers\D\tools\dwrproject\dwt"


build.exe will find the the lib and the imports automatically.

There is a bug in Poseidon when redirect console output to a Text control,
the link error will lost, only the compile errors displayed. I still didn't find the way to resolve. So you can see the link error when build from commandline but Poseidon just says "finished".
Back to top
View user's profile Send private message
hasan



Joined: 02 May 2005
Posts: 58

PostPosted: Mon Jan 30, 2006 1:32 am    Post subject: Reply with quote

I also wanted to rebuild becuase the font size was a bit too big for me, one problem I ran into after successfully building, is when I double click an error in the build output window, it doesn't go to the error! because double clicking doesn't seem to select the whole line!! Seems to me like the reason is that a different version of DWT was used to build Posiedon 0.12?

Anyway, after that, I discovered that the font size can be changed with control-minus (or control with mouse-scroll-down)
Back to top
View user's profile Send private message
gtbass



Joined: 22 Jul 2004
Posts: 7
Location: Austin, TX

PostPosted: Mon Jan 30, 2006 1:35 am    Post subject: Reply with quote

Thanks for the tip on font size! I still haven't been able to build successfully, but I've been too busy with school work to give it a really good hack.
Back to top
View user's profile Send private message
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Mon Jan 30, 2006 10:00 am    Post subject: Reply with quote

You need DWT in your path, and the DWT libs in /dm/lib , then double click run-build.bat in the poseidon root directory it should work fine -- you might have to adjust run-build.bat to -I../your/path/to/dwt -- thats easier for me than modifying that hideous sc.ini.
Back to top
View user's profile Send private message MSN Messenger
Shawn Liu



Joined: 09 Mar 2005
Posts: 104
Location: Shanghai, China

PostPosted: Wed Feb 08, 2006 7:55 am    Post subject: Reply with quote

hasan wrote:
when I double click an error in the build output window, it doesn't go to the error! because double clicking doesn't seem to select the whole line!! Seems to me like the reason is that a different version of DWT was used to build Poseidon 0.12?


This is because the complexity to process UTF8 string against MBCS/UTF16.

Window platform uses either ANSI(MBCS) or UNICODE(UTF16) APIs. But the internal string type of D as well as DWT is char[] (UTF8). It is always proportion for single byte character set such as English. But things is not that for a multiple byte character set such as Chinese.

for example, the "Chinese" in Chinese "中文",
When I use ANSI API, I get the length is 4; When use UNICODE API, I get the length is 2. When it is a char[] in D as UTF8, the length is 6.

This makes things difficult especially the position involved methods.
SWT will not encounter this problem because the String in Java is always wchar[] (Java char is 2 byte length).

So the implementation of Text widget in DWT is different from SWT.

And also, Scintilla widget is always set to UTF8 code page to avoid buffer conversion and this kind of position issue. I have mention this before in NG.

The current Text widget will handle length or position correctly.
Back to top
View user's profile Send private message
negerns



Joined: 08 Jul 2006
Posts: 13

PostPosted: Sat Aug 19, 2006 1:23 pm    Post subject: Reply with quote

i'm trying to build the trunk-r170 but i get lots of undefined symbol errors like:

Code:

Error 42: Symbol Undefined _D3dwt5extra9scintilla9TextRange6opCallFiiZS3dwt5extra9scintilla9TextRange


What's going on?
Back to top
View user's profile Send private message
Kuan Hsu



Joined: 15 Apr 2006
Posts: 143
Location: Taiwan

PostPosted: Sun Aug 20, 2006 10:04 am    Post subject: Reply with quote

Make sure that you've already compiled dwt.lib and dwtextra.lib in your system.

Then use Build to compile/link the Poseidon Project, In my case, I use DMD0.162 + Build2.09 or Build 3.2 in Poseidon.

Hope it helps......



Very Happy [/img]
Back to top
View user's profile Send private message Send e-mail
highwing



Joined: 28 Mar 2006
Posts: 10

PostPosted: Thu Sep 28, 2006 2:06 am    Post subject: Reply with quote

I am trying to build Poseidon r172 with DMD0.167 + Build3.02 in Poseidon.
Too many undefined symbol errors like:
Code:

OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
   
poseidon\controller\scintillaex.obj(scintillaex)
 Error 42: Symbol Undefined __init_3dwt5extra9scintilla9TextRange

...


All about scintillaex, why?
Back to top
View user's profile Send private message
jcc7



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

PostPosted: Thu Sep 28, 2006 7:03 am    Post subject: Reply with quote

highwing wrote:
I am trying to build Poseidon r172 with DMD0.167 + Build3.02 in Poseidon.
Too many undefined symbol errors like:
Code:

OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
   
poseidon\controller\scintillaex.obj(scintillaex)
 Error 42: Symbol Undefined __init_3dwt5extra9scintilla9TextRange

...


All about scintillaex, why?
Linker Error 42 can mean various problems, but my guess is that you need to provide a .lib or .obj file at the command line (or actually since you're using Build you'd need to add it to the Build script). Maybe something called "scintilla.lib" or "scintillaex.lib". (And this is just a guess.)
Back to top
View user's profile Send private message AIM Address
Kuan Hsu



Joined: 15 Apr 2006
Posts: 143
Location: Taiwan

PostPosted: Thu Sep 28, 2006 9:00 am    Post subject: Reply with quote

I tried to recompile the libs of DWT( Use DMD0.167), the dwtextra.lib and dwtextrad.lib are build error on BUILD3.02 or BUILD3.03( the error is wrong size about these two libs ).

I have no idea what's wrong about it, so I recompile DWT on BUILD2.09, it works.

Then I continue trying build Poseidon on BUILD3.03, still get failure Confused

Finally I use BUILD3.02( already import modified, recompiled ), it works.

When I compiled my DFL program use Build3.03, It got the same error Shocked

So I modified poseidon code( commit rev0.173 ) , compiled on DMD( run poseidon, open Posiedon Project, clean all files in files list on Project Property, import all files, compile on DMD with -O -realease -inline -L/exet:nt/su:windows:4.0 flags ), then it works, maybe there are something wrong about BUILD???

------------------------------------------------------------------
I put my DWT( already compiled ) on my webspace, http://myweb.hinet.net/home5/kyovbdx/DWT.rar
maybe guys could test......
Back to top
View user's profile Send private message Send e-mail
highwing



Joined: 28 Mar 2006
Posts: 10

PostPosted: Thu Sep 28, 2006 6:26 pm    Post subject: Reply with quote

I'll try it today! Thanks Kuan Hsu , Jcc7!
I use the DWT lib from un_guru.
http://www.dsource.org/forums/viewtopic.php?t=1661
I modified "import" lines and compied DWT with dmd0.167+ build3.02.
It works well.
BTW: I compiled my program with Build3.03.But It's failed too! Sad
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Poseidon All times are GMT - 6 Hours
Page 1 of 1

 
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