Jump to page: 1 2
Thread overview
BSD Config
Nov 10, 2013
Tyro[17]
Nov 10, 2013
nazriel
Nov 10, 2013
Tyro[17]
Nov 11, 2013
Joakim
Nov 11, 2013
Tyro[17]
Nov 11, 2013
Joakim
Nov 10, 2013
Jacob Carlborg
Nov 10, 2013
Walter Bright
Nov 10, 2013
Jacob Carlborg
Nov 11, 2013
Joakim
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Brad Roberts
Nov 11, 2013
Tyro[17]
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Joakim
Nov 11, 2013
Jacob Carlborg
November 10, 2013
What is the proper way to configure DMD for use on BSD systems?

There is no freebsd or openbsd folder in the zip file so the instructions on dlang.org/dmd-freebsd.html cannot be followed as written. I tried building from source but get the following errors:

# make -f posix.mak
*** Parse error in /root/dmd2/src/dmd: Missing dependency operator (posix.mak
*** Parse error: Need an operator in 'endif' (posix.mak:5)
*** Parse error: Missing dependency operator (posix.mak:6)
*** Parse error: Need an operator in 'endif' (posix.mak:8)
*** Parse error: Missing dependency operator (posix.mak:9)
*** Parse error: Need an operator in 'endif' (posix.mak:11)
*** Parse error: Missing dependency operator (posix.mak:12)
*** Parse error: Need an operator in 'endif' (posix.mak:14)
*** Parse error: Missing dependency operator (posix.mak:15)
*** Parse error: Need an operator in 'endif' (posix.mak:17)
*** Parse error: Missing dependency operator (posix.mak:18)
*** Parse error: Need an operator in 'endif' (posix.mak:20)
*** Parse error: Missing dependency operator (posix.mak:21)
*** Parse error: Need an operator in 'endif' (posix.mak:23)
*** Parse error: Missing dependency operator (posix.mak:25)
*** Parse error: Need an operator in '' (posix.mak:26)
*** Parse error: Need an operator in 'endif' (posix.mak:28)
*** Parse error: Missing dependency operator (posix.mak:30)
*** Parse error: Need an operator in 'else' (posix.mak:33)
*** Parse error: Missing dependency operator (posix.mak:34)
*** Parse error: Need an operator in 'else' (posix.mak:37)
Bad modifier:  '$(TARGET_CPU)')
Bad modifier:  '$(TARGET_CPU)')
*** Parse error: Need an operator in ')' (posix.mak:38)
*** Parse error: Need an operator in 'endif' (posix.mak:39)
*** Parse error: Need an operator in 'endif' (posix.mak:40)
*** Parse error: Missing dependency operator (posix.mak:49)
*** Parse error: Need an operator in 'endif' (posix.mak:51)
*** Parse error: Missing dependency operator (posix.mak:53)
*** Parse error: Need an operator in 'MACOSX_DEPLOYMENT_TARGET=10.3' (posix.mak:54)
*** Parse error: Need an operator in 'endif' (posix.mak:55)
*** Parse error: Unassociated shell command "  HOST_CC=g++" (posix.mak:61)
*** Parse error: Missing dependency operator (posix.mak:71)
*** Parse error: Need an operator in 'else' (posix.mak:73)
*** Parse error: Need an operator in 'endif' (posix.mak:75)
*** Parse error: Missing dependency operator (posix.mak:106)
*** Parse error: Need an operator in 'else' (posix.mak:108)
*** Parse error: Need an operator in 'endif' (posix.mak:110)
*** Parse error: Missing dependency operator (posix.mak:215)
*** Parse error: Need an operator in 'endif' (posix.mak:219)
*** Parse error: Need an operator in '' (posix.mak:221)
*** Parse error: Missing dependency operator (posix.mak:701)
*** Parse error: Need an operator in 'else' (posix.mak:703)
*** Parse error: Need an operator in 'endif' (posix.mak:705)

This happened on OpenBSD, FreeBSD and DragonFlyBSD. I am running the 64bit version of all these operating systems. Which actually might be the problem now that I think about it. Does DMD even support the 64bit version  of Free/OpenBSD?

-- 

Andrew Edwards
--------------------
http://www.akeron.co
auto getAddress() {
    string location = "@", period = ".";
    return ("info" ~ location ~ "afidem" ~ period ~ "org");
}
November 10, 2013
On Sunday, 10 November 2013 at 16:49:18 UTC, Tyro[17] wrote:
> What is the proper way to configure DMD for use on BSD systems?
>
> There is no freebsd or openbsd folder in the zip file so the instructions on dlang.org/dmd-freebsd.html cannot be followed as written. I tried building from source but get the following errors:
>
> # make -f posix.mak
> *** Parse error in /root/dmd2/src/dmd: Missing dependency operator (posix.mak
> *** Parse error: Need an operator in 'endif' (posix.mak:5)
> *** Parse error: Missing dependency operator (posix.mak:6)
> *** Parse error: Need an operator in 'endif' (posix.mak:8)
> *** Parse error: Missing dependency operator (posix.mak:9)
> *** Parse error: Need an operator in 'endif' (posix.mak:11)
> *** Parse error: Missing dependency operator (posix.mak:12)
> *** Parse error: Need an operator in 'endif' (posix.mak:14)
> *** Parse error: Missing dependency operator (posix.mak:15)
> *** Parse error: Need an operator in 'endif' (posix.mak:17)
> *** Parse error: Missing dependency operator (posix.mak:18)
> *** Parse error: Need an operator in 'endif' (posix.mak:20)
> *** Parse error: Missing dependency operator (posix.mak:21)
> *** Parse error: Need an operator in 'endif' (posix.mak:23)
> *** Parse error: Missing dependency operator (posix.mak:25)
> *** Parse error: Need an operator in '' (posix.mak:26)
> *** Parse error: Need an operator in 'endif' (posix.mak:28)
> *** Parse error: Missing dependency operator (posix.mak:30)
> *** Parse error: Need an operator in 'else' (posix.mak:33)
> *** Parse error: Missing dependency operator (posix.mak:34)
> *** Parse error: Need an operator in 'else' (posix.mak:37)
> Bad modifier:  '$(TARGET_CPU)')
> Bad modifier:  '$(TARGET_CPU)')
> *** Parse error: Need an operator in ')' (posix.mak:38)
> *** Parse error: Need an operator in 'endif' (posix.mak:39)
> *** Parse error: Need an operator in 'endif' (posix.mak:40)
> *** Parse error: Missing dependency operator (posix.mak:49)
> *** Parse error: Need an operator in 'endif' (posix.mak:51)
> *** Parse error: Missing dependency operator (posix.mak:53)
> *** Parse error: Need an operator in 'MACOSX_DEPLOYMENT_TARGET=10.3' (posix.mak:54)
> *** Parse error: Need an operator in 'endif' (posix.mak:55)
> *** Parse error: Unassociated shell command "  HOST_CC=g++" (posix.mak:61)
> *** Parse error: Missing dependency operator (posix.mak:71)
> *** Parse error: Need an operator in 'else' (posix.mak:73)
> *** Parse error: Need an operator in 'endif' (posix.mak:75)
> *** Parse error: Missing dependency operator (posix.mak:106)
> *** Parse error: Need an operator in 'else' (posix.mak:108)
> *** Parse error: Need an operator in 'endif' (posix.mak:110)
> *** Parse error: Missing dependency operator (posix.mak:215)
> *** Parse error: Need an operator in 'endif' (posix.mak:219)
> *** Parse error: Need an operator in '' (posix.mak:221)
> *** Parse error: Missing dependency operator (posix.mak:701)
> *** Parse error: Need an operator in 'else' (posix.mak:703)
> *** Parse error: Need an operator in 'endif' (posix.mak:705)
>
> This happened on OpenBSD, FreeBSD and DragonFlyBSD. I am running the 64bit version of all these operating systems. Which actually might be the problem now that I think about it. Does DMD even support the 64bit version  of Free/OpenBSD?

Try running it with gmake

November 10, 2013
On 2013-11-10 17:49, Tyro[17] wrote:
> What is the proper way to configure DMD for use on BSD systems?
>
> There is no freebsd or openbsd folder in the zip file so the
> instructions on dlang.org/dmd-freebsd.html cannot be followed as
> written. I tried building from source but get the following errors:

> This happened on OpenBSD, FreeBSD and DragonFlyBSD. I am running the
> 64bit version of all these operating systems. Which actually might be
> the problem now that I think about it. Does DMD even support the 64bit
> version  of Free/OpenBSD?

Yes, DMD works on FreeBSD, both 32bit and 64bit. I've sent pre-compiled binaries to Walter. I don't know if he wants to put them online. As nazriel said, you need to run it with gmake (GNU make).

-- 
/Jacob Carlborg
November 10, 2013
On 11/10/2013 10:01 AM, Jacob Carlborg wrote:
> I've sent pre-compiled binaries
> to Walter. I don't know if he wants to put them online.

I do, and want to include it with a couple other adjustments to 2.064.

November 10, 2013
On 11/10/13, 12:16 PM, nazriel wrote:
> On Sunday, 10 November 2013 at 16:49:18 UTC, Tyro[17] wrote:
>> What is the proper way to configure DMD for use on BSD systems?
[Snip]
>
> Try running it with gmake
>

Ok... Thanks for the pointer. I tried it and got much further than before. Pays to use the right tool for the job. I still ran into
problems though:

g++  -c -Wno-deprecated -Wstrict-ailiasing -D__pascal= -fno-exceptions -O2  -Ibackend -Itk -Iroot -DMARS=1 -DTARGET_FREEBSD=1 -DDM_TARGET_CPU_X86=1 -DDMDV2=1 -I. backend/dwarf.c
backend/dwarf.c: In function 'void dwarf_initfile(const char*)':
backend/dwarf.c:658:9: error 'error' was not declared in this scope
backend/dwarf.c:662:35: error 'getcwd' was not declared in this scope
backend/dwarf.c:667:22: error 'ERANGE' was not declared in this scope
gmake: *** [dwarf.o] Error 1


Any pointers?

Thanks.
-- 

Andrew Edwards
--------------------
http://www.akeron.co
auto getAddress() {
    string location = "@", period = ".";
    return ("info" ~ location ~ "afidem" ~ period ~ "org");
}
November 10, 2013
On 2013-11-10 17:49, Tyro[17] wrote:
> What is the proper way to configure DMD for use on BSD systems?

If you want the pre-compiled binaries I have them here:

https://dl.dropboxusercontent.com/u/18386187/dmd.2.064.2-freebsd.zip

It's both for 32 and 64bit. Both stripped an unstripped executables.

-- 
/Jacob Carlborg
November 11, 2013
On Sunday, 10 November 2013 at 19:09:37 UTC, Tyro[17] wrote:
> On 11/10/13, 12:16 PM, nazriel wrote:
>> On Sunday, 10 November 2013 at 16:49:18 UTC, Tyro[17] wrote:
>>> What is the proper way to configure DMD for use on BSD systems?
> [Snip]
>>
>> Try running it with gmake
>>
>
> Ok... Thanks for the pointer. I tried it and got much further than before. Pays to use the right tool for the job. I still ran into
> problems though:
>
> g++  -c -Wno-deprecated -Wstrict-ailiasing -D__pascal= -fno-exceptions -O2  -Ibackend -Itk -Iroot -DMARS=1 -DTARGET_FREEBSD=1 -DDM_TARGET_CPU_X86=1 -DDMDV2=1 -I. backend/dwarf.c
> backend/dwarf.c: In function 'void dwarf_initfile(const char*)':
> backend/dwarf.c:658:9: error 'error' was not declared in this scope
> backend/dwarf.c:662:35: error 'getcwd' was not declared in this scope
> backend/dwarf.c:667:22: error 'ERANGE' was not declared in this scope
> gmake: *** [dwarf.o] Error 1
>
>
> Any pointers?
There exist FreeBSD ports for dmd1 and dmd2, which you can use to compile either one in 32- or 64-bit.  Any reason you're not using them?  They're a little stale, but they should work.  At the very least, you should be able to figure out build requirements like this by looking at the port's makefile, if you prefer to build dmd yourself.
November 11, 2013
On Sunday, 10 November 2013 at 16:49:18 UTC, Tyro[17] wrote:
> This happened on OpenBSD, FreeBSD and DragonFlyBSD. I am running the 64bit version of all these operating systems. Which actually might be the problem now that I think about it. Does DMD even support the 64bit version  of Free/OpenBSD?

Oh, I should mention also, that there isn't general BSD support in D.  Try grepping for freebsd in the source.  I just tried it on the source in the 2.063.2 zip file and I got 510 hits for freebsd, 181 hits for openbsd, and 2 hits for dragonfly.  By comparison, I got 685 hits for linux.  That should give you a crude but reasonable idea of how well-supported each OS is.  As for 64-bit, I believe it should work on FreeBSD, but likely isn't well-tested.
November 11, 2013
On 2013-11-11 17:15, Joakim wrote:

> Oh, I should mention also, that there isn't general BSD support in D.
> Try grepping for freebsd in the source.  I just tried it on the source
> in the 2.063.2 zip file and I got 510 hits for freebsd, 181 hits for
> openbsd, and 2 hits for dragonfly.  By comparison, I got 685 hits for
> linux.  That should give you a crude but reasonable idea of how
> well-supported each OS is.  As for 64-bit, I believe it should work on
> FreeBSD, but likely isn't well-tested.

FreeBSD is the only officially supported BSD system. The auto tester runs tests on both 32bit and 64bit FreeBSD so it should be well tested.

http://d.puremagic.com/test-results/

-- 
/Jacob Carlborg
November 11, 2013
On 11/11/13 8:15 AM, Joakim wrote:
> On Sunday, 10 November 2013 at 16:49:18 UTC, Tyro[17] wrote:
>> This happened on OpenBSD, FreeBSD and DragonFlyBSD. I am running the 64bit version of all these
>> operating systems. Which actually might be the problem now that I think about it. Does DMD even
>> support the 64bit version  of Free/OpenBSD?
>
> Oh, I should mention also, that there isn't general BSD support in D.  Try grepping for freebsd in
> the source.  I just tried it on the source in the 2.063.2 zip file and I got 510 hits for freebsd,
> 181 hits for openbsd, and 2 hits for dragonfly.  By comparison, I got 685 hits for linux.  That
> should give you a crude but reasonable idea of how well-supported each OS is.  As for 64-bit, I
> believe it should work on FreeBSD, but likely isn't well-tested.

https://d.puremagic.com/test-results/?projectid=1

FreeBSD/32 and FreeBSD/64 are both tested just as much as the rest of the platforms.  That said, I'm sure that neither gets the same level of usage from the community as linux or win32.
« First   ‹ Prev
1 2