[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ltx2rtf compiles on RedHat 6.2 but not on debian 2.2



> 
> > 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;
              }



Reply to: