Thread overview
recompiling phobos on linux
Jun 13, 2005
Carlos Santander
Jun 14, 2005
Walter
Jun 15, 2005
Carlos Santander
Jun 15, 2005
Walter
Jun 14, 2005
Ben Hinkle
Jun 15, 2005
Carlos Santander
Jun 16, 2005
John Reimer
Jun 16, 2005
Carlos Santander
Jun 18, 2005
John Reimer
June 13, 2005
After I recompile phobos on linux (to get rid of spawn*), I get results similar to this when trying to compile any program:

/usr/bin/../lib/libphobos.a(moduleinit.o)(.gnu.linkonce.t_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError+0x1c): En la funciÛn `_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(thread.o)(.gnu.linkonce.t_D3std6thread11ThreadError5_ctorFAaZC3std6thread11ThreadError+0x1e): En la funciÛn `_D3std6thread11ThreadError5_ctorFAaZC3std6thread11ThreadError':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(format.o)(.gnu.linkonce.t_D3std6format11FormatError5_ctorFAaZC3std6format11FormatError+0x1e): En la funciÛn `_D3std6format11FormatError5_ctorFAaZC3std6format11FormatError':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(object.o)(.gnu.linkonce.t_D6object16TypeInfo_Pointer8toStringFZAa+0x1c): En la funciÛn `_D6object16TypeInfo_Pointer8toStringFZAa':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(object.o)(.gnu.linkonce.t_D6object14TypeInfo_Array8toStringFZAa+0x1c): En la funciÛn `_D6object14TypeInfo_Array8toStringFZAa':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(object.o)(.gnu.linkonce.t_D6object17TypeInfo_Function8toStringFZAa+0x1c): more undefined references to `_d_arraycat' follow
collect2: ld devolviÛ el estado de salida 1

Does anybody have a clue of what's wrong? And btw, when will this spawn* thing be fixed?

-- 
Carlos Santander Bernal
June 14, 2005
"Carlos Santander" <csantander619@gmail.com> wrote in message news:d8l4v6$2n78$1@digitaldaemon.com...
> After I recompile phobos on linux (to get rid of spawn*), I get results similar to this when trying to compile any program:
>
>
/usr/bin/../lib/libphobos.a(moduleinit.o)(.gnu.linkonce.t_D3std10moduleinit1
5ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError+0x1c
):
> En la funciÛn
>
`_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15 ModuleCtorError':
> : undefined reference to `_d_arraycat'

_d_arraycat is defined in internal/arraycat.d. I'd check to make sure it was being compiled and inserted into the library.


June 14, 2005
"Carlos Santander" <csantander619@gmail.com> wrote in message news:d8l4v6$2n78$1@digitaldaemon.com...
> After I recompile phobos on linux (to get rid of spawn*), I get results similar to this when trying to compile any program:
>
> /usr/bin/../lib/libphobos.a(moduleinit.o)(.gnu.linkonce.t_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError+0x1c):
[snip]
I'm not sure what you mean by "spawn" but the only errors I get when
rebuilding phobos on linux is the etc/c/stlsoft build error (or maybe it was
recls, I can't remember). I haven't seen link errors like the one you're
getting. Try doing a clean make and/or nuke the dmd directory and unzipping
from scratch.


June 15, 2005
Walter escribió:
> "Carlos Santander" <csantander619@gmail.com> wrote in message
> news:d8l4v6$2n78$1@digitaldaemon.com...
> 
>>After I recompile phobos on linux (to get rid of spawn*), I get results
>>similar to this when trying to compile any program:
>>
>>
> 
> /usr/bin/../lib/libphobos.a(moduleinit.o)(.gnu.linkonce.t_D3std10moduleinit1
> 5ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError+0x1c
> ):
> 
>>En la funciÛn
>>
> 
> `_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15
> ModuleCtorError':
> 
>>: undefined reference to `_d_arraycat'
> 
> 
> _d_arraycat is defined in internal/arraycat.d. I'd check to make sure it was
> being compiled and inserted into the library.
> 
> 

I know that. I'm just doing "make -f linux.mak". That's why I'm asking. The original libphobos.a works, though.

-- 
Carlos Santander Bernal
June 15, 2005
Ben Hinkle escribió:
> "Carlos Santander" <csantander619@gmail.com> wrote in message news:d8l4v6$2n78$1@digitaldaemon.com...
> 
>>After I recompile phobos on linux (to get rid of spawn*), I get results similar to this when trying to compile any program:
>>
>>/usr/bin/../lib/libphobos.a(moduleinit.o)(.gnu.linkonce.t_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError+0x1c):
> 
> [snip]
> I'm not sure what you mean by "spawn" but the only errors I get when rebuilding phobos on linux is the etc/c/stlsoft build error (or maybe it was recls, I can't remember). I haven't seen link errors like the one you're getting. Try doing a clean make and/or nuke the dmd directory and unzipping from scratch.
> 
> 

Try compiling this on linux:

import std.process;

void main()
{
	system("ls");
}

You'll get linker errors because spawnvp is in std.process and it calls std.c.process.spawnvp. However, spawn* are Windows only.

I also made sure to do "make -f linux.mak clean" beforehand.

-- 
Carlos Santander Bernal
June 15, 2005
"Carlos Santander" <csantander619@gmail.com> wrote in message news:d8nt6e$25na$1@digitaldaemon.com...
> Walter escribió:
> > "Carlos Santander" <csantander619@gmail.com> wrote in message news:d8l4v6$2n78$1@digitaldaemon.com...
> >
> >>After I recompile phobos on linux (to get rid of spawn*), I get results
> >>similar to this when trying to compile any program:
> >>: undefined reference to `_d_arraycat'
> >
> >
> > _d_arraycat is defined in internal/arraycat.d. I'd check to make sure it
was
> > being compiled and inserted into the library.
> >
> >
>
> I know that. I'm just doing "make -f linux.mak". That's why I'm asking. The original libphobos.a works, though.

With problems like these, the only thing to do is to go check the basics.


June 16, 2005
Carlos Santander wrote:

> Try compiling this on linux:
> 
> import std.process;
> 
> void main()
> {
>     system("ls");
> }
> 
> You'll get linker errors because spawnvp is in std.process and it calls std.c.process.spawnvp. However, spawn* are Windows only.
> 
> I also made sure to do "make -f linux.mak clean" beforehand.
> 

When I try to compile phobos on linux, the compiler dies on the C++ stlsoft stuff.
June 16, 2005
John Reimer escribió:
> Carlos Santander wrote:
> 
>> Try compiling this on linux:
>>
>> import std.process;
>>
>> void main()
>> {
>>     system("ls");
>> }
>>
>> You'll get linker errors because spawnvp is in std.process and it calls std.c.process.spawnvp. However, spawn* are Windows only.
>>
>> I also made sure to do "make -f linux.mak clean" beforehand.
>>
> 
> When I try to compile phobos on linux, the compiler dies on the C++ stlsoft stuff.

But it's in the unittest. libphobos.a is created.

-- 
Carlos Santander Bernal
June 18, 2005
Carlos Santander wrote:
> John Reimer escribió:
> 
>> Carlos Santander wrote:
>>
>>> Try compiling this on linux:
>>>
>>> import std.process;
>>>
>>> void main()
>>> {
>>>     system("ls");
>>> }
>>>
>>> You'll get linker errors because spawnvp is in std.process and it calls std.c.process.spawnvp. However, spawn* are Windows only.
>>>
>>> I also made sure to do "make -f linux.mak clean" beforehand.
>>>
>>
>> When I try to compile phobos on linux, the compiler dies on the C++ stlsoft stuff.
> 
> 
> But it's in the unittest. libphobos.a is created.
> 

It does?  Either I didn't notice or it didn't work for me. $(RECLS_OBJS) is also C++ stuff and that's included in libphobos.a.  Not sure  if that was the problem code or not too.

-JJR