View mode: basic / threaded / horizontal-split · Log in · Help
June 13, 2005
recompiling phobos on linux
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
Re: recompiling phobos on linux
"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
Re: recompiling phobos on linux
"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
Re: recompiling phobos on linux
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
Re: recompiling phobos on linux
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
Re: recompiling phobos on linux
"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
Re: recompiling phobos on linux
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
Re: recompiling phobos on linux
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
Re: recompiling phobos on linux
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
Top | Discussion index | About this forum | D home