Archived
This forum has been archived. Please start a new discussion on GitHub.
Package zeroc-ice for debian
Hi,
when I began using Ice, I downloaded, compiled and installed the source distributions for my debian. Now I have reinstalled all with the help of apt, and now I have a problem compiling my old applications and all the demos. Before the reinstallation, I hadn't problems compiling them with "make", but after it (specilly after I installed the package zeroc-ice) , I get an error that said that there is no rules to build the objective 'Clases.cpp' ... Clases.cpp should be generated from my slice definition Clases.ice. I have taken the Makefile provided in the demos as reference, and I import into my Makefiles the Make.rules provided in Ice-3.1.1/config
I don't know what changes should I do to fix this problem, could you help me??
Thanks in advance for your time
when I began using Ice, I downloaded, compiled and installed the source distributions for my debian. Now I have reinstalled all with the help of apt, and now I have a problem compiling my old applications and all the demos. Before the reinstallation, I hadn't problems compiling them with "make", but after it (specilly after I installed the package zeroc-ice) , I get an error that said that there is no rules to build the objective 'Clases.cpp' ... Clases.cpp should be generated from my slice definition Clases.ice. I have taken the Makefile provided in the demos as reference, and I import into my Makefiles the Make.rules provided in Ice-3.1.1/config
I don't know what changes should I do to fix this problem, could you help me??
Thanks in advance for your time
0
Comments
-
Hi,
Note that we don't support the debian packages, you should check with the package maintainer if you have any issues with these packages. In any case, you should provide more information on your issue. It's difficult to say what could be wrong without more information. What Ice version do you use? What is the exact error message?
It sounds like the build rule for your Slice files isn't found. This could be because the slice2cpp translator isn't found. Setting ICE_HOME to /usr might help (assuming Ice is installed in /usr).
Cheers,
Benoit.0 -
The slice2cpp is found, that isn't the problem. The exact error message is (translated from spanish):
make: *** There in no rules to build the objective 'Clases.cpp', needed for 'all'. Stop.
As I said, Clases.cpp should be generated from the slice definition Clases.ice. I am using the version 3.1.1. This is the Makefile I am using:top_srcdir = /home/fergarcia/Desktop/ICE/Ice-3.1.1
DATASTORER = dataStorer
GESTOR = gestor
EMULADORDRUPAL = emuladorDrupal
TARGETS = $(GESTOR) $(DATASTORER) $(EMULADORDRUPAL)
OBJS = Clases.o \
Getter.o \
SubUnGestor.o \
TC65Operations.o \
RegisterSession.o \
Storer.o \
Drupal.o \
Connectivity.o
GEOBJS = Gestor.o \
Database_RF.o \
RegisterSessionI.o \
DrupalI.o \
SessionGlacier.o \
ConnectivityI.o
DSOBJS = DataStorer.o \
Database_RF.o \
StorerI.o \
SubUnGestorI.o
EDOBJS = EmuladorDrupal.o \
SRCS = $(OBJS:.o=.cpp) \
$(DSOBJS:.o=.cpp) \
$(GEOBJS:.o=.cpp) \
$(EDOBJS:.o=.cpp)
SLICE_SRCS = Clases.ice \
Getter.ice \
SubUnGestor.ice \
RegisterSession.ice \
TC65Operations.ice \
Drupal.ice \
Storer.ice \
Connectivity.ice
include $(top_srcdir)/config/Make.rules
LIBLITE=/usr/include/librflite2
CPPFLAGS := -I. -g $(CPPFLAGS) -Iinclude -I$(LIBLITE) -I/usr/include/freetype2 `pkg-config --cflags glib-2.0`
LIBS := -lGlacier2 -lrflite2 -lILUT -lIL -lILU -lGL -lGLU -lglut -lfreetype -lalut -lIceStorm -ldl $(LIBS) `pkg-config --libs glib-2.0 gthread-2.0`
$(GESTOR): $(OBJS) $(GEOBJS)
$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(GEOBJS) $(LIBS) -lmysqlclient -lIceSSL $(OPENSSL_LIBS)
$(DATASTORER): $(OBJS) $(DSOBJS)
$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(DSOBJS) $(LIBS) -lmysqlclient
$(EMULADORDRUPAL): $(OBJS) $(EDOBJS)
$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(EDOBJS) $(LIBS)
clean ::
rm -f *~
The problem is that if I uninstall the zeroc-ice package, I haven't problems compiling it with make. With the package installed I only have problems with the slice definitions; if I compile them by hand, I can do the make normally.
Thanks0 -
Note that build system issues are a bit beyond the support we can provide on the forums, especially if you use an unsupported distribution . I still suspect this error indicates that the slice2cpp translator can't be found by the build system (even if it's in your PATH).
You should review your Make.rules file and see if the SLICE2CPP and SLICEPARSERLIB macros are correctly set. If slice2cpp is in your PATH, you could simply set SLICE2CPP to "slice2cpp" and set SLICEPARSERLIB to an empty value.
Cheers,
Benoit.0 -
Thanks for your help, I will notice you if I fix this problem.0
-
Hello fgarcia! Have you tried to generate Classes.cpp manually (slice2cpp -I/usr/share/slice File.ice --output-dir generated), and then to type 'make'. I also use Debian and I have no problems. Here you are an example of one of my makefiles:
CXXFLAGS=-Igenerated -I. -I/usr/include LDFLAGS=-L/usr/lib LDLIBS=-lIce -IceUtil all: Server Client Server.o: generated/HolaMundo.cpp Server.cpp Client.o: generated/HolaMundo.cpp Client.cpp Server: generated/HolaMundo.o Server.o Client: generated/HolaMundo.o Client.o generated/%.h generated/%.cpp: ../../slice/%.ice slice2cpp --output-dir generated -I/usr/share/slice -I../../slice $< run: ./Server clean: rm -rf *.o *~ Server Client
Regards,
David.0 -
Hi David,
I have no problems generating them manually, and then doing "make"; but I would like to use the structure of the Makefile that I have posted. By the moment I will continue compiling them by hand.
Thanks anyway for your help !!0 -
Note that we don't support the debian packages, you should check with the package maintainer if you have any issues with these packages.
I'm the Debian maintainer. Unfortunately I must say that as a Debian maintainer I just handle issues regarding the packages themselves. I do not provide guidance to new developers and I do not provide assistance to novice GNU/unix programmers.
If there is an issue with any Debian package then a bug should be issued against the Debian Bug Tracking System. Otherwise you may just send me a request for a support contract and I will evaluate the conditions.0