Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 83802 - RPM 4.2-066 fails to compile on Solaris 8
Summary: RPM 4.2-066 fails to compile on Solaris 8
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 8.0
Hardware: sparc
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: Mike McLean
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-02-09 01:59 UTC by Donnie Cranford
Modified: 2007-04-18 16:50 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-03-08 17:44:54 UTC


Attachments (Terms of Use)

Description Donnie Cranford 2003-02-09 01:59:35 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030203

Description of problem:
Trying to compile RPM 4.2-066 on Solaris 8

Using GCC 3.2.1 

# uname -a
SunOS DEATHSTARII 5.8 Generic_108528-17 sun4u sparc SUNW,Sun-Blade-100

Compile is failing looking in linker stage looking for libz

here is the output

/usr/local/bin/gcc -I/usr/local/include -I/usr/local/BerkeleyDB/include
-I/opt/sfw/include -I/opt/sfw/include/db1 -I/opt/sfw/include/db3 -I/usr/include
-I/usr/openwin/include -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith
-Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -o file -static
file.o  ./.libs/libfmagic.al -lz
ld: fatal: library -lz: not found
ld: fatal: File processing errors. No output written to file
collect2: ld returned 1 exit status
make[2]: *** [file] Error 1
make[2]: Leaving directory `/tmp/rpm-4.2/file'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/rpm-4.2'
make: *** [all] Error 2



Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1../configure
2.gmake
3.
    

Actual Results:  Compile bombed out as decribed above

Expected Results:  Should have continued on successfully

Additional info:

Here is my .profile which gives my CFLAGS, CXXFLAGS, and such


# cat /.profile
PATH=/opt/sfw/bin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/local/bin:/usr/ucb
 
#CC=/opt/SUNWspro/bin/cc
CC=/usr/local/bin/gcc
 
#CXX=/opt/SUNWspro/bin/CC
CXX=/usr/local/bin/g++
 
 
CFLAGS="-I/usr/local/include -I/usr/local/BerkeleyDB/include -I/opt/sfw/include
-I/opt/sfw/include/db1 -I/opt/sfw/include/db3 -I/usr/include -I/usr/openwin/include"
 
CXXFLAGS="-I/usr/local/include -I/usr/local/BerkeleyDB/include
-I/opt/sfw/include -I/opt/sfw/include/db1 -I/opt/sfw/include/db3 -I/usr/include
-I/usr/openwin/include"
 
LD_LIBRARY_PATH=/opt/sfw/lib:/usr/local/lib:/usr/local/BerkeleyDB/lib:/lib:/usr/lib:/lib:/usr/lib
 
export PATH CC CFLAGS CXX CXXFLAGS LD_LIBRARY_PATH

Comment 1 Donnie Cranford 2003-02-09 02:23:20 UTC
CCing herold

Comment 2 Donnie Cranford 2003-02-09 02:51:02 UTC
Update
-----------------------------------------------------------

Using the Forte 7 compiler, I get an entirely different error, (well it doesnt
get as far as GCC) here is what I get in forte, same .profile

/opt/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I. -I.  
-DMAGIC='"/usr/local/lib/rpm/magic"'  -I/usr/local/include
-I/usr/local/BerkeleyDB/include -I/opt/sfw/include -I/opt/sfw/include/db1
-I/opt/sfw/include/db3 -I/usr/include -I/usr/openwin/include -c `test -f
'file.c' || echo './'`file.c
"system.h", line 253: warning: implicit function declaration: error
"file.h", line 98: syntax error before or at: (
"file.h", line 98: warning: syntax error:  empty declaration
"file.c", line 221: syntax error before or at: :
cc: acomp failed for file.c


Comment 3 Donnie Cranford 2003-02-09 21:08:33 UTC
ok, was able ot get around -lz linking issue by adding a static libz, however
now compile is failing with an unresolved symbol

/bin/bash ./libtool --mode=link /usr/local/bin/gcc  -I/usr/local/include
-I/usr/local/BerkeleyDB/include -I/opt/sfw/include -I/opt/sfw/include/db1
-I/opt/sfw/include/db3 -I/usr/include -I/usr/openwin/include   -o test1
-all-static test1.o libpopt.la -L/usr/ucblib -R /usr/ucblib
/usr/local/bin/gcc -I/usr/local/include -I/usr/local/BerkeleyDB/include
-I/opt/sfw/include -I/opt/sfw/include/db1 -I/opt/sfw/include/db3 -I/usr/include
-I/usr/openwin/include -o test1 -static test1.o  ./.libs/libpopt.a -L/usr/ucblib
-R/usr/ucblib
Undefined                       first referenced
 symbol                             in file
libintl_dgettext                    ./.libs/libpopt.a(popt.o)
ld: fatal: Symbol referencing errors. No output written to test1
collect2: ld returned 1 exit status


this is using xgettext 0.11.5

HOWEVER

when doing a ./configure --with-included-gettext


I get the following error

/bin/bash ../libtool --mode=link /usr/local/bin/gcc  -I/usr/local/include
-I/usr/local/BerkeleyDB/include -I/opt/sfw/include -I/opt/sfw/include/db1
-I/opt/sfw/include/db3 -I/usr/include -I/usr/openwin/include -D_GNU_SOURCE
-D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes
-Wno-char-subscripts
  -o librpmio.la -rpath /usr/local/lib -release 4.2 ../file/libfmagic.la
../zlib/libz.la -lrt -lpthread argv.lo digest.lo fts.lo macro.lo rpmio.lo
rpmlog.lo rpmmalloc.lo rpmpgp.lo rpmrpc.lo strcasecmp.lo stubs.lo url.lo ugid.lo
aes.lo aesopt.lo base64.lo beecrypt.lo blockmode.lo blockpad.lo blowfish.lo
blowfishopt.lo dhaes.lo dldp.lo dlkp.lo dlpk.lo dlsvdp-dh.lo dsa.lo elgamal.lo
endianness.lo entropy.lo fips186.lo hmac.lo hmacmd5.lo hmacsha1.lo hmacsha256.lo
md5.lo memchunk.lo mp32.lo mp32barrett.lo mp32number.lo mp32opt.lo mp32prime.lo
mtprng.lo rsa.lo rsakp.lo rsapk.lo sha1.lo sha1opt.lo sha256.lo timestamp.lo
-lrt -lpthread -lsocket -lnsl  -L../zlib -R../zlib  -L/usr/local/lib
-R/usr/local/lib  -L/usr/ucblib -R/usr/ucblib  -lbz2
libtool: link: only absolute run-paths are allowed
make[2]: *** [librpmio.la] Error 1


I think im getting closer but not there yet....

any ideas

Comment 4 Donnie Cranford 2003-02-12 01:36:45 UTC
Ok, here is a issue, there are 2 places where rpm-4.2.0-66 dies because of only
absolute run paths allowd,

rpm/rpmio/Makefile
Where you have -L${top_builddir}/zlib and -R${top_builddir}/zlib

and

rpm/tools/Makefile 
-L${top_builddir}/zlib and -R${top_builddir}/zlib

They both have to have the absolute pathname to compile

Here is the current issue

I must do --without-python(which is fine for now).

The biggest error that I am seeing now actually has to do with elf and what
looks like problematic headers

here is the output (warning is is quite a bit)

/usr/local/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../build -I../lib
-I../rpmdb -I../rpmio -I../popt -I../file -I../zlib -I../misc   
-I/usr/local/include -I/usr/local/BerkeleyDB/include -I/usr/local/BerkeleyDB.3.3
-I/usr/include -I/usr/openwin/include -D_GNU_SOURCE -D_REENTRANT -Wall
-Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -c
`test -f 'debugedit.c' || echo './'`debugedit.c
debugedit.c:23:22: byteswap.h: No such file or directory
debugedit.c:24:20: endian.h: No such file or directory
In file included from /usr/include/gelf.h:11,
                 from debugedit.c:36:
/usr/include/libelf.h:28:2: #error "large files are not supported by libelf"
debugedit.c:37:19: dwarf.h: No such file or directory
debugedit.c: In function `read_abbrev':
debugedit.c:289: `DW_FORM_indirect' undeclared (first use in this function)
debugedit.c:289: (Each undeclared identifier is reported only once
debugedit.c:289: for each function it appears in.)
debugedit.c: In function `edit_dwarf2_line':
debugedit.c:479: warning: implicit declaration of function `alloca'
debugedit.c: In function `edit_attributes':
debugedit.c:676: `DW_AT_stmt_list' undeclared (first use in this function)
debugedit.c:678: `DW_FORM_data4' undeclared (first use in this function)
debugedit.c:685: `DW_AT_comp_dir' undeclared (first use in this function)
debugedit.c:686: `DW_FORM_strp' undeclared (first use in this function)
debugedit.c:711: `DW_TAG_compile_unit' undeclared (first use in this function)
debugedit.c:713: `DW_AT_name' undeclared (first use in this function)
debugedit.c:751: `DW_FORM_addr' undeclared (first use in this function)
debugedit.c:754: `DW_FORM_ref1' undeclared (first use in this function)
debugedit.c:755: `DW_FORM_flag' undeclared (first use in this function)
debugedit.c:756: `DW_FORM_data1' undeclared (first use in this function)
debugedit.c:759: `DW_FORM_ref2' undeclared (first use in this function)
debugedit.c:760: `DW_FORM_data2' undeclared (first use in this function)
debugedit.c:763: `DW_FORM_ref4' undeclared (first use in this function)
debugedit.c:767: `DW_FORM_ref8' undeclared (first use in this function)
debugedit.c:768: `DW_FORM_data8' undeclared (first use in this function)
debugedit.c:771: `DW_FORM_sdata' undeclared (first use in this function)
debugedit.c:772: `DW_FORM_ref_udata' undeclared (first use in this function)
debugedit.c:773: `DW_FORM_udata' undeclared (first use in this function)
debugedit.c:776: `DW_FORM_ref_addr' undeclared (first use in this function)
debugedit.c:780: `DW_FORM_string' undeclared (first use in this function)
debugedit.c:783: `DW_FORM_indirect' undeclared (first use in this function)
debugedit.c:786: `DW_FORM_block1' undeclared (first use in this function)
debugedit.c:789: `DW_FORM_block2' undeclared (first use in this function)
debugedit.c:793: `DW_FORM_block4' undeclared (first use in this function)
debugedit.c:797: `DW_FORM_block' undeclared (first use in this function)
debugedit.c: In function `fdopen_dso':
debugedit.c:1017: `ELF_C_RDWR_MMAP' undeclared (first use in this function)
make[2]: *** [debugedit.o] Error 1
make[2]: Leaving directory `/tmp/rpm-4.2/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/rpm-4.2'
make: *** [all] Error 2



any ideas here would be great, I think im pretty close to having this ported
then I can work backwards and get it retested and submit diffs ;)







Comment 5 Jeff Johnson 2003-02-12 23:21:49 UTC
You need debugedit iff you want/need to produce
sub-packages with debugging symbols.

Disable for now, use the latest elfutils package
if/when you choose to try to pursue.

Comment 6 Donnie Cranford 2003-02-12 23:28:32 UTC
Jeff

how do I disable debugedit??

just comment it out?? I dont know of any configure option

Comment 7 Jeff Johnson 2003-02-12 23:32:22 UTC
Edit the makefile.

Comment 8 Jeff Johnson 2003-03-08 17:44:54 UTC
rpm-4.2-0.70 should revert to internal copy of elfutils-0.76
which should be useful even on solaris. There's almost certainly
more to do on solaris, as elfutils is still under development.

Please open a new bug report if there are other solaris compilation
problems.


Note You need to log in before you can comment on or make changes to this bug.