View previous topic :: View next topic |
Author |
Message |
walt kelly
Joined: 13 Jun 2008 Posts: 3
|
Posted: Sat Jun 14, 2008 9:12 pm Post subject: Trying to build gtkD with DSSS and dmd 2.014 (Linux) |
|
|
I read:
Quote: |
Latest Release: Preview 8 (3/28/2008)
A new pre-release of gtkD for DMD 1.028+ is now available: gtkD-pre8.zip
Preview 8 works with both Phobos and Tango, works with both D 1.0 and D 2.0, and is now fully functional with dsss! We will be phasing out compD for those of you who still use it.
|
The DSSS build fails with syntax errors in the phobos library imports. What does it mean "for DMD 1.028+" vs "works with both D 1.0 and D 2.0"?
(BTW, I'm a total newbie to D, and gtkD - I'm wanting to learn by porting a (python / PyQt) program to D /gtkd. )
Code: |
[parz@lobsang gtkD]$ dsss build
undemofy
Command: cd demos
Command: ./demoselect.sh disable-all
+ ./demoselect.sh disable-all
Creating imports for DD-atk
Creating imports for DD-cairo
Creating imports for DD-gdk
Creating imports for DD-gdkpixbuf
Creating imports for DD-glade
Creating imports for DD-glib
Creating imports for DD-gobject
Creating imports for DD-gthread
Creating imports for DD-gtk
Creating imports for DD-gtkc
Creating imports for DD-pango
atk => DD-atk
+ /home/parz/Download/dsss-0.75-dmd-gnuWlinux-x86/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/parz/Download/dsss-0.75-dmd-gnuWlinux-x86/include/d -S/home/parz/Download/dsss-0.75-dmd-gnuWlinux-x86/lib/ -I/home/parz/Download/dsss-0.75-dmd-gnuWlinux-x86/include/d -S/home/parz/Download/dsss-0.75-dmd-gnuWlinux-x86/lib -I/home/parz/d/include/d -S/home/parz/d/lib -oqdsss_objs/D -explicit -lib atk/ValueAtk.d atk/Util.d atk/ObjectFactory.d atk/State.d atk/NoOpObject.d atk/Hypertext.d atk/Selection.d atk/Action.d atk/Image.d atk/Hyperlink.d atk/ObjectAtk.d atk/EditableText.d atk/GObjectAccessible.d atk/Relation.d atk/Text.d atk/Component.d atk/RelationSet.d atk/Document.d atk/Table.d atk/StateSet.d atk/Registry.d atk/NoOpObjectFactory.d atk/StreamableContent.d -oflibDD-atk.a
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(242): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(242): found '=' instead of statement
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(247): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(247): found '=' instead of statement
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(360): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(360): found '=' instead of statement
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(367): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(367): found '=' instead of statement
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(372): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(372): found '=' instead of statement
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(812): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(1040): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(1079): enum declaration is invalid
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/stdio.d(1079): found '=' instead of statement
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(23): enum member expected
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(24): enum member expected
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(25): enum member expected
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(26): enum member expected
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(27): enum member expected
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(28): enum member expected
/home/parz/Download/dmd.2.014/dmd/bin/../src/phobos/std/c/stdio.d(29): enum member expected
Command /home/parz/Download/dsss-0.75-dmd-gnuWlinux-x86/bin/rebuild returned with code 256, aborting.
Error: Command failed, aborting.
[parz@lobsang gtkD]$
|
|
|
Back to top |
|
|
Mike Wey
Joined: 07 May 2007 Posts: 428
|
Posted: Sun Jun 15, 2008 8:39 am Post subject: |
|
|
Quote: | The DSSS build fails with syntax errors in the phobos library imports. |
DSSS does not yet support the new enum introduced in dmd 2.009. i think support for it is in the dsss svn.
Quote: | What does it mean "for DMD 1.028+" |
I think this is a leftover from the time when the D1 branch was fairly unstable and a new version could break a number of things. and added new features with every relese, since then the D1 branch became stable, ie: bug fixes only, and D2 became the new development branch. so now D2 can break the code on a new release.
Quote: | "works with both D 1.0 and D 2.0"? |
GtkD should work with both the D1 (stable) and the D2 (alpha) versions of the D Language. Last time i tested GtkD with D2 was with dmd 2.013. |
|
Back to top |
|
|
walt kelly
Joined: 13 Jun 2008 Posts: 3
|
Posted: Sun Jun 15, 2008 10:50 pm Post subject: |
|
|
Quote: | GtkD should work with both the D1 (stable) and the D2 (alpha) versions of the D Language. Last time i tested GtkD with D2 was with dmd 2.013. |
How did you build gtkD for D2? |
|
Back to top |
|
|
Mike Wey
Joined: 07 May 2007 Posts: 428
|
Posted: Mon Jun 16, 2008 2:02 pm Post subject: |
|
|
You can use the compd scripts.
or a script like this:
Code: | #!/bin/bash
# Build libGtkD.a
cd src
rm -rf obj
mkdir obj
for file in *; do
if [ -d $file ] && [ $file != "build" ] && [ $file != "obj" ]; then
dmd $file/*.d -c
for i in *.o; do mv "$i" "obj/$file.$i"; done
fi
done
ar rc ../libGtkD.a obj/*
cd ..
# Build libGtkDgl.a
cd srcgl
rm -rf obj
mkdir obj
for file in *; do
if [ -d $file ] && [ $file != "obj" ]; then
dmd $file/*.d -I../src -c
for i in *.o; do mv "$i" "obj/$file.$i"; done
fi
done
ar rc ../libGtkDgl.a obj/*
cd ..
# Build libGtkDsv.a
cd srcsv
rm -rf obj
mkdir obj
for file in *; do
if [ -d $file ] && [ $file != "obj" ]; then
dmd $file/*.d -I../src -c
for i in *.o; do mv "$i" "obj/$file.$i"; done
fi
done
ar rc ../libGtkDsv.a obj/* |
|
|
Back to top |
|
|
walt kelly
Joined: 13 Jun 2008 Posts: 3
|
Posted: Wed Jun 18, 2008 9:20 am Post subject: |
|
|
Wonderful! 10 seconds later, it is built. Thanks.
Why not distribute this way? No ever expanding nest of problems installing tools which need tools which have problems which require questions on forums which reveal they wont work with other other things which are needed by yet other things... |
|
Back to top |
|
|
|