www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - recompiling phobos on linux

reply Carlos Santander <csantander619 gmail.com> writes:
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_ctorFC10ModuleInfoZC3std10moduleinit15Mo
uleCtorError+0x1c): 
En la funci█n 
`_D3std10moduleinit15ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(thread.o)(.gnu.linkonce.t_D3std6thread11ThreadError5_ctorFAaZC3std6thread
1ThreadError+0x1e): 
En la funci█n 
`_D3std6thread11ThreadError5_ctorFAaZC3std6thread11ThreadError':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(format.o)(.gnu.linkonce.t_D3std6format11FormatError5_ctorFAaZC3std6format
1FormatError+0x1e): 
En la funci█n 
`_D3std6format11FormatError5_ctorFAaZC3std6format11FormatError':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(object.o)(.gnu.linkonce.t_D6object16TypeInfo_Pointer
toStringFZAa+0x1c): 
En la funci█n `_D6object16TypeInfo_Pointer8toStringFZAa':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(object.o)(.gnu.linkonce.t_D6object14TypeInfo_Array
toStringFZAa+0x1c): 
En la funci█n `_D6object14TypeInfo_Array8toStringFZAa':
: undefined reference to `_d_arraycat'
/usr/bin/../lib/libphobos.a(object.o)(.gnu.linkonce.t_D6object17TypeInfo_Function
toStringFZAa+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
Jun 13 2005
next sibling parent reply "Walter" <newshound digitalmars.com> writes:
"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:

5ModuleCtorError5_ctorFC10ModuleInfoZC3std10moduleinit15ModuleCtorError+0x1c ):
 En la funci█n

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.
Jun 13 2005
parent reply Carlos Santander <csantander619 gmail.com> writes:
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
Jun 14 2005
parent "Walter" <newshound digitalmars.com> writes:
"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


 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.
Jun 14 2005
prev sibling parent reply "Ben Hinkle" <ben.hinkle gmail.com> writes:
"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):

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.
Jun 14 2005
parent reply Carlos Santander <csantander619 gmail.com> writes:
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
Jun 14 2005
parent reply John Reimer <brk_6502 yahoo.com> writes:
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.
Jun 15 2005
parent reply Carlos Santander <csantander619 gmail.com> writes:
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
Jun 16 2005
parent John Reimer <brk_6502 yahoo.com> writes:
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
Jun 18 2005