Thread overview | ||||||
---|---|---|---|---|---|---|
|
April 11, 2007 64 bit linux | ||||
---|---|---|---|---|
| ||||
I am using SimplyMEPIS 6.5 64 bit linux. DMD used to work fine with previous 32 bit versions of SimplyMepis, but now linking would not work. A hello world ( void main(char[][] args){printf("Hello\r\n");}) gives : funog@1[ircw]$ dmd hello.d gcc hello.o -o hello -m32 -lphobos -lpthread -lm -Xlinker -L/home/funog/dmd/bin/../lib /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libpthread.so when searching for -lpthread /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libpthread.a when searching for -lpthread /usr/bin/ld: skipping incompatible /usr/bin/../lib/libpthread.so when searching for -lpthread /usr/bin/ld: skipping incompatible /usr/bin/../lib/libpthread.a when searching for -lpthread /usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread /usr/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread /usr/bin/ld: cannot find -lpthread collect2: ld returned 1 exit status --- errorlevel 1 I am not very good at linux... Is there a way to correct this problem, or will DMD just do not work on my distro? |
April 11, 2007 Re: 64 bit linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Funog | Funog wrote:
> I am using SimplyMEPIS 6.5 64 bit linux. DMD used to work fine with previous 32 bit versions of SimplyMepis, but now linking would not work. A hello world ( void main(char[][] args){printf("Hello\r\n");}) gives :
>
> funog@1[ircw]$ dmd hello.d
> gcc hello.o -o hello -m32 -lphobos -lpthread -lm -Xlinker -L/home/funog/dmd/bin/../lib
> /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libpthread.so when searching for -lpthread
> /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libpthread.a when searching for -lpthread
> /usr/bin/ld: skipping incompatible /usr/bin/../lib/libpthread.so when searching for -lpthread
> /usr/bin/ld: skipping incompatible /usr/bin/../lib/libpthread.a when searching for -lpthread
> /usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
> /usr/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread
> /usr/bin/ld: cannot find -lpthread
> collect2: ld returned 1 exit status
> --- errorlevel 1
>
> I am not very good at linux... Is there a way to correct this problem, or will DMD just do not work on my distro?
The problem is that the libraries it finds are 64-bit, so they don't link with 32-bit applications.
I had a similar problem on 64-bit Ubuntu. I worked around it by running DMD in a 32-bit chroot. It's not ideal but it works...
(If anyone has a better solution, I'd love to hear it)
|
April 11, 2007 Re: 64 bit linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frits van Bommel | Frits van Bommel wrote:
> Funog wrote:
>> I am using SimplyMEPIS 6.5 64 bit linux. DMD used to work fine with
>> previous 32 bit versions of SimplyMepis, but now linking would not work.
>> A hello world ( void main(char[][] args){printf("Hello\r\n");}) gives :
>>
>> funog@1[ircw]$ dmd hello.d
>> gcc hello.o -o hello -m32 -lphobos -lpthread -lm -Xlinker
>> -L/home/funog/dmd/bin/../lib /usr/bin/ld: skipping incompatible
>> /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libpthread.so when searching
>> for -lpthread /usr/bin/ld: skipping incompatible
>> /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libpthread.a when searching
>> for -lpthread /usr/bin/ld: skipping incompatible
>> /usr/bin/../lib/libpthread.so when searching for -lpthread /usr/bin/ld:
>> skipping incompatible /usr/bin/../lib/libpthread.a when searching for
>> -lpthread /usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when
>> searching for -lpthread /usr/bin/ld: skipping incompatible
>> /usr/lib/libpthread.a when searching for -lpthread /usr/bin/ld: cannot
>> find -lpthread collect2: ld returned 1 exit status --- errorlevel 1
>>
>> I am not very good at linux... Is there a way to correct this problem, or will DMD just do not work on my distro?
>
> The problem is that the libraries it finds are 64-bit, so they don't
> link with 32-bit applications.
> I had a similar problem on 64-bit Ubuntu. I worked around it by running
> DMD in a 32-bit chroot. It's not ideal but it works...
> (If anyone has a better solution, I'd love to hear it)
You could try to use gdc instead of dmd, gdc has 64 bit support so 64 bit libraries wont be a problem :)
|
April 11, 2007 Re: 64 bit linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Granberg | Johan Granberg wrote: > Frits van Bommel wrote: > >> Funog wrote: >>> I am using SimplyMEPIS 6.5 64 bit linux. DMD used to work fine with >>> previous 32 bit versions of SimplyMepis, but now linking would not work. >>> A hello world ( void main(char[][] args){printf("Hello\r\n");}) gives : >>> [snip errors] >>> >>> I am not very good at linux... Is there a way to correct this problem, or >>> will DMD just do not work on my distro? >> The problem is that the libraries it finds are 64-bit, so they don't >> link with 32-bit applications. >> I had a similar problem on 64-bit Ubuntu. I worked around it by running >> DMD in a 32-bit chroot. It's not ideal but it works... >> (If anyone has a better solution, I'd love to hear it) > > You could try to use gdc instead of dmd, gdc has 64 bit support so 64 bit > libraries wont be a problem :) Well, I did that too, I have both installed ;). |
Copyright © 1999-2021 by the D Language Foundation