which simply checks for the tn5250_terminal_init() function in the library
lib5250.so as found by ld.  If the linker can't find lib5250 you may need
to either edit /etc/ld.so.conf or set LD_LIBRARY_PATH to point to the
location where you installed lib5250.

I don't have an /etc/ld.so.conf (I'm not running Linux). Setting LD_LIBRARY_PATH did not help. I can, however, do the following:

setenv LDFLAGS -L/usr/local/lib
setenv CFLAGS -I/usr/local/include

Once I've done that, your configure script will find my libraries. BUT, the point behind having a ./configure script is that it'll be able to work on all systems. If you wanted it to only work on Linux, you could simply write a Makefile and not bother with all of the auto-configure stuff.

What's why we were using pkg-config. So that we didn't have to manually tell gtk-5250 and x5250 all of the flags that it needed to compile!

Next problem.  When I try to compile x5250, this is what happens:

Making all in src
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/usr/local/etc\" -I../bitmaps -I/usr/X11R6/include -DDATADIR=\"/usr/local/share\" -I/usr/local/include -MT alloccolors.o -MD -MP -MF ".deps/alloccolors.Tpo" -c -o alloccolors.o alloccolo rs.c; then mv -f ".deps/alloccolors.Tpo" ".deps/alloccolors.Po"; else rm -f ".d
eps/alloccolors.Tpo"; exit 1; fi
In file included from /usr/local/include/tn5250.h:33,
                 from x5250.h:34,
                 from alloccolors.c:26:
/usr/local/include/tn5250/utility.h:36: error: syntax error before '!' token
In file included from /usr/local/include/tn5250.h:36,
                 from x5250.h:34,
                 from alloccolors.c:26:
/usr/local/include/tn5250/field.h:80: error: syntax error before "Tn5250Uint16"
In file included from /usr/local/include/tn5250.h:41,
                 from x5250.h:34,
                 from alloccolors.c:26:
/usr/local/include/tn5250/stream.h:84: error: syntax error before "SOCKET_TYPE" /usr/local/include/tn5250/stream.h:99: error: syntax error before "SOCKET_TYPE" /usr/local/include/tn5250/stream.h:129: error: syntax error before "masterSock"
In file included from /usr/local/include/tn5250.h:45,
                 from x5250.h:34,
                 from alloccolors.c:26:
/usr/local/include/tn5250/terminal.h:151: error: syntax error before "SOCKET_TYPE"
In file included from /usr/local/include/tn5250.h:47,
                 from x5250.h:34,
                 from alloccolors.c:26:
/usr/local/include/tn5250/printsession.h:55: error: syntax error before "SOCKET_TYPE"
*** Error code 1

Stop in /usr/home/klemscot/tn5250cvs/x5250-0.5.2-pre3/src.
*** Error code 1

Stop in /usr/home/klemscot/tn5250cvs/x5250-0.5.2-pre3.
*** Error code 1

Stop in /usr/home/klemscot/tn5250cvs/x5250-0.5.2-pre3.


I took a look at the first error in this list (line 36 of the utility.h file) and this is what I find:

#if SIZEOF_SHORT == 2
typedef unsigned short Tn5250Uint16;
typedef signed short Tn5250Sint16;
#elif SIZEOF_INT == 2
typedef unsigned int Tn5250Uint16;
typedef signed int Tn5250Sint16;
#else
   ACK!  Need a 16-bit type!
#endif

the word "ACK!" is on line 36. The problem is that nothing has defined the SIZEOF_SHORT macro prior to this #include file. When lib5250 is built, there's a file called config.h that has the definition of this macro in it -- so lib5250 builds without any problems.

However, x5250's config.h doesn't have this macro defined, so it won't build. It's not clear to me whether this belongs in x5250's config.h file, or if the one from tn5250 should be in /usr/local/include/tn5250 and made a part of tn5250.h?

The other errors seem to be caused by the same problem -- there's no definition for symbols that ARE defined in config.h in the main tn5250 branch.

I find myself wanting to blame the main tn5250 build for this error rather than x5250, since I'd assume that ANY project that wanted to link with lib5250 would run into these same errors.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.