www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Gdmd compiling error

reply Orkhan <pirokinetik live.ru> writes:
Hello. I need your help !

I am struggling to compile and install ca Xcom server files which 
is using gdmd .
It is in linux system , and when I type make command it returns 
error like:
/bin/sh: 1: gdmd: not found
Makefile:35: recipe for target 'protocol-daemon' failed
make: ***[protocol-daemon] Error 127

I am in linux Ubuntu. The Makefile file is like that :

DFLAGS_DEBUG=-debug=2 -g -Isrc
DFLAGS_DEBUG1=-debug=1 -g -Isrc
DFLAGS=-O -inline -Isrc

PROTOCOL_SRC=src/misc_util.d src/socket_base.d 
src/xcomm_sockets.d src/msgserver_core.d src/char_outbuffer.d 
src/logging.d src/xml_util.d src/plugins.d src/xcomm_protocol/*.d 
src/stork/*.d src/stork/*/*.d
PROTOCOL_LIBS=-fPIC -q,-rdynamic -L-ldl
PROTOCOL_OUTPUT=./xcomm
PROTOCOL_FLAGS=-c xcomm.conf

PLUGIN_LIBS=-fPIC -q,-rdynamic,-shared

defaulttarget: protocol-daemon plugins-opt
all: protocol-daemon plugins-opt
distclean: clean

protocol:
	gdmd $(DFLAGS_DEBUG) -op -of$(PROTOCOL_OUTPUT) $(PROTOCOL_SRC) 
$(PROTOCOL_LIBS)
	find . -name "*.o" -print0 | xargs -0 rm -f

protocol-debug1:
	gdmd $(DFLAGS_DEBUG1) -op -of$(PROTOCOL_OUTPUT) $(PROTOCOL_SRC) 
$(PROTOCOL_LIBS)
	find . -name "*.o" -print0 | xargs -0 rm -f

protocol-test: protocol plugins
	$(PROTOCOL_OUTPUT) $(PROTOCOL_FLAGS)

protocol-opt:
	gdmd $(DFLAGS) -op -of$(PROTOCOL_OUTPUT) $(PROTOCOL_SRC) 
$(PROTOCOL_LIBS)
	find . -name "*.o" -print0 | xargs -0 rm -f

protocol-opt-test: protocol-opt plugins-opt
	$(PROTOCOL_OUTPUT) $(PROTOCOL_FLAGS)

protocol-daemon:
	gdmd $(DFLAGS) -version=daemon -op -of$(PROTOCOL_OUTPUT) 
$(PROTOCOL_SRC) $(PROTOCOL_LIBS)
	find . -name "*.o" -print0 | xargs -0 rm -f

daemon-debug:
	gdmd $(DFLAGS_DEBUG) -version=daemon -op -of$(PROTOCOL_OUTPUT) 
$(PROTOCOL_SRC) $(PROTOCOL_LIBS)
	find . -name "*.o" -print0 | xargs -0 rm -f

protocol-debug: protocol plugins
	find . -name "*.o" -print0 | xargs -0 rm -f
	gdb --args $(PROTOCOL_OUTPUT) $(PROTOCOL_FLAGS)

plugins:
	gdmd $(DFLAGS_DEBUG) -op -ofplugins/random.so 
src/plugins/random.d $(PLUGIN_LIBS)
	gdmd $(DFLAGS_DEBUG) -op -ofplugins/game_sets.so 
src/plugins/game_sets.d $(PLUGIN_LIBS)

plugins-opt:
	gdmd $(DFLAGS) -op -ofplugins/random.so src/plugins/random.d 
$(PLUGIN_LIBS)
	gdmd $(DFLAGS) -op -ofplugins/game_sets.so 
src/plugins/game_sets.d $(PLUGIN_LIBS)

clean:
	find . -name "*.o" -print0 | xargs -0 rm -f
	rm -f *.log
	rm -f plugins/*.so
	rm -f src/test_clients/old_n_crufty
	rm -f src/test_clients/scripted
	rm -f src/test_clients/spammer
	rm -f src/test_clients/spammer2
	rm -f $(PROTOCOL_OUTPUT)

backup: distclean
	 if [ ! -e dist ]; then mkdir dist; fi
	tar c . --exclude=CVS --exclude=.svn --exclude=dist | bzip2 -9 > 
dist/xcomm-backup_`date +"%Y-%m-%d_%H%M"`.tar.bz2


dist: distclean
	 if [ "$(DISTVER)" = "" ]; then echo DISTVER not set - please 
set it to 1.0 or similar.; echo; exit 1; fi
	 if [ ! -e dist ]; then mkdir dist; fi
	tar c . --exclude=CVS --exclude=.svn --exclude=dist 
--exclude=debug.conf | bzip2 -9 > dist/xcomm-$(DISTVER).tar.bz2

.PHONY: protocol protocol-test protocol-opt protocol-opt-test 
protocol-daemon protocol-debug plugins plugins-opt clean dist 
distclean backup all defaulttarget
.NOTPARALLEL:
Mar 13 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/13/2016 06:07 AM, Orkhan wrote:

 It is in linux system , and when I type make command it returns error 
like:
 /bin/sh: 1: gdmd: not found
I think you need to install gdmd: https://github.com/D-Programming-GDC/GDMD Alternatively, assuming that you have dmd installed, you can try replacing gdmd with dmd in your Makefile. Ali
Mar 14 2016
parent reply Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 07:52:18 UTC, Ali Çehreli wrote:
 On 03/13/2016 06:07 AM, Orkhan wrote:

 It is in linux system , and when I type make command it
returns error like:
 /bin/sh: 1: gdmd: not found
I think you need to install gdmd: https://github.com/D-Programming-GDC/GDMD Alternatively, assuming that you have dmd installed, you can try replacing gdmd with dmd in your Makefile. Ali
I changed all gdmd to dmd and still not getting result . the outputs after changing dmd is : dmd -O -inline -Isrc -version=daemon -op -of./xcomm src/misc_util.d src/socket_base.d src/xcomm_sockets.d src/msgserver_core.d src/char_outbuffer.d src/logging.d src/xml_util.d src/plugins.d src/xcomm_protocol/*.d src/stork/*.d src/stork/*/*.d -fPIC -q,-rdynamic -L-ldl Error: unrecognized switch '-q,-rdynamic' Makefile:35: recipe for target 'protocol-daemon' failed make: *** [protocol-daemon] Error 1 the all server files are in here : http://www.speedyshare.com/6y4Tv/47d2b57d/xcom.zip could you please check . Thanks in advance.
Mar 14 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/14/2016 02:01 AM, Orkhan wrote:

 I changed all gdmd to dmd and still not getting result . the outputs
 after changing dmd is :
 Error: unrecognized switch '-q,-rdynamic'
Sorry to have misled you. Apparently, those are gcc compiler switches that are not supported by dmd.
 On Monday, 14 March 2016 at 07:52:18 UTC, Ali Çehreli wrote:
 I think you need to install gdmd:

   https://github.com/D-Programming-GDC/GDMD
That's the only solution then. Ali
Mar 14 2016
parent reply Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 09:06:30 UTC, Ali Çehreli wrote:
 On 03/14/2016 02:01 AM, Orkhan wrote:

 I changed all gdmd to dmd and still not getting result . the
outputs
 after changing dmd is :
 Error: unrecognized switch '-q,-rdynamic'
Sorry to have misled you. Apparently, those are gcc compiler switches that are not supported by dmd.
 On Monday, 14 March 2016 at 07:52:18 UTC, Ali Çehreli wrote:
 I think you need to install gdmd:

   https://github.com/D-Programming-GDC/GDMD
That's the only solution then. Ali
Yes I have seen that page. But I don't know how to make that . I think I need to upload all files then unzip then just type make ? could you please let me know. Thanks.
Mar 14 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/14/2016 02:15 AM, Orkhan wrote:

 I think you need to install gdmd:

   https://github.com/D-Programming-GDC/GDMD
 Yes I have seen that page. But I don't know how to make that . I think I
 need to upload all files then unzip then just type make ? could you
 please let me know. Thanks.
1) Click [ Download ZIP ] to download all files 2) Unzip in some directory 3) Goto GDMD-master under that directory, e.g. $ cd ~/GDMD-master/ 4) make install under that directory as super user $ sudo make install Of course, gdmd relies on gdc, which you may have to install separately: http://dlang.org/download.html Ali
Mar 14 2016
parent reply Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 09:24:19 UTC, Ali Çehreli wrote:
 On 03/14/2016 02:15 AM, Orkhan wrote:

 I think you need to install gdmd:

   https://github.com/D-Programming-GDC/GDMD
 Yes I have seen that page. But I don't know how to make that . 
 I think I
 need to upload all files then unzip then just type make ? 
 could you
 please let me know. Thanks.
1) Click [ Download ZIP ] to download all files 2) Unzip in some directory 3) Goto GDMD-master under that directory, e.g. $ cd ~/GDMD-master/ 4) make install under that directory as super user $ sudo make install Of course, gdmd relies on gdc, which you may have to install separately: http://dlang.org/download.html Ali
Thank you for your answer. I have done what you said exactly . The output is like that : rm -f /usr/local/bin/gdmd install dmd-script /usr/local/bin/gdmd rm -f /usr/local/share/man/man1/gdmd.1 install -m 644 dmd-script.1 /usr/local/share/man/man1/gdmd.1 install: cannot create regular file ‘/usr/local/share/man/man1/gdmd.1’: No such file or directory Makefile:41: recipe for target '/usr/local/share/man/man1/gdmd.1' failed make: [/usr/local/share/man/man1/gdmd.1] Error 1 (ignored)
Mar 14 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/14/2016 02:29 AM, Orkhan wrote:


 rm -f /usr/local/bin/gdmd
 install dmd-script /usr/local/bin/gdmd
Good: gdmd seems to be installed. Please type 'gdmd' to confirm. Note: You may see errors like 'Can't exec "/usr/local/bin/gdc":' but that's a separate issue, which will be resolved by installing gdc.
 rm -f /usr/local/share/man/man1/gdmd.1
 install -m 644 dmd-script.1 /usr/local/share/man/man1/gdmd.1
 install: cannot create regular file ‘/usr/local/share/man/man1/gdmd.1’:
 No such file or directory
Luckily, that seems to be a problem with the man page for this tool. I presume the installation assumes a certain directory hierarchy which is not present on your system. You can ignore that error. You may want to create a bug report on gdmd's project page at github. Ali
Mar 14 2016
parent reply Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 09:48:00 UTC, Ali Çehreli wrote:
 On 03/14/2016 02:29 AM, Orkhan wrote:


install
 rm -f /usr/local/bin/gdmd
 install dmd-script /usr/local/bin/gdmd
Good: gdmd seems to be installed. Please type 'gdmd' to confirm. Note: You may see errors like 'Can't exec "/usr/local/bin/gdc":' but that's a separate issue, which will be resolved by installing gdc.
 rm -f /usr/local/share/man/man1/gdmd.1
 install -m 644 dmd-script.1 /usr/local/share/man/man1/gdmd.1
 install: cannot create regular file
‘/usr/local/share/man/man1/gdmd.1’:
 No such file or directory
Luckily, that seems to be a problem with the man page for this tool. I presume the installation assumes a certain directory hierarchy which is not present on your system. You can ignore that error. You may want to create a bug report on gdmd's project page at github. Ali
Thank you for your answer. THe output like that : Can't exec "/usr/local/bin/gdc": No such file or directory at /usr/local/bin/gdmd line 236. Use of uninitialized value $gcc_version in scalar chomp at /usr/local/bin/gdmd line 237. Use of uninitialized value $gcc_version in pattern match (m//) at /usr/local/bin/gdmd line 238. Can't exec "/usr/local/bin/gdc": No such file or directory at /usr/local/bin/gdmd line 523. What should I do make the dir which mentioned or ? Thkanks
Mar 14 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/14/2016 02:56 AM, Orkhan wrote:

 THe output like that :

 Can't exec "/usr/local/bin/gdc": No such file or directory at
Ok, now you need to install gdc: http://gdcproject.org/downloads In short, the project that you are trying to build depends on gdmd, which is a dmd-like interface to gdc, which needs to be installed on your system. Ali
Mar 14 2016
parent reply Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 11:11:28 UTC, Ali Çehreli wrote:
 On 03/14/2016 02:56 AM, Orkhan wrote:

 THe output like that :

 Can't exec "/usr/local/bin/gdc": No such file or directory at
Ok, now you need to install gdc: http://gdcproject.org/downloads In short, the project that you are trying to build depends on gdmd, which is a dmd-like interface to gdc, which needs to be installed on your system. Ali
Dear Ali , Thanks for your answer and time. I have tried to install and the output was like that. I gues it is already installed in my linux. isnt it ? Reading package lists... Done Building dependency tree Reading state information... Done gdc is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 180 not upgraded. It is very urgent for me to install the project , I hope will do with your help . Thanks.
Mar 14 2016
parent reply Marc =?UTF-8?B?U2Now7x0eg==?= <schuetzm gmx.net> writes:
On Monday, 14 March 2016 at 14:46:06 UTC, Orkhan wrote:
 On Monday, 14 March 2016 at 11:11:28 UTC, Ali Çehreli wrote:
 On 03/14/2016 02:56 AM, Orkhan wrote:

 THe output like that :

 Can't exec "/usr/local/bin/gdc": No such file or directory at
Ok, now you need to install gdc: http://gdcproject.org/downloads In short, the project that you are trying to build depends on gdmd, which is a dmd-like interface to gdc, which needs to be installed on your system. Ali
Dear Ali , Thanks for your answer and time. I have tried to install and the output was like that. I gues it is already installed in my linux. isnt it ? Reading package lists... Done Building dependency tree Reading state information... Done gdc is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 180 not upgraded. It is very urgent for me to install the project , I hope will do with your help . Thanks.
What does `which gdc` print? If it says something like "which: no gdc in ...", there is a problem with the installation of GDC. Otherwise, you can use the following as a quick workaround: sudo ln -s `which gdc` /usr/local/bin/gdc The proper solution is to find out why gdmd insists on using that non-existing path instead of relying on $PATH lookup, and fix it.
Mar 14 2016
next sibling parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/14/2016 10:08 AM, Marc Schütz wrote:

 What does `which gdc` print? If it says something like "which: no gdc in
 ...", there is a problem with the installation of GDC. Otherwise, you
 can use the following as a quick workaround:

      sudo ln -s `which gdc` /usr/local/bin/gdc

 The proper solution is to find out why gdmd insists on using that
 non-existing path instead of relying on $PATH lookup, and fix it.
Apparently, gdmd expects gdc to be in the same directory as itself. Once Orkhan finds out where gdc is on the system, the following should work: $ sudo ln -s /home/acehreli/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gdc /usr/local/bin/gdc Orkhan, replace /home/acehreli/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gdc with the gdc binary that you have. e.g. if it's under /usr/bin, then do the following: $ sudo ln -s /usr/bin/gdc /usr/local/bin/gdc Ali P.S. I've just installed gdc after downloading it from its download site ( http://gdcproject.org/downloads ) with the following two commands: unxz the_file_you_downloaded tar xvf the_file_you_unxzipped Those commands created the following directory in my case. /home/acehreli/x86_64-pc-linux-gnu That's why my gdc is named /home/acehreli/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gdc above.
Mar 14 2016
parent Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 18:13:33 UTC, Ali Çehreli wrote:
 On 03/14/2016 10:08 AM, Marc Schütz wrote:

 What does `which gdc` print? If it says something like
"which: no gdc in
 ...", there is a problem with the installation of GDC.
Otherwise, you
 can use the following as a quick workaround:

      sudo ln -s `which gdc` /usr/local/bin/gdc

 The proper solution is to find out why gdmd insists on using
that
 non-existing path instead of relying on $PATH lookup, and fix
it. Apparently, gdmd expects gdc to be in the same directory as itself. Once Orkhan finds out where gdc is on the system, the following should work: $ sudo ln -s /home/acehreli/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gdc /usr/local/bin/gdc Orkhan, replace /home/acehreli/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gdc with the gdc binary that you have. e.g. if it's under /usr/bin, then do the following: $ sudo ln -s /usr/bin/gdc /usr/local/bin/gdc Ali P.S. I've just installed gdc after downloading it from its download site ( http://gdcproject.org/downloads ) with the following two commands: unxz the_file_you_downloaded tar xvf the_file_you_unxzipped Those commands created the following directory in my case. /home/acehreli/x86_64-pc-linux-gnu That's why my gdc is named /home/acehreli/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gdc above.
After Marc's message I created symbolic link and now it is in the usr/local/bin . please look the output : ddemangle dman dmd dmd.conf dumpobj gdc gdmd obj2asm rdmd You see there is gdc after the command : sudo ln -s /usr/bin/gdc /usr/local/bin/gdc still when I run command Make it returns the same error. could you please test the make file as well if you already installed the gdc and gdmd . I have put the link it is not too big , I just need the xcomm being installed . Kind Regards
Mar 15 2016
prev sibling next sibling parent reply Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 17:08:24 UTC, Marc Schütz wrote:
 On Monday, 14 March 2016 at 14:46:06 UTC, Orkhan wrote:
 On Monday, 14 March 2016 at 11:11:28 UTC, Ali Çehreli wrote:
 On 03/14/2016 02:56 AM, Orkhan wrote:

 THe output like that :

 Can't exec "/usr/local/bin/gdc": No such file or directory 
 at
Ok, now you need to install gdc: http://gdcproject.org/downloads In short, the project that you are trying to build depends on gdmd, which is a dmd-like interface to gdc, which needs to be installed on your system. Ali
Dear Ali , Thanks for your answer and time. I have tried to install and the output was like that. I gues it is already installed in my linux. isnt it ? Reading package lists... Done Building dependency tree Reading state information... Done gdc is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 180 not upgraded. It is very urgent for me to install the project , I hope will do with your help . Thanks.
What does `which gdc` print? If it says something like "which: no gdc in ...", there is a problem with the installation of GDC. Otherwise, you can use the following as a quick workaround: sudo ln -s `which gdc` /usr/local/bin/gdc The proper solution is to find out why gdmd insists on using that non-existing path instead of relying on $PATH lookup, and fix it.
output of the gdc is : gdc: fatal error: no input files compilation terminated. the output of the - sudo ln -s `which gdc` /usr/local/bin/gdc : `which gdc` /usr/local/bin/gdc if you have already installed the gdmd could you please try to compile make file which I put a download link in my previous posts. Thanks.
Mar 15 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 03/15/2016 02:45 AM, Orkhan wrote:
 output of the gdc is  :


 gdc: fatal error: no input files
 compilation terminated.
That makes sense. It should produce an executable if you give it a .d file: gdc foo.d Since you installed gdmd as well, you can get back to the Xcom server files. Have you tried building it now? If that still fails, please open another thread because I don't think I can help you any further with that project and I don't think anybody else is following this thread. :) Ali
Mar 15 2016
parent reply Orkhan <pirokinetik live.ru> writes:
On Tuesday, 15 March 2016 at 18:26:48 UTC, Ali Çehreli wrote:
 On 03/15/2016 02:45 AM, Orkhan wrote:
 output of the gdc is  :


 gdc: fatal error: no input files
 compilation terminated.
That makes sense. It should produce an executable if you give it a .d file: gdc foo.d Since you installed gdmd as well, you can get back to the Xcom server files. Have you tried building it now? If that still fails, please open another thread because I don't think I can help you any further with that project and I don't think anybody else is following this thread. :) Ali
Dear Ali , I am still getting the same error although I installed gdc and gdmd . The command run giving output like below : dmd -O -inline -Isrc -version=daemon -op -of./xcomm src/misc_util.d src/socket_base.d src/xcomm_sockets.d src/msgserver_core.d src/char_outbuffer.d src/logging.d src/xml_util.d src/plugins.d src/xcomm_protocol/*.d src/stork/*.d src/stork/*/*.d -fPIC -q,-rdynamic -L-ldl Error: unrecognized switch '-q,-rdynamic' Makefile:35: recipe for target 'protocol-daemon' failed make: *** [protocol-daemon] Error 1 I don't know where from shpuld I get help. Thanks.
Mar 16 2016
parent reply Edwin van Leeuwen <edder tkwsping.nl> writes:
On Wednesday, 16 March 2016 at 12:17:42 UTC, Orkhan wrote:
 On Tuesday, 15 March 2016 at 18:26:48 UTC, Ali Çehreli wrote:

 I don't know where from shpuld I get help. Thanks.
Is the xcomm library available somewhere, maybe if we had a link to the original documentation we could help.
Mar 16 2016
parent Orkhan <pirokinetik live.ru> writes:
On Wednesday, 16 March 2016 at 12:20:32 UTC, Edwin van Leeuwen 
wrote:
 On Wednesday, 16 March 2016 at 12:17:42 UTC, Orkhan wrote:
 On Tuesday, 15 March 2016 at 18:26:48 UTC, Ali Çehreli wrote:

 I don't know where from shpuld I get help. Thanks.
Is the xcomm library available somewhere, maybe if we had a link to the original documentation we could help.
thanks for your answer. the original unpacked project is in the link below : http://www.speedyshare.com/6y4Tv/47d2b57d/xcom.zip you can find the installation inside of the doc file . that is the only source of the project. In general it should not be difficult but I can not understand why it makes a problem . It is so important for me . .
Mar 16 2016
prev sibling parent Orkhan <pirokinetik live.ru> writes:
On Monday, 14 March 2016 at 17:08:24 UTC, Marc Schütz wrote:
 On Monday, 14 March 2016 at 14:46:06 UTC, Orkhan wrote:
 [...]
What does `which gdc` print? If it says something like "which: no gdc in ...", there is a problem with the installation of GDC. Otherwise, you can use the following as a quick workaround: sudo ln -s `which gdc` /usr/local/bin/gdc The proper solution is to find out why gdmd insists on using that non-existing path instead of relying on $PATH lookup, and fix it.
I am sorry for multiple message , the output of the which gdc is : /usr/local/bin/gdc Actually it is because I created symbolic link I guess.
Mar 15 2016