> > > Hello, > > > > I want to compile ltx2rtf on a debian machine, but the make fails. However, > > it > > works on a redhat 6.2, but the binary file Segm-Faults on debian 2.2. Did > > someone have an idea on the way to get it work on debian ? Is it a problem > > of > > gcc version ? > > how does the compile fail? more then likely your missing a -dev > package with a needed header file. >
Which package may be missing ? "dpkg -l | grep dev" gives : ii dpkg-dev 1.6.15 Package building tools for Debian ii dvi2tty 5.1-13 Previewing dvi-files on text-only devices ii fbset 2.1-6 Framebuffer device maintenance program. ii jdk1.1-dev 1.1.8v1-3 JDK 1.1.x (Java Development Kit) ii libc6-dev 2.2-1 GNU C Library: Development Libraries and Hea ii libdb2-util 2.4.14-2.7.7.1 The Berkeley database routines (development ii makedev 2.3.1-46.2 Creates special device files in /dev. ii psptools 1.2.2-3 Tools for PostScript printers and devices ii tetex-dev 1.0.6-7 kpathsea.a and include files for teTeX ii xlib6g-dev 3.3.6-11potato include files and libraries for X client dev The make log is below : hathout:~/ltx2rtf/src-gcc>make -f makefile.lnx rm -f main.o gcc -g -funsigned-char -c fonts.c -o fonts.o gcc -g -funsigned-char -c cdirect.c -o cdirect.o gcc -g -funsigned-char -c commands.c -o commands.o gcc -g -funsigned-char -c stack.c -o stack.o gcc -g -funsigned-char -c funct1.c -o funct1.o gcc -g -funsigned-char -c funct2.c -o funct2.o gcc -g -funsigned-char -c ignore.c -o ignore.o gcc -g -funsigned-char -DLIBDIR=\"/usr/local/lib/ltx2rtf\" -c main.c -o main.o main.c: In function `Convert': main.c:491: invalid operands to binary == make: *** [main.o] Error 1 The faulty operation is FPOS_EQ defined as #if defined (_POSIX_) # define FPOS_EQ(p1, p2) ((p1) == (p2)) #else /* _POSIX_ */ # if !__STDC__ && _INTEGRAL_MAX_BITS >= 64 # define FPOS_EQ(p1, p2) ((p1) == (p2)) # else # define FPOS_EQ(p1, p2) \ ((p1).lopart == (p2).lopart \ && (p1).hipart == (p2).hipart) # endif #endif /* _POSIX_ */ #else #define FPOS_EQ(p1, p2) ((p1) == (p2)) #endif and only used in this fragment of main.c if (FPOS_EQ(pos1, pos2)) /* no RTF output */ { if (cLast == '\n') cThis = '\n'; else cThis = ' '; } break; }