Thread overview
Build version 3.02 released
Jun 24, 2006
Derek Parnell
Jun 24, 2006
David Ferenczi
Jun 24, 2006
Derek Parnell
Jun 24, 2006
Carlos Santander
Jun 24, 2006
dickl
Jun 26, 2006
Vladimir
June 24, 2006
The version 3.02 can be downloaded from ...

  http://www.dsource.org/projects/build/wiki

A list of changes and fixes that have been made.

** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a space character to delimit file names.

** FIX: Ticket #28 The Optlink switch options are now correctly placed in a response file

** FIX: Ticket #29 The -exec now works correctly.

** FIX: Ticket #32 The Windows executable in the distro now updates the auto_build_number.

** ENH: Ticket #30 The Rules subsystem can now be used to generate D source code. There are number of changes in this area so read the rules documentation and pragma documentation for details.

** ENH: Ticket #31 It is now possible to stop a source file from being compiled. A new "pragma(ignore)" has been implemented.

** ENH: There are some new configuration items that can be used to adjust the tools usage. Have a look at the example configuration file in the distrubution package.

-- 
Derek Parnell
Melbourne, Australia
June 24, 2006
Thank you very much for the new version!

Unfortunately, I still have some problems with linking (taking the simplest case form last time, so everey file in the same folder):

**************************************************************************** ./build kludge.d

/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
function `_STI_monitor_staticctor':
: undefined reference to `pthread_mutexattr_init'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
function `_STI_monitor_staticctor':
: undefined reference to `pthread_mutexattr_settype'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
function `_STD_monitor_staticdtor':
: undefined reference to `pthread_mutexattr_destroy'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread5startFZv':
: undefined reference to `pthread_create'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread4waitFZv':
: undefined reference to `pthread_join'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread4waitFkZv':
: undefined reference to `pthread_cancel'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread5pauseFZv':
: undefined reference to `pthread_kill'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread5pauseFZv':
: undefined reference to `sem_wait'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread6resumeFZv':
: undefined reference to `pthread_kill'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread8pauseAllFZv':
: undefined reference to `pthread_kill'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread8pauseAllFZv':
: undefined reference to `sem_wait'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread4initFkZv':
: undefined reference to `pthread_attr_setstacksize'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread11thread_initFZv':
: undefined reference to `sem_init'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread12pauseHandlerUiZv':
: undefined reference to `sem_post'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(critical.o): In
function `_STI_critical_init':
: undefined reference to `pthread_mutexattr_init'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(critical.o): In
function `_STI_critical_init':
: undefined reference to `pthread_mutexattr_settype'
collect2: ld returned 1 exit status
****************************************************************************


but, adding the -g switch in the same case:

**************************************************************************** ./build kludge.d -g

gcc: /co: No such file or directory ****************************************************************************

Using my fully configured build environment:

**************************************************************************** util/build src/kludge.d -debug -g -odobj/debug -ofkludgedebug -unittest -w

gcc: /co: No such file or directory
gcc: obj/debug/src/kludge.o: No such file or directory
gcc: obj/debug/src/application.o: No such file or directory
gcc: obj/debug/src/game.o: No such file or directory
gcc: obj/debug/src/searchengine.o: No such file or directory
gcc: obj/debug/src/board.o: No such file or directory
****************************************************************************

The object files are generated in the correct folder (obj/debug/), but the linker searches for them in obj/debug/src/, since the source files are in the src/ folder.

Could you please take a look at these issues?

Thank you very much and keep up the good work!

David

Derek Parnell wrote:

> The version 3.02 can be downloaded from ...
> 
>    http://www.dsource.org/projects/build/wiki
> 
> A list of changes and fixes that have been made.
> 
> ** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a space character to delimit file names.
> 
> ** FIX: Ticket #28 The Optlink switch options are now correctly placed in a response file
> 
> ** FIX: Ticket #29 The -exec now works correctly.
> 
> ** FIX: Ticket #32 The Windows executable in the distro now updates the auto_build_number.
> 
> ** ENH: Ticket #30 The Rules subsystem can now be used to generate D source code. There are number of changes in this area so read the rules documentation and pragma documentation for details.
> 
> ** ENH: Ticket #31 It is now possible to stop a source file from being compiled. A new "pragma(ignore)" has been implemented.
> 
> ** ENH: There are some new configuration items that can be used to adjust the tools usage. Have a look at the example configuration file in the distrubution package.
> 

June 24, 2006
On Sat, 24 Jun 2006 14:41:45 +1000, David Ferenczi <raggae@ferenczi.net> wrote:

> Thank you very much for the new version!
>
> Unfortunately, I still have some problems with linking (taking the simplest
> case form last time, so everey file in the same folder):
>
> ****************************************************************************
> ./build kludge.d
>
> /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
> function `_STI_monitor_staticctor':

Sounds like a library not getting used. I don't know which library or how it's being referred to. Maybe somebody with GCC experience can help us here.

>
>
> but, adding the -g switch in the same case:
>
> ****************************************************************************
> ./build kludge.d -g
>
> gcc: /co: No such file or directory

The "/co" has been added because that's what I guessed was the GCC switch to create debugging info. It seems that this is not the right switch to use. Create or update the build.cfg file to include a line ...

INIT:SymInfoSwitch = <what_ever_is_correct>

Have a look at the Configuration file documentation for more details...

   http://build.dsource.org/configuration_file.html

>
> Using my fully configured build environment:
>
> ****************************************************************************
> util/build src/kludge.d -debug -g -odobj/debug -ofkludgedebug -unittest -w
>
> gcc: /co: No such file or directory
> gcc: obj/debug/src/kludge.o: No such file or directory
> gcc: obj/debug/src/application.o: No such file or directory
> gcc: obj/debug/src/game.o: No such file or directory
> gcc: obj/debug/src/searchengine.o: No such file or directory
> gcc: obj/debug/src/board.o: No such file or directory
> ****************************************************************************
>
> The object files are generated in the correct folder (obj/debug/), but the
> linker searches for them in obj/debug/src/, since the source files are in
> the src/ folder.

Okay, this might be a bug in unix builds as it works on my windows system. I'll look into this.

-- 
Derek Parnell
Melbourne, Australia
June 24, 2006
Derek Parnell escribió:
> On Sat, 24 Jun 2006 14:41:45 +1000, David Ferenczi <raggae@ferenczi.net> wrote:
> 
>> Thank you very much for the new version!
>>
>> Unfortunately, I still have some problems with linking (taking the simplest
>> case form last time, so everey file in the same folder):
>>
>> **************************************************************************** 
>>
>> ./build kludge.d
>>
>> /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
>> function `_STI_monitor_staticctor':
> 
> Sounds like a library not getting used. I don't know which library or how it's being referred to. Maybe somebody with GCC experience can help us here.
> 

-lpthread
If you didn't add that, maybe you didn't add -lm either. Just remember to add them after -lphobos. And speaking of which (just in case, I haven't checked yet) it's -lgphobos for gdc.

>>
>>
>> but, adding the -g switch in the same case:
>>
>> **************************************************************************** 
>>
>> ./build kludge.d -g
>>
>> gcc: /co: No such file or directory
> 
> The "/co" has been added because that's what I guessed was the GCC switch to create debugging info. It seems that this is not the right switch to use. Create or update the build.cfg file to include a line ...
> 
> INIT:SymInfoSwitch = <what_ever_is_correct>
> 
> Have a look at the Configuration file documentation for more details...
> 
>    http://build.dsource.org/configuration_file.html
> 

The correct flag is -g

>>
>> Using my fully configured build environment:
>>
>> **************************************************************************** 
>>
>> util/build src/kludge.d -debug -g -odobj/debug -ofkludgedebug -unittest -w
>>
>> gcc: /co: No such file or directory
>> gcc: obj/debug/src/kludge.o: No such file or directory
>> gcc: obj/debug/src/application.o: No such file or directory
>> gcc: obj/debug/src/game.o: No such file or directory
>> gcc: obj/debug/src/searchengine.o: No such file or directory
>> gcc: obj/debug/src/board.o: No such file or directory
>> **************************************************************************** 
>>
>>
>> The object files are generated in the correct folder (obj/debug/), but the
>> linker searches for them in obj/debug/src/, since the source files are in
>> the src/ folder.
> 
> Okay, this might be a bug in unix builds as it works on my windows system. I'll look into this.
> 
> --Derek Parnell
> Melbourne, Australia


-- 
Carlos Santander Bernal
June 24, 2006
The new version seems to be working for me. Thanks much !!!

I noticed in the .ksp file that there is a '+' after the resource file and before the linker options.  Doesn't seem to break anything though.

Dick


Derek Parnell wrote:
> The version 3.02 can be downloaded from ...
> 
>   http://www.dsource.org/projects/build/wiki
> 
> A list of changes and fixes that have been made.
> 
> ** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a space character to delimit file names.
> 
> ** FIX: Ticket #28 The Optlink switch options are now correctly placed in a response file
> 
> ** FIX: Ticket #29 The -exec now works correctly.
> 
> ** FIX: Ticket #32 The Windows executable in the distro now updates the auto_build_number.
> 
> ** ENH: Ticket #30 The Rules subsystem can now be used to generate D source code. There are number of changes in this area so read the rules documentation and pragma documentation for details.
> 
> ** ENH: Ticket #31 It is now possible to stop a source file from being compiled. A new "pragma(ignore)" has been implemented.
> 
> ** ENH: There are some new configuration items that can be used to adjust the tools usage. Have a look at the example configuration file in the distrubution package.
> 
> --Derek Parnell
> Melbourne, Australia
June 26, 2006
Thank you

Derek Parnell wrote:
> The version 3.02 can be downloaded from ...
> 
>   http://www.dsource.org/projects/build/wiki
> 
> A list of changes and fixes that have been made.
> 
> ** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a space character to delimit file names.
> 
> ** FIX: Ticket #28 The Optlink switch options are now correctly placed in a response file
> 
> ** FIX: Ticket #29 The -exec now works correctly.
> 
> ** FIX: Ticket #32 The Windows executable in the distro now updates the auto_build_number.
> 
> ** ENH: Ticket #30 The Rules subsystem can now be used to generate D source code. There are number of changes in this area so read the rules documentation and pragma documentation for details.
> 
> ** ENH: Ticket #31 It is now possible to stop a source file from being compiled. A new "pragma(ignore)" has been implemented.
> 
> ** ENH: There are some new configuration items that can be used to adjust the tools usage. Have a look at the example configuration file in the distrubution package.
> 
> --Derek Parnell
> Melbourne, Australia