Compiling GCC 6.3.0 - Error with Library


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Compiling GCC 6.3.0 - Error with Library
# 1  
Old 03-06-2017
Hammer & Screwdriver Compiling GCC 6.3.0 - Error with Library

First of all -- thanks for being patient with me. I hope I'm submitting this correctly. Also I haven't done UNIX Admin since the early 1990's. I'm actually a DBA. But, since I'm the one in the office with the UNIX experience, I'm the SA.

I haven't been able to compile GCC 6.3.0 which I need to compile OpenSSL 1.1.0 & Apache 2.4. I have made progress though. I have updated or installed all of the prerequisites that I could determine so the rest of the utilities/tools should be up-to-date. The only thing that evades me seems to be ELF. I tried to figure this one out and ended up banging my head against a wall!

I'm following the instructions laid out in gcc dot gnu dot org and a few other sites. The error I'm getting is for Undefined Symbols. I'm guessing that means I'm missing a library somewhere. Or have an incorrect version at a minimum. Below is the last part of the "make" dialog. You'll see the message about "wrong ELF class: ELFCLASS64" and "g++: unrecognized option `-no-pie'" there too.

Not being one to sit idle while waiting for assistance, I've been trying to research this issue. My thoughts are that there are some libraries that the compile wants in the specific 32-bit or 64-bit format and the one that is being grabbed 1st is the wrong one. How can I tell exactly which library is breaking the make? To my untrained eye, it looks like one of the libraries in question (concat.o) is being created "on the fly" during the GCC compile process. If that's the case, how do I get it to compile in the correct version?

The current compiler version is 3.4.3. I also thought that perhaps I'm just trying to take too big of an upgrade leap & might need to do this in stages. If y'all could point me in the right direction, it would be greatly appreciated.

Oh -- Server is Sun Solaris 10 U11.

Thanks in advance & have a marvelous Monday! <]8-)
John


Code:
=========   Make Snippet  ================
TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="" \ /bin/bash ../../gcc-6.3.0/gcc/mkconfig.sh bconfig.h
g++ -std=gnu++98 -c   -g -DIN_GCC    -fno-strict-aliasing -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE -I. -Ibuild -I../../gcc-6.3.0/gcc -I../../gcc-6.3.0/gcc/build -I../../gcc-6.3.0/gcc/../include -I./../intl -I../../gcc-6.3.0/gcc/../libcpp/include  \
        -o build/genmddeps.o ../../gcc-6.3.0/gcc/genmddeps.c
cc1plus: warning: -Wmissing-format-attribute ignored without -Wformat
g++ -std=gnu++98 -c   -g -DIN_GCC    -fno-strict-aliasing -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE -I. -Ibuild -I../../gcc-6.3.0/gcc -I../../gcc-6.3.0/gcc/build -I../../gcc-6.3.0/gcc/../include -I./../intl -I../../gcc-6.3.0/gcc/../libcpp/include  \
        -o build/read-md.o ../../gcc-6.3.0/gcc/read-md.c
cc1plus: warning: -Wmissing-format-attribute ignored without -Wformat
g++ -std=gnu++98 -c   -g -DIN_GCC    -fno-strict-aliasing -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE -I. -Ibuild -I../../gcc-6.3.0/gcc -I../../gcc-6.3.0/gcc/build -I../../gcc-6.3.0/gcc/../include -I./../intl -I../../gcc-6.3.0/gcc/../libcpp/include  \
        -o build/errors.o ../../gcc-6.3.0/gcc/errors.c
cc1plus: warning: -Wmissing-format-attribute ignored without -Wformat
g++ -std=gnu++98   -g -DIN_GCC    -fno-strict-aliasing -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE  -no-pie -o build/genmddeps \
    build/genmddeps.o build/read-md.o build/errors.o ../build-sparc-sun-solaris2.10/libiberty/libiberty.a
g++: unrecognized option `-no-pie'
ld: warning: file ../build-sparc-sun-solaris2.10/libiberty/libiberty.a(concat.o): wrong ELF class: ELFCLASS64
Undefined                       first referenced
symbol                             in file
unlock_std_streams                  build/read-md.o
htab_hash_pointer                   build/read-md.o
htab_create                         build/read-md.o
concat                              build/read-md.o
_obstack_begin                      build/read-md.o
_sch_istable                        build/read-md.o
_obstack_newchunk                   build/read-md.o
htab_traverse                       build/read-md.o
htab_find                           build/read-md.o
lbasename                           build/read-md.o
xstrndup                            build/read-md.o
_sch_toupper                        build/read-md.o
htab_hash_string                    build/read-md.o
htab_find_slot                      build/read-md.o
xmalloc                             build/genmddeps.o
xstrdup                             build/read-md.o
ld: fatal: symbol referencing errors. No output written to build/genmddeps
collect2: ld returned 1 exit status
make[3]: *** [Makefile:2691: build/genmddeps] Error 1
make[3]: Leaving directory '/utl/gcc-build/gcc'
make[2]: *** [Makefile:4385: all-stage1-gcc] Error 2
make[2]: Leaving directory '/utl/gcc-build'
make[1]: *** [Makefile:19768: stage1-bubble] Error 2
make[1]: Leaving directory '/utl/gcc-build'
make: *** [Makefile:909: all] Error 2

=================  END SNIPPET  ====================

# 2  
Old 03-07-2017
Compiling GCC can be tricky... Why not look for a compiled package? I usually do that on environment Im not familiar, get the good GCC compiler then compile what I want... After there is an order for building up the libraries in order to respect the dependencies...

You havent mentioned your platform sparc 32 or 64, or X86?
# 3  
Old 03-07-2017
Thanks for your reply1 Smilie
Sorry -- It's SPARC-64.

I would love to get a package, but the days of SunFreeware are long gone. UNIXPackages charges for them now. And, since I'm a contractor for the AF, $$$ is short. The version that's on the server now is 3.4.3 and I need something that's higher than version 4.5.1 in order to compile some of the software we now require.

PJ
# 4  
Old 03-07-2017
I will see tomorrow what is available or what I can find at work.. will talk with my 2 solaris sysadmins, on one of the 80 dev ldoms we have I should find something no?
# 5  
Old 03-07-2017
ouch Im not sure if we still have some solaris 10 though ... I am on the process of stopping them or migrating and cant remember what is left.. I know sunday Im calling them to work for patching session but so far I saw only solaris 11 boxes, I will have to look if I have not archived anything as I was in charge of a few boxes in solaris 10 for Education...
# 6  
Old 03-07-2017
I would appreciate that! I'm going to be off for the next few days, but will check in from home.
# 7  
Old 03-07-2017
go here: OpenCSW Solaris packages
There is a how get started page. Download the package installer script. Run it. As root.

Go back to the site. Select the gcc you want. Install the packages using the installation tool you already downloaded. Run everything as root. This will create an
Code:
/opt/csw/bin

directory among others. With gcc. While you are at it consider getting gawk, solaris awk is ancient and is there for retro purposes. dateutils also helps doing things like dgrep for date range values.
Leave the installed code base and libraries in the /opt tree....

Create a gcc alias
Code:
alias gcc=opt/csw/bin/gcc

You may also need to add the /opt/csw/lib directory to LD_LIBRARY_PATH
This User Gave Thanks to jim mcnamara For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Compiling libcdio-paranoia, gcc found - C compiler doesnt work

Heyas I'm currently trying to make a fresh build from scratch/source of FFMPEG. This said, it brings quite a tail with it, so the use of a script was very obvious. Anyway, i'm currently stuck at named package. Lets ignore the tarball/download line, as the error is after. Commands... (0 Replies)
Discussion started by: sea
0 Replies

2. Programming

Compiling a 64 bits program using gcc

Hi Everyone, I can ask what is the option to compile a 64 bits program using gcc. I have looked everywhere but can't find it. Before I used to use cc and the -q64 flag was the option to generate the 64 bits binary. Can anyone tell me what is the flags when using gcc. Thanks...... (3 Replies)
Discussion started by: arizah
3 Replies

3. Programming

Problem with static compiling - GCC

Hi guys. I want to compile three files: gcc -static main.c fib.c fib.h it is pure C i mean i use standard C library. but it gives me this error: /usr/bin/ld: cannot find -lc collect2: ld returned 1 exit status what should i do? (4 Replies)
Discussion started by: majid.merkava
4 Replies

4. Programming

gcc compiling error

I am using gcc to compile c objects on solaris 5.10 and hit the following error messages: /usr/include/sys/vfs.h:323: error: syntax error before "statvfs64_t" /usr/include/sys/vfs.h:334: error: syntax error before "statvfs64_t" gmake: *** Error 1 The c program files were copied over from... (3 Replies)
Discussion started by: med7006
3 Replies

5. Solaris

Problem compiling Samba 3.5.1 on Solaris 10 with gcc (3.4.6)

I'm getting this error when 'Linking shared library bin/libtalloc.so.2'... anyone know what's up here? Using CFLAGS = -O -I. -I/source/samba-3.5.1/source3 -I/source/samba-3.5.1/source3/../lib/popt -I/source/samba-3.5.1/source3/iniparser/src -Iinclude -I./include -I. -I. -I./../lib/replace... (6 Replies)
Discussion started by: son_t
6 Replies

6. Programming

probs compiling with gcc + lpthread

Im trying to write a program atm which uses mutexes to control thread access to a certain code section ( the critical section). However, whenever I compile the code using gcc I get the following message from gcc Unresolved text symbol "pthread_mutex_lock" Unresolved text symbol... (1 Reply)
Discussion started by: JamesGoh
1 Replies

7. Programming

gcc compiling with -DUSE_LONGLONG

Sorry for a silly question. I a program that need to compile with -DUSE_LONGLONG to turn on the long Int as the document of that program said so, but I really don't know how to do this. I normally do this: ./configure make make install and it works fine. But I don't know how to compile... (2 Replies)
Discussion started by: hiepng
2 Replies

8. UNIX for Dummies Questions & Answers

errors compiling gcc 4.2.1

Hello, I have never had a successful compile on the 2.6 kernel. On every arch in which I try to compile gcc I get either "i686-pc-cygwin-ar command not found or "i686-suse-linux-ar command not found. This always happens during the make process after configure checks for ar and finds it's just ar.... (2 Replies)
Discussion started by: kwa71
2 Replies

9. Programming

syntax error while compiling in gcc

hello, i have a structure defined as follows struct Image { int lenght; int height; }; and i have another structure where i declare a array of the above structure struct ShapeImage { Image image; }; when i compile this code with gcc it shows me the following error : ... (3 Replies)
Discussion started by: svh
3 Replies

10. Programming

beginner at C: Need help compiling/linking with gcc

I'm trying to do something fairly simple but keep getting frustrating messages.. Here it is: I have 3 files: init.h <header> init.c <#include <curses.h> and "init.h"> main.c <#include "init.h"> now, how can I compile my main.c using gcc? ( I have a hard time making the init.o) ... (1 Reply)
Discussion started by: My_Name
1 Replies
Login or Register to Ask a Question