On 11/11/13, 11:05 AM, Joakim wrote:
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.

Reason... I had every intention of volunteering to become the so called build master for DMD. I thought it a bit presumptuous to do such a thing without actually knowing how to build the compiler on the supported platforms. I'm using DragonFlyBSD but as far as I know it is 100% source/binary compatible with FreeBSD.

Either way, I've progressed well beyond this point. My current problem is there are a number of undefined references to Port::'et al' in the following files (list abbreviated to remove eliminate all duplicates):

    lexer.c: Port::strtold(char const*, char**)
    lexer.c: Port::strtod(char const*, char**)
    lexer.c: Port::strtof(char const*, char**)

    mars.c: browse(char const*)

    mtype.c: Port::snan
    mtype.c: Port::ldbl_infinity
    mtype.c: Port::ldbl_nan
    mtype.c: Port::ldbl_max

    blockopt.c: util_progress()

    cgelem.c: util_progress()

    constfold.c: Port::fmodl(long double, long double)
    constfold.c: Port::ldbl_nan
    constfold.c: Port::isNan(long double)

    e2ir.c: Port::isSignallingNan(long double)

    expression.c: Port::isNan(long double)
    expression.c: Port::fequal(long double, long double)
    expression.c: Port::strtold(char const*, char**)
    expression.c: Port::isInfinity(double)

    go.c: util_progress()

    inifile.c: Port::strupr(char*)
    inifile.c: Port::memicmp(char const*, char const* int)

    doc.c: Port::memicmp(char const*, char const* int)

    ctfeexpr.c: Port::isNan(long double)

I could start over with FreeBSD now that I know what the problem with that system was. But after installing, configuring and deleting three flavors of BSD for as many times as I did starting on Wednesday of last week, I have no desire to do it again. At least not right now.

--

Andrew Edwards
--------------------
http://www.akeron.co
auto getAddress() {
    string location = "@", period = ".";
    return ("info" ~ location ~ "afidem" ~ period ~ "org");
}

Reply via email to