Title: Re: [Fink-devel] tetex upgrade problems
Dear Finkers,

I've been lurking on the list for a while because I have been working on trying to get a number of packages ported over to fink and am having some difficulties (along with some success), and was hoping that someone could help.

Basically, I'm trying to make available to fink a group of three packages that include 1) Regina, a rexx language interpreter for unix. Rexx might be described as a language that has the string manipulation features of perl with the syntax of TCL.   2) PDCurses, a X11 library extension to ncurses which allows for some nifty stuff, like mouse-click cursor positioning for curses-based programs running under x11.  and 3) THE (The Hessling Editor), which is a unix clone of what is IHMO the best text-editor ever written, IBM's xedit for cms/vm systems.  The three projects go together, in that THE uses Regina as its scripting language, and uses (optionally) PDCurses for its display under X11.  I have regina working just fine, and I  have THE working with ncurses,  so the program runs in a standard text window just fine.

The real sticking point is PDCurses, which I suspect would be very broadly useful for a lot of different things....I believe you can link (for example) lynx to it and thus be able to navigate with the mouse under X11 (when available) and well, use the keyboard when not.  PDcurses could also be cool for using things like wcd, a handy directory navigation tool:  http://www.xs4all.nl/~waterlan/ .    (Obviously, bringing an 'alternative' curses library into fink has its own issues, to which I would defer to those much more knowledgeable than I, but that concern is down the road)

Right now, however, its a practical compilation issue concerning PDCurses that I would like to ask for advice about.  Basically, I've got the finkinfo script for pdcurses working to the point where it downloads the file and compiles up to a point where it chokes on its demo files.

When I compile it manually, it goes through the configure process and all, but I ultimately I receive the following error:


gcc ptest.o -o ptest -L../panel -lpanel -L../pdcurses -lXCurses     -L/usr/X11R6/lib -lXaw -lXmu -lXt -lX11 -lSM -lICE -lXext  
ld: ../pdcurses/libXCurses.a(initscr.o) illegal reference to symbol: _acs_map defined in indirectly referenced dynamic library /usr/lib/libncurses.5.dylib
make[1]: *** [ptest] Error 1
make: *** [all] Error 2


I've made it far enough my first time around with this that I have a draft finkinfo file.  It looks like this:


Package: PDCurses
Version: 2
Revision: 6
Maintainer: eric
GCC: 3.1
Source: mirror:sourceforge:/pdcurses/%n-%v.%r.tar.gz
Source-MD5: a376c91c7fdfa0215f4c22024ca325f1
SetCPPFLAGS: -no-cpp-precomp
ConfigureFlags:  --prefix=/sw
Configurescript: configure %c
make pdcurses
InstallScript: make install DESTDIR=%d
DocFiles:  README.* 
Description: pdcurses, an XCurses library
DescDetail: <<
PDCurses is an implementation of the curses library for X11. It provides
the ability for existing text-mode curses programs to be re-built as
native X11 applications with very little modification.
PDCurses for X11 is also known as XCurses.
For more information on PDCurses, visit http://www.lightlink.com/hessling/
<<
DescPackaging:
License: GPL
Homepage: http://www.lightlink.com/hessling/


When I put that in my local directory as 'PDCurses.info' and type

fink install PDCurses

I receive the following error:

cd pdcurses; make  all
gcc -dynamiclib -install_name=libXCurses.dylib  -o libXCurses.dylib addch.sho addchstr.sho addstr.sho attr.sho beep.sho bkgd.sho border.sho clear.sho color.sho delch.sho deleteln.sho getch.sho getstr.sho getyx.sho inch.sho inchstr.sho initscr.sho inopts.sho insch.sho insstr.sho instr.sho kernel.sho mouse.sho move.sho outopts.sho overlay.sho pad.sho printw.sho refresh.sho scanw.sho scroll.sho slk.sho termattr.sho terminfo.sho touch.sho util.sho window.sho pdcclip.sho pdcdebug.sho pdcdisp.sho pdcgetsc.sho pdckbd.sho pdcprint.sho pdcscrn.sho pdcsetsc.sho pdcutil.sho pdcwin.sho pdcx11.sho x11curses.sho x11common.sho x11.sho sb.sho ScrollBox.sho
ld: multiple definitions of symbol _Mouse_status
initscr.sho definition of _Mouse_status in section (__DATA,__common)
pdcx11.sho definition of _Mouse_status in section (__DATA,__common)
ld: multiple definitions of symbol _app_data
pdcx11.sho definition of _app_data in section (__DATA,__common)
x11curses.sho definition of _app_data in section (__DATA,__common)
x11common.sho definition of _app_data in section (__DATA,__common)
x11.sho definition of _app_data in section (__DATA,__common)
/usr/bin/libtool: internal link edit command failed
make[1]: *** [libXCurses.dylib] Error 1
make: *** [all] Error 2


Ok, so I admit that I'm really a newbie with all of this, and I don't entirely understand why I'm receiving two different error messages, or where the problem lies.  I thought for a while it was a name-space error, and also thought that it was an issue with apple's x11 set up. 

What is very peculiar is that if you look up at the first error message (via a manual compile), the error seems to come in from the compile getting its hands on the ncurses.5.dylib in /usr/lib/   Further messing around on my part made me temporarily rename that file and make a symbolic link to the same named file in /sw/lib.  That allowed me to finish the make manually, but led me to being stumped.....I just don't understand enough about the fink (and Darwin) build system to craft the right flags to guide the compile to fink's copy of ncurses.  


Can anyone offer some advice?   I thought the pdcurses library might be sufficiently useful that this may be worth the effort of some more experienced hand.  I apologize in advance if anything here seems really uninformed....I looked through the Faq's as best I could, but see nothing that I could avail myself of.

best,


Eric Oberle


-- 


Reply via email to