www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 22581] New: DMD does not add necessary linker flags on Solaris

https://issues.dlang.org/show_bug.cgi?id=22581

          Issue ID: 22581
           Summary: DMD does not add necessary linker flags on Solaris
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Solaris
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: jkruth telecolumbus.net

Hello,

I tried to build a DMD using DMD on OpenIndiana, a descendant of Solaris.
For this I chose the following procedure:

1. Build gdc
2. use gdc to build dmd from the github master branch (necessary because of
some recent Solaris specific fixes)
3. use dmd to compile druntime and phobos from master branches
4. try to compile dmd using the just compiled dmd

With this approach I got the following output:

gmake -C src -f posix.mak all
gmake[1]: Verzeichnis „/export/home/User/Documents/dmd_freestanding/dmd/src“
wird betreten
posix.mak:42: ===== DEPRECATION NOTICE =====
posix.mak:43: ===== DEPRECATION: posix.mak is deprecated. Please use
src/build.d instead.
posix.mak:44: ==============================
/export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd
-of../generated/build -g build.d
../generated/build OS="solaris" BUILD="release" MODEL="64"
HOST_DMD="/export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd"
CXX="c++" AUTO_BOOTSTRAP="" DOCDIR="" STDDOC="" DOC_OUTPUT_DIR="" MAKE="gmake"
VERBOSE="1" ENABLE_RELEASE="" ENABLE_DEBUG="" ENABLE_ASSERTS=""
ENABLE_UNITTEST="" ENABLE_PROFILE="" ENABLE_COVERAGE="" DFLAGS="" dmd
Run: /export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd
--version
Run: /export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd
-color=on -h
================================================================================
STDDOC=
TOLF=tolf
ENABLE_COVERAGE=
AUTO_BOOTSTRAP=
MODEL=64
ENABLE_UNITTEST=
ROOT=/export/home/User/Documents/dmd_freestanding/dmd/src/dmd/root
DMD_PATH=/export/home/User/Documents/dmd_freestanding/dmd/generated/solaris/release/64/dmd
DETAB=detab
SYSCONFDIR=/etc
GENERATED=/export/home/User/Documents/dmd_freestanding/dmd/generated
VERBOSE=1
EX=/export/home/User/Documents/dmd_freestanding/dmd/src/examples
RES=/export/home/User/Documents/dmd_freestanding/dmd/src/dmd/res
MODEL_FLAG=-m64
CXX=c++
HOST_DMD_KIND=dmd
BUILD=release
MAKE=gmake
GIT_HOME=https://github.com/dlang
OS=solaris
ZIP=zip
HOST_DMD_VERSION=2.098.0
D=/export/home/User/Documents/dmd_freestanding/dmd/src/dmd
PIC_FLAG=-fPIC
COMMON=/export/home/User/Documents/dmd_freestanding/dmd/src/dmd/common
G=/export/home/User/Documents/dmd_freestanding/dmd/generated/solaris/release/64
C=/export/home/User/Documents/dmd_freestanding/dmd/src/dmd/backend
CXX_KIND=g++
DOCDIR=
COVERAGE_FLAG=-cov=ctfe
INSTALL=/export/home/User/Documents/dmd_freestanding/dmd/../install
DOC_OUTPUT_DIR=
ENABLE_ASSERTS=
ENABLE_DEBUG=
HOST_DMD_RUN=/export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd
ENABLE_PROFILE=
TOOLS_DIR=/export/home/User/Documents/dmd_freestanding/tools
HOST_DMD_PATH=/export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd
ENABLE_RELEASE=
GIT=git
DOCSRC=/export/home/User/Documents/dmd_freestanding/dmd/dlang.org
HOST_DMD=/export/home/User/Documents/Gits/dmd/generated/solaris/release/64/dmd
TMP=/tmp/
DFLAGS=-version=MARS -w -de -fPIC -m64
-J/export/home/User/Documents/dmd_freestanding/dmd/generated/solaris/release/64
-I/export/home/User/Documents/dmd_freestanding/dmd/src -dip25 -g -color=on
CXXFLAGS=-Wall -Werror -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -g -fno-exceptions -fno-rtti
-fno-common -fasynchronous-unwind-tables -DMARS=1 -m64 -fPIC
================================================================================
src/rt/dwarfeh.d:330: uncaught exception reached top of stack
This might happen if you're missing a top level catch in your fiber or signal
handler
std.file.FileException /export/home/User/Documents/Gits/dmd/generated/solaris/release/64/../../../../../phobos/std/file.d(1681):
/export/home/User/Documents/dmd_freestanding/dmd/generated/solaris/release/64/VERSION:
No such file or directory
src/rt/dwarfeh.d:330: uncaught exception reached top of stack
This might happen if you're missing a top level catch in your fiber or signal
handler
/bin/sh: 3579: Abort(coredump)
gmake[1]: *** [posix.mak:107: dmd] Abort
gmake[1]: Verzeichnis „/export/home/User/Documents/dmd_freestanding/dmd/src“
wird verlassen
gmake: *** [posix.mak:8: all] Fehler 2

--
Dec 09 2021