Re: [Harbour] Slow create index under threads
Hello All, First; Great! I have noticed is an improvement of about 2 minutes of not using Hb_detach () and remove the threads in the creation of indices. Second; A question What advantages are there in using indexes MEMORY? I do not appreciate any improvement is more, we analyzed under Windows XP and Vista (Server), as these index are simply created as temporary files; C: \ Documents and Settings \ Administrator \ Local Settings \ Temp \ hb602.tmp C: \ Documents and Settings \ Administrator \ Local Settings \ Temp \ hb66D.tmp Therefore, at least under Windows, I do not see that this is a pure memory index, as is using a temporary file In less demanding tests that look, creating over 400 indexes were; INDEX... MEMORY... MEMORY: 1 Thread 7.78 (minutes) MEMORY: 4 Threads 8.58 (minutes) INDEX DISC: 1 Thread 7.12 (minutes) WINNER! DISC: 4 Threads 8.76(minutes ) Or maybe I'm wrong? ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Slow create index under threads
Hello, Mindaugas Kavaliauskas escribió: > Hi, > > > On 2010.05.11 12:22, rafa wrote: >>> Of cause. Did you expect your code to behave in a different way?... >> I thought he reindex all at once ;-) >> The reason is because only one index reindex a table, while the others >> wait, I do not know. > > The reason is hb_dbdetach(), hb_dbattach(). Workarea is attached only > after another thread have detached it. So, you should not expect any > parallelism here. Ok, I've modified the code to eliminate the use of hb_detach () and no thread is created for each index. Performing the test on these pending changes to disk dump memory of the indexes. > > >> I need to save time when re-indexing on the servers, because we handle a >> lot of information in the tables, over 12 GB in total. > > It is interesting what is copy files time for these 12GB on your > server. This can give some idea of the result you can reach. > > > Regards, > Mindaugas > ___ > Harbour mailing list (attachment size limit: 40KB) > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Slow create index under threads
Mindaugas Kavaliauskas escribió: > Hi, > > >> Please could you tell me how to create the index in memory and then >> flush to disk? > > OrdCreate("mem:file.ext", ...) > I've sent C code for copying file from/to memory a few days ago. Ok, thanks! I add MEMORY a command INDEX , And I'll post later the results on indices of memory. > > >>> These crea() threads do not help to do any valuable job. Function >>> aCreateIndexe() starts a separate crea() thread for each index tag, >>> but indexes are not created in parallel, because only one thread has >>> attached area. >>> >> Is it possible to improve this aspect? > > You can copy body of crea() into aCreateIndexe() and do not create a > separate thread. It will save a small overhead of thread > creation/synchronization, but it will be not significant. > Ok. > >> Under Windows, usndo ProcessXP, I could see the threads of the indices >> only run one at a time, while the rest is waiting > > Of cause. Did you expect your code to behave in a different way?... I thought he reindex all at once ;-) The reason is because only one index reindex a table, while the others wait, I do not know. I need to save time when re-indexing on the servers, because we handle a lot of information in the tables, over 12 GB in total. Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Slow create index under threads
Hello Mindaugas, > > It seems disk io is the bottle neck. You can try to use memio driver > to create index in memory, and later write it back to disk. > Please could you tell me how to create the index in memory and then flush to disk? > >> aadd( aThreads, hb_threadStart( @crea(), cAlias,cExpr, >> cFileNtx, cFor, nPos, nPosLinea ) ) >> ... >> proc crea( cAlias, cExpr, cFileNtx, cFor, nPos, nPosLinea ) >>Local nContador := 1 >> >> hb_dbRequest( cAlias, , , .T.) // Restaura el alias >> if empty( cfor ) >> INDEX ON&(cExpr) TO&(cFileNtx) ; >> ... >> endif >> hb_dbDetach( cAlias ) // Libera el alias >> return > > These crea() threads do not help to do any valuable job. Function > aCreateIndexe() starts a separate crea() thread for each index tag, > but indexes are not created in parallel, because only one thread has > attached area. > Is it possible to improve this aspect? Under Windows, usndo ProcessXP, I could see the threads of the indices only run one at a time, while the rest is waiting Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Slow create index under threads
Of course, thanks for your opinion! I also think it is due to disk. Regards Qatan escribió: > Hello Rafa, > >I am not sure, may be wrong but I would say also that the fisical > access of the HD Head divided in different threads would increase the > time to access the same ammount of data compared to only one thread. >This is due to the fisical comings and goings of the Head over the > disk surface. >I don't know for SDD but maybe it would have a similar effect > because multi threading would not be an advantage for disk access, > only for CPU. > > Qatan > > > - Original Message - From: "rafa" > To: "Harbour Project Main Developer List." > Sent: Monday, 10 de May de 2010 06:20 > Subject: [Harbour] Slow create index under threads > > >> Hello, >> I'm trying to do a re indexing using threads, but according to tests >> under Windows Vista, >> Quarda Intel Core, 4 Gig RAM, the tests are not entirely satisfactory; >> >> The basic idea was to determine the number of threads that want to >> implement, >> N_THREADS, which is passed by parameter, for testing purposes. >> >> Well, times; >> 1 thread= 29 minutes THE WINNER! >> 4 threads = 93 minutes WoW! >> 7 threads = 68 minutes >> 5 Threads = 64 minutes >> >> Something to do this by penalizing Harbour indexing, or the code above, >> you have >> thing excessively penalized. >> >> SPANISH --- >> Hola, >> >> Estoy intentando hacer una re indexación usando hilos, pero según >> pruebas bajo Windows Vista, >> Intel Quard Core, 4 Gigas RAM, los test no son del todo satisfactorios; >> >> La idea básica es determinar la cantidad de hilos que queremos poner en >> marcha, >> N_THREADS, que es pasado por parámetro, para poder realizar pruebas. >> >> Pues bien, los tiempos ; >> 1 Hilo = 29 minutos THE WINNER! >> 4 Hilos = 93 minutos WoW!! >> 7 hilos = 68 minutos >> 5 Hilos = 64 minutos >> >> Algo hacer Harbour que esta penalizando la indexación, o el código >> expuesto, tiene alguna >> cosa que penaliza en exceso. >> >> Cualquier comentario es bienvenido para mejorar este aspecto. >> >> //-- source code >> -- >> /* >> Example multiThreads index. >> One thread by table , and one thread by index. >> 2010 Rafa Carmona >> >> Thread Main >>|-> table for test.dbf >>||> Thread child index fname >>|| >>||->Thread child index fcode >> >> c:\> ..\..\bin\win\bcc\hbmk2 -mt indexthread -lhbcpage >> -Le:\harbour\trunk\harbour\lib\win\bcc >> >> New code, now, if thread dead, new thread create! >> >> */ >> #include "hbclass.ch" >> #include "hbthread.ch" >> #include "common.ch" >> #include "inkey.ch" >> #include "FileIO.ch" >> >> REQUEST HB_CODEPAGE_ES850, HB_CODEPAGE_ES850C >> REQUEST HB_LANG_ES >> >> static N_THREADS := 5 >> >> STATIC nTecla >> STATIC s_num_procesos >> STATIC s_aLineas := { } >> static s_hMutex >> static s_hHandle_File >> static s_nCount_Errores := 0 >> >> proc Main( nHilos ) >>Local nSeconds >>Local cDbf, lProcesa := .F. >>Local aFicheros, x >>Local aDbfs, aNtxs, aKeys , aDesc, aFor, aSel >>Local aThreads := {} >>Local nProceso := 0, nLinea, lSalir := .F., nIndex >>Local nLen_Table >>Local nPosTable, cCadena, cLine, aTokens, i >>Local nPos_Column := 1, g >> >> >>DEFAULT nHilos TO 0 >> >>if !empty( nHilos ) >>N_THREADS := val( nHilos ) >>endif >> >> //HB_SetCodePage( "ES850" ) En xHarbour >>set( _SET_CODEPAGE, "ES850C" ) >> >>HB_LANGSELECT('ES') >>Set( _SET_LANGUAGE, "ES" ) >> >> >>setmode( 25,130 ) >>cls >> >>@01,0 SAY padc( hb_ansitooem( " Indexación multihilo. Rafa Carmona" >> ), 80 )COLOR "N*/W*" >>@23,0 SAY padc( "Pulse ESC para cancelar." , 80) COLOR "R+/N" >> >> // ONLY for TEST, if necesary many many DBF , with millions records >> for test. >> // My test
[Harbour] Slow create index under threads
Hello, I'm trying to do a re indexing using threads, but according to tests under Windows Vista, Quarda Intel Core, 4 Gig RAM, the tests are not entirely satisfactory; The basic idea was to determine the number of threads that want to implement, N_THREADS, which is passed by parameter, for testing purposes. Well, times; 1 thread= 29 minutes THE WINNER! 4 threads = 93 minutes WoW! 7 threads = 68 minutes 5 Threads = 64 minutes Something to do this by penalizing Harbour indexing, or the code above, you have thing excessively penalized. SPANISH --- Hola, Estoy intentando hacer una re indexación usando hilos, pero según pruebas bajo Windows Vista, Intel Quard Core, 4 Gigas RAM, los test no son del todo satisfactorios; La idea básica es determinar la cantidad de hilos que queremos poner en marcha, N_THREADS, que es pasado por parámetro, para poder realizar pruebas. Pues bien, los tiempos ; 1 Hilo = 29 minutos THE WINNER! 4 Hilos = 93 minutos WoW!! 7 hilos = 68 minutos 5 Hilos = 64 minutos Algo hacer Harbour que esta penalizando la indexación, o el código expuesto, tiene alguna cosa que penaliza en exceso. Cualquier comentario es bienvenido para mejorar este aspecto. //-- source code -- /* Example multiThreads index. One thread by table , and one thread by index. 2010 Rafa Carmona Thread Main |-> table for test.dbf ||> Thread child index fname || ||->Thread child index fcode c:\> ..\..\bin\win\bcc\hbmk2 -mt indexthread -lhbcpage -Le:\harbour\trunk\harbour\lib\win\bcc New code, now, if thread dead, new thread create! */ #include "hbclass.ch" #include "hbthread.ch" #include "common.ch" #include "inkey.ch" #include "FileIO.ch" REQUEST HB_CODEPAGE_ES850, HB_CODEPAGE_ES850C REQUEST HB_LANG_ES static N_THREADS := 5 STATIC nTecla STATIC s_num_procesos STATIC s_aLineas := { } static s_hMutex static s_hHandle_File static s_nCount_Errores := 0 proc Main( nHilos ) Local nSeconds Local cDbf, lProcesa := .F. Local aFicheros, x Local aDbfs, aNtxs, aKeys , aDesc, aFor, aSel Local aThreads := {} Local nProceso := 0, nLinea, lSalir := .F., nIndex Local nLen_Table Local nPosTable, cCadena, cLine, aTokens, i Local nPos_Column := 1, g DEFAULT nHilos TO 0 if !empty( nHilos ) N_THREADS := val( nHilos ) endif //HB_SetCodePage( "ES850" ) En xHarbour set( _SET_CODEPAGE, "ES850C" ) HB_LANGSELECT('ES') Set( _SET_LANGUAGE, "ES" ) setmode( 25,130 ) cls @01,0 SAY padc( hb_ansitooem( " Indexación multihilo. Rafa Carmona" ), 80 )COLOR "N*/W*" @23,0 SAY padc( "Pulse ESC para cancelar." , 80) COLOR "R+/N" // ONLY for TEST, if necesary many many DBF , with millions records for test. // My test is over 200 dbfs, with 12GB total size, without NTX. aDbfs := { "test", "test2" } // Arrays files dbf aNtxs := { { "fname", "fcode" },; // files index for test { "fName2" } } // files index for test2 aKeys := { { "name", "code" },; { "dtos(fecha)+str(code)" } } // Expresions aFor := { { "", ""}, {""} } nLen_Table := len( aDbfs ) nPosTable := 1 nSeconds := Seconds() s_num_procesos := 0 s_hMutex := hb_mutexCreate() s_hHandle_File := FCreate( "indexpms.log" ) for g := 1 to N_THREADS // Posicion en la columa por cada numero de hilo aadd( s_aLineas, nPos_Column ) nPos_Column += 16 next while nPosTable <= nLen_Table if ( nTecla := inkey() ) = K_ESC exit endif if N_THREADS = s_num_procesos // No se ha muerto ningun proceso loop endif cDbf := aDbfs[ nPosTable ] if file( cDbf+".dbf" ) hb_mutexLock( s_hMutex ) s_num_procesos++ hb_mutexUnLock( s_hMutex ) hb_threadStart( @aCreateIndexe(), cDbf, aNtxs[ nPosTable ], aKeys[ nPosTable ], aFor[ nPosTable ] ) endif nPosTable++ end while @23,1 SAY "Espere, terminado reindexaciones pendientes..." + space( 50 ) COLOR "R*/N" hb_threadWaitForAll() // Esperamos a los ultimos. @23,1 SAY "Proceso de indexacion terminado..." + Str( (Seconds() - nSeconds) /60 ) + space( 50 ) COLOR "W+/N" FClose( s_hHandle_File ) return function aCreateIndexe( cFile, aNtx, aExpr, aFor ) Local nContador := 1 Local c
[Harbour] Vdei creation of harbour-project
I create video, from tools gource, the harbour project , years 1999-2000 http://www.youtube.com/watch?v=_FEuktpNQmo Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] Debug and Thread
Exists limits debug thread in harbour ? I don't put breakpoint into thread child, never stop. thanks! Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] Example MutiThread Index
I believe this example is interesant. Regards Rafa Carmona /* Example multiThreads index. One thread by table , and one thread by index. 2010 Rafa Carmona Thread Main |-> Thhread child table for test.dbf ||> Thread child index fname || ||->Thread child index fcode | |-> Thhread child table for test2.dbf |->Thread child index fname2 */ #include "hbthread.ch" proc Main( uCreate ) Local nSeconds Local aFiles := { "test", "test2" }// Arrays files dbf Local aNtx:= { { "fname", "fcode" },; // files index for test { "fName2" } } // files index for test2 Local aExpr := { { "name", "code" },; { "dtos(fecha)+str(code)" } } // Expresions Local cDbf if empty( lCreate ) lCreate := "0" endif setmode( 25,80 ) cls if uCreate = "1" ? "Create test.dbf and test2.dbf" dbCreate("test",{ {"name","C",1,0 },{"code","N",7,0 } } ) use test while lastRec() < 100 dbAppend() field->name := chr( recno() ) field->code := recno() enddo close dbCreate("test2",{ {"fecha","D",8,0 },{"code","N",7,0 } } ) use test2 while lastRec() < 100 dbAppend() field->fecha := date() + recno() field->code := recno() enddo close endif cls // Threads nSeconds := Seconds() for each cDbf in aFiles ? "Process.: " + cDbf hb_threadStart( @aCreateIndexe(), cDbf, aNtx[ cDbf:__enumindex ], aExpr[ cDbf:__enumindex ], cDbf:__enumindex ) next ? "Wait for threads " hb_threadWaitForAll() ? hb_valTostr( Seconds() - nSeconds ) ? "finish" return function aCreateIndexe( cFile, aNtx, aExpr, nPosDbf ) Local nContador := 1 Local cFileNtx, cExpr Local nLong := Len( aNtx ) Local aThreads := {} Local cAlias use ( cFile ) cAlias := alias() hb_dbDetach( cAlias ) // Libero el alias for each cFileNtx in aNtx cExpr := aExpr[ cFileNtx:__enumindex ] nContador := 1 nPos := cFileNtx:__enumindex aadd( aThreads, hb_threadStart( @crea(), cAlias,cExpr, cFileNtx, nPos, nPosDbf ) ) next aEval( aThreads, { |x| hb_threadJoin( x ) } ) // wait threads childs hb_dbRequest( cAlias, , , .T.) // Restaura el alias close RETURN NIL proc crea( cAlias, cExpr, cFileNtx, nPos, nPosDbf ) Local nContador := 1 hb_dbRequest( cAlias, , , .T.) // Restaura el alias INDEX ON &(cExpr) TO &(cFileNtx) ; EVAL {|| hb_dispOutAt( nPosDbf, iif( nPos = 1, 20, 40 ), alltrim( hb_valtostr( nContador) ), "GR+/N" ), nContador += INT( LASTREC() / 100 ) , .T. } ; EVERY INT( LASTREC() / 100 ) hb_dbDetach( cAlias ) // Libera el alias return ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Where is function dbRelease ?
I find error, i report this error another message! Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] Please change example mttest09
The examples /mt/mttest09.prg Where is dbRelease( , {|| xResult } ) change by hb_dbDetach( , {|| xResult } ) Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] Where is function dbRelease ?
I compile example /mt/mttest09 , but show errors; Not found function dbRelease() I find this function , but not exists. This example, stop line hb_dbRequest( , , @bResult, .T. ) Harbour 2.1.0dev (Rev. 14255) Copyright (c) 1999-2010, http://www.harbour-project.org/ Harbour Build Info --- Version: Harbour 2.1.0dev (Rev. 14255) Compiler: Borland C++ 5.5.1 (32-bit) Platform: Windows XP 5.1.2600 Service Pack 2 PCode version: 0.3 ChangeLog last entry: 2010-03-28 19:22 UTC+0200 Viktor Szakats (harbour.01 syena r.hu) ChangeLog ID: ChangeLog 14255 2010-03-28 17:23:00Z vszakats Built on: Mar 29 2010 10:02:00 Build options: (tracing) (Clipper 5.3b) (Clipper 5.x undoc) (UNICODE) ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] SF.net SVN: harbour-project:[13900] trunk/harbour
vszak...@users.sourceforge.net escribió: > Revision: 13900 > > http://harbour-project.svn.sourceforge.net/harbour-project/?rev=13900&view=rev > Author: vszakats > Date: 2010-02-17 10:51:22 + (Wed, 17 Feb 2010) > > Log Message: > --- > 2010-02-17 11:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) > * src/rtl/hbdyn.c > ! Adjustments for non-win, non-os2 platforms. > Perfect GNU/Linux Ubuntu 9.04! Thank you! Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] Problems create Harbour
Hello, today update svn , but i have this problems; 1.- make install; break at this point; ! Installing ../../../lib/linux/gcc/libhbvmmt.a on /usr/local/lib/harbour gcc -I. -I../../../../../include -Wall -W -O3 -DHB_LEGACY_TYPES_OFF -DHB_HAS_PCRE -I/home/rafa/harbour-project/trunk/harbour/external/pcre -DPCRE_STATIC -DHB_HAS_ZLIB -I/usr/include -ohbdyn.o -c ../../../hbdyn.c ../../../hbdyn.c:778: error: expected ‘)’ before ‘*’ token ../../../hbdyn.c:779: error: expected ‘)’ before ‘*’ token ...etc... 2.- Not respected prefix, i define and create directorys export HB_INC_INSTALL=/home/rafa/harbour2/include export HB_LIB_INSTALL=/home/rafa/harbour2/lib export HB_BIN_INSTALL=/home/rafa/harbour2/bin export HB_INSTALL_PREFIX=/home/rafa/harbour2 But make put the files into /usr/local/bin. How to create my harbour into directorys /home ? Because this configuration generate conflict with xharbour. Regards Rafa Carmona ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] XML from xHarbour compatibility
Xavi escribió: > rafa, > >> METHOD New( ) CLASS gConfigHarbour >>Local oNode, oIter, oNodeLib, cLib, cCheck >> >>::Super:New( ) >> >>if ::lOk >> oNode := ::oDoc:FindFirst( ::cNode ) >> if oNode != NIL >> oIter := TXmlIteratorRegex( oNode ) > > oIter := TXmlIteratorRegex():New( oNode ) > Ups! Thanks, but... not is must easy create function TXmlIteratorRegex like xHarbour ? I say for compatibility... Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] XML from xHarbour compatibility
This code running into xHarbour, but under Harbour, show this error; Error description:Error BASE/1004 No exported method: NTYPE Args: [ 1] = U nil Stack Calls === Called from ->NTYPE(0) Called from ../../txml.prg->TXMLITERATORREGEX:FIND(0) Called from e_xml.prg->GCONFIGHARBOUR:NEW(62) Called from e_xml.prg->MAIN(8) I link lib libxhb.a in GNU/linux, for compatible xHarbour - This code, go bottom view example xml #include "hbclass.ch" #include "hbxml.ch" Function Main() Local o WITH OBJECT o := gConfigHarbour():Create() :New() END return nil // Clase base para configuraciones CLASS gConfigXml STATIC DATA oDoc, cXml, cResponse, cFile DATA cNode, cFind DATA lOk INIT .T. METHOD New() CONSTRUCTOR ENDCLASS METHOD New( ) CLASS gConfigXml ::cXml := memoread( ::cFile ) ::oDoc := TXmlDocument():New( ::cXml ) if ::oDoc:nStatus != HBXML_STATUS_OK ::lOk := .F. ::cResponse := "Error While Processing File: " + AllTrim( Str( ::oDoc:nLine ) ) + " # "+; "Error: " + HB_XmlErrorDesc( ::oDoc:nError ) + " # " +; "Tag Error on tag: " + ::oDoc:oErrorNode:cName + " # " +; "Tag Begin on line: " + AllTrim( Str( ::oDoc:oErrorNode:nBeginLine ) ) return Self endif RETURN Self // Configurador para Harbour CLASS gConfigHarbour FROM gConfigXml DATA aLibs METHOD Create() CONSTRUCTOR METHOD New() CONSTRUCTOR METHOD GetLibs() INLINE ::aLibs ENDCLASS METHOD Create() CLASS gConfigHarbour ::aLibs := {} ::cNode := "harbour" ::cFind := "^lib$" ::cFile := "config.xml" RETURN Self METHOD New( ) CLASS gConfigHarbour Local oNode, oIter, oNodeLib, cLib, cCheck ::Super:New( ) if ::lOk oNode := ::oDoc:FindFirst( ::cNode ) if oNode != NIL oIter := TXmlIteratorRegex( oNode ) oNodeLib := oIter:Find( ::cFind ) // Exactamente lib while oNodeLib != NIL cLib := cValtoChar( oNodeLib:GetAttribute( "name" ) ) cCheck := cValtoChar( oNodeLib:GetAttribute( "check" ) ) ? cLib, cCheck // ALERT: Only Information for test AADD( ::aLibs, { iif( cCheck = "yes", .T., .F. ), cLib } ) oNodeLib := oIter:Next() // Siguiente libreria end while endif endif RETURN Self /* config.xml for testing */ Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 1.0.0 file releases uploaded
I get from svn the harbour/trunk I execute as root make_deb.sh but, i find error in this script line 79; if test_reqpkg libfreeimage-dev then # export HB_CONTRIBLIBS="${HB_CONTRIBLIBS} hbfimage" fi #export is error, I quite #. dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: construyendo el paquete `harbour' en `../harbour_1.0.0-1_i386.deb'. dpkg-genchanges -b dpkg-genchanges: subida solo binaria - no incluyendo ningún código fuente signfile harbour_1.0.0-1_i386.changes gpg: `guy.roussin <[EMAIL PROTECTED]>' omitido: clave secreta no disponible gpg: [stdin]: clearsign failed: clave secreta no disponible dpkg-buildpackage: binary only upload (no source included) (WARNING: Failed to sign .changes file) Well, i create .DEB and INSTALL CORRECT! Very thanks to everybody by this fantastic job! Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 1.0.0 file releases uploaded
Szakáts Viktor escribió: Hi Rafa, I'm afraid I have no idea, sorry. Maybe you would have better luck with the supplied .tar.gz file, until we resolve this. make_deb.sh had minor problems which I've found out after the release, maybe it had others, or maybe I messed up something when running make_deb.sh. Ok. I install svn and running make_deb.sh. I reporting if I found any problemn. Thanks! Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] 1.0.0 file releases uploaded
Very job, thanks! Linux (Ubuntu/Debian): harbour_1.0.0-1_i386.deb but.. under Ubuntu 7.10 this problem this package .deb; Error: Dependency is not satisfiable; libncurses5 But.. i have install this packages; libncurses5--> version 5.6+20070716-1ub libncurses5-dev-> version 5.6+20070716-1ub Where is the problem ? Thanks! Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Support XML Library ?
Oh! It is problem from file /contrib/mtpl_b32.mak $(CC) $(CLIBFLAGS) -P -o$@ $(OBJ_DIR)\$&.c This is -P not is correct! Thank you at M.Marchuet for your help! Another i have diferents problems with TXML and i report as soon as possible. Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Support XML Library ?
I have problem with link xhb.lib, not show program. ( under fivewin ). I link with xHarbour, no problem. I link with Harbour , no problem. ( without xhb.lib and not include code source use txml ) I link with Harbour and xhb.lib, nothing, return direct at the console. Were is the problem ? Thank you! Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Support XML Library ?
Many Thanks! I view/make this library. Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Support XML Library ?
Lorenzo Fiorini escribió: On Wed, Apr 23, 2008 at 10:34 AM, rafa <[EMAIL PROTECTED]> wrote: Are you test in Harbour of XML support ? If this files are compatibility with Harbour i think that put this files in RTL of Harbour, then Harbour the best! ;-) I waiting ONLY this files , support of XML for change Harbour by xHarbour, and this moment i stop this change by this motive. I'm not sure I understood what you mean ( are you using a translation software? ) AFAIK XML support is the same, the only difference is that xHarbour has it in the RTL while Harbour has it in a xhb lib. Lorenzo, please, Can you send me your library txml ? The files txml.prg and hbxml.c NOT COMPILER in Harbour, many errrors ;-( Example; 1.- METHOD GetAttribute( cAttrib ) INLINE IIF ( cAttrib IN ::aAttributes, ::aAttributes[ cAttrib ], NIL ) 2.- ( oFound:cName == NIL .or. .not. oFound:cName LIKE ::cName ) 3.- ( oFound:cData == NIL .or. .not. oFound:cData HAS ::cData ) Exist clausule IN, LIKE, HAS in Harbour ? Questions ; It's possible portable a Harbour this two files ? Only this files for total change at Harbour. ( Sorry my bad english ) Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Support XML Library ?
Lorenzo Fiorini escribió: On Mon, Apr 21, 2008 at 5:56 PM, rafa <[EMAIL PROTECTED]> wrote: Please, Its possible using txml.prg and hbxml.c into Harbour ? Yes. Are you test in Harbour of XML support ? Have Harbour equal API Hash xHarbour ? Harbour has hashes. If this files are compatibility with Harbour i think that put this files in RTL of Harbour, then Harbour the best! ;-) I waiting ONLY this files , support of XML for change Harbour by xHarbour, and this moment i stop this change by this motive. Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] Support XML Library ?
Please, Its possible using txml.prg and hbxml.c into Harbour ? It is very interesant and important this files about manager XML. It have Harbour manager XML ? I view this source and have functions about tables hash; hb_hashNew, etc... Have Harbour equal API Hash xHarbour ? Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Multi-Window GT - III - MemoEdit()
Massimo Belgrano escribió: Is possible define a basic syntax for MULTI WINDOWS gt? like DEFINE WINDOW Win_1 ; AT 0,0 ; WIDTH 40 ; HEIGHT 20 ; TITLE 'Hello World!' END WINDOW ACTIVATE MULTIPLE WINDOW Win_1 MULTIPLE ? Under GTK+, official, not exist windows MDI. Please, Can you see source code XWT from xHarbour ? Giancarlo Niccolai begin this for GTK+ and API Win32. The idea is similar the AWT Java, or not ? Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] Experiences with sqlite?
Another implemtation; This is implementation the API Sqlite 3 for compilers [x]Harbour. Copyright 2007 WenSheng Copyright 2007 Rafa Carmona <[EMAIL PROTECTED]> License: Library General Public License (GNU) * Based in job of : Copyright 2003 Alejandro de Gárate <[EMAIL PROTECTED]> LGPL License. You can download code source from SourceForge Protocol: :pserver: Server: t-gtk.cvs.sourceforge.net Repository folder: /cvsroot/t-gtk User name: anonymous Module: *sqlite3* Regards Rafa Carmona ___ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour