|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
D.gnu - DSSS install of gdc-gcc-4.1 fails on OS X
Following the advice in the tutorial videos on the DSSS page, I ran
"dsss net install gdc-gcc-4.1" to get a fresh install of gdc on my
machine. It downloaded and compiled a bunch of stuff, but then errored out:
MLIBS=`/private/tmp/DSSS_gdc-gcc-4.1/4.1/gcc-4.1.2/build/./gcc/xgcc
-B/private/tmp/DSSS_gdc-gcc-4.1/4.1/gcc-4.1.2/build/./gcc/
-B/Users/d/d/i386-apple-darwin8.10.1/bin/
-B/Users/d/d/i386-apple-darwin8.10.1/lib/ -isystem
/Users/d/d/i386-apple-darwin8.10.1/include -isystem
/Users/d/d/i386-apple-darwin8.10.1/sys-include --print-multi-lib \
| sed -e 's/;.*$//' -e '/^\.$/d' -e 's/^/_/'` ; \
for mlib in '' $MLIBS ; do \
strip -o libgcc_s.10.4.dylib_T${mlib} \
-s ../../gcc/config/i386/darwin-libgcc.10.4.ver -c -u \
libgcc_s${mlib}.1.dylib || exit 1 ; \
done
strip: can't open file:
/private/tmp/DSSS_gdc-gcc-4.1/4.1/gcc-4.1.2/build/gcc/libgcc_s.1.dylib
(No such file or directory)
make[2]: *** [libgcc_s.10.4.dylib] Error 1
make[1]: *** [all-gcc] Error 2
make: *** [all] Error 2
+ exit 1
Command ./dsssgdc returned with code 256, aborting.
Is this a known issue on OS X? Is installing gdc using DSSS only
supported under Linux? If this problem is something new, I'll be happy
to provide any information that'll help diagnose the problem; just let
me know what's useful.
Also, I note with some suspicion that it thinks it's building for the
i386 architecture, when in fact it should be i686 -- probably not a huge
difference but I assume the i686 target would generate different code to
take advantage of new instructions, etc. I'm happy to live with i386 for
now if I can get it to work at all.
I had previously downloaded an OS X installer for gdc, which worked (and
is how I got a DSSS binary) but it installed itself in /usr and I'd
rather install in a user account for now so I can easily package up the
environment and copy it to other machines.
Thanks for any advice anyone can give me!
Sep 21 2007
Steven Grimm wrote:Is this a known issue on OS X? Is installing gdc using DSSS only supported under Linux? If this problem is something new, I'll be happy to provide any information that'll help diagnose the problem; just let me know what's useful. Sep 22 2007
Anders F Björklund wrote:Beyond the fact that you can install it to a different prefix, you can get the tarball version at http://dgcc.sourceforge.net/ Sep 22 2007
Steven Grimm wrote:I had tried specifying an alternate prefix from the installer, but gdc didn't work; when I tried to compile anything, I'd get object.d: module object cannot read file 'object.d' I just tried again, ran gdc under ktrace (OS X's strace equivalent, more or less) and tracked down the problem: the installer needs to create an additional directory when you're not installing in /usr. $ mkdir -p <install base>/lib/gcc/i686-apple-darwin8/4.0.1 fixed the problem for me. The root cause is that gdc uses <prefix>/lib/gcc/i686-apple-darwin8/4.0.1/../../../../include/d/4.0.1 as the default include directory; if the directory structure under /lib doesn't exist, it can't find its include files. If you install in /usr, that directory already exists, so everything works. Sep 22 2007
|