[comp.sys.hp] Novice question: cannot compile perl pl41 on HP-UX7.0

dhuber@aut.autelca.ascom.ch (Daniel Huber) (11/27/90)

Hi.....   :-)

Since I'm not a C expert I have some problems to compile perl-3.0 pl41.
(HP9000/835S, HP-UX 7.0).

I have no idea if you need the informations below...  :-)


The following is the output from make (after Configure and make depend):
------------------------------------------------------------------------
$ make

Expect either 29 shift/reduce and 59 reduce/reduce conflicts...
           or 27 shift/reduce and 61 reduce/reduce conflicts...
	yacc -d perl.y

conflicts: 29 shift/reduce, 59 reduce/reduce
	mv y.tab.c perl.c
	mv y.tab.h perly.h
	echo 'extern YYSTYPE yylval;' >>perly.h
	cc -c -O  perl.c
	
[... some stuff deleted ...]
	
	cc -c -O  usersub.c
	cc   array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o eval.o form.o hash.o malloc.o perly.o regcomp.o regexec.o stab.o str.o toke.o util.o perl.o usersub.o -lnet -lndir -lndbm -lBSD -lPW  -o perl
/bin/ld: Duplicate symbol fatal in /lib/libPW.a(fatal.o)
/bin/ld: Unsatisfied symbols:
   sin (code)
   cos (code)
   log (code)
   atan2 (code)
   exp (code)
   Error (data)
   sqrt (code)
   pow (code)
/bin/ld: Found 1 duplicate symbol(s)
*** Error code 1

Stop.
------------------------------------------------------------------------
I compiled the perl source with pl12 before I got the patches 13 to 41.
I also got the fatal error. The sin, cos etc. stuff is new since pl41.


I found a declaration fatal(pat,a1,a2,a3,a4) and fatal(va_alist) in the
file util.c.

There is also an entry for fatal.o in /lib/libPW.a:

------------------------------------------------------------------------
$ nm /usr/libPW.a

[... some stuff deleted ...]

Symbols from /lib/libPW.a[fatal.o]:

Name                    Value   Scope  Type    Subspace

$global$            |          |undef |data   |
$THIS_DATA$         |1073741824|static|data   |$DATA$
$THIS_BSS$          |1073741856|static|data   |$BSS$
Fflags              |         4|undef |common |$BSS$
Ffile               |         4|undef |common |$BSS$
Fvalue              |1073741848|extern|data   |$DATA$
Ffunc               |         4|undef |common |$BSS$
Fjmp                |       200|undef |common |$BSS$
Fcnt                |         4|undef |common |$BSS$
fatal               |         0|extern|entry  |$CODE$
write               |          |undef |code   |
strlen              |          |undef |code   |
clean_up            |          |undef |code   |
$$dyncall           |          |undef |milli  |
longjmp             |          |undef |code   |
userexit            |          |undef |code   |
exit                |          |undef |code   |


------------------------------------------------------------------------

Could it be, the fatal entry in /lib/libPW.a is not standard?
Or the name fatal should not be used in the perl source?



However, what has a novice like me to do now, to compile perl ?   :-)

Thanks

Daniel


-- 
Daniel Huber AD-KT2.6   VOICE:  +41 31 52 96 64
Ascom Autelca AG        FAX:    +41 31 52 53 01
CH-3073 Guemligen       EMAIL:  dhuber@autelca.ascom.ch
Switzerland             UUCP:   uunet!chx400!hslrswi!aut!dhuber

jrg@hpcupt1.cup.hp.com (Jeff Glasson) (11/27/90)

It looks like you just need to add a "-lm" when linking the executable.
-lm is the math library.