Bug 160312

Summary: Can't compile devel/glib20 with gcc 4.6
Product: Ports & Packages Reporter: Pavel Timofeev <timp87>
Component: Individual Port(s)Assignee: freebsd-gnome (Nobody) <gnome>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Pavel Timofeev 2011-08-30 15:10:10 UTC
/usr/bin/ld: unrecognized option '-Bsymbolic-functions'
/usr/bin/ld: use the --help option for usage information
gmake[4]: *** [libglib-2.0.la] Error 1
gmake[4]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8'
gmake: *** [all] Error 2
*** Error code 1

Stop in /usr/ports/devel/glib20.
*** Error code 1

Stop in /usr/ports/devel/glib20.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2011-08-30 18:19:47 UTC
Responsible Changed
From-To: freebsd-bugs->gnome

Fix category and assign.
Comment 2 b. f. 2011-08-31 03:45:42 UTC
> /usr/bin/ld: unrecognized option '-Bsymbolic-functions'
> /usr/bin/ld: use the --help option for usage information
> gmake[4]: *** [libglib-2.0.la] Error 1
> gmake[4]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
> gmake[3]: *** [all-recursive] Error 1
> gmake[3]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
> gmake[2]: *** [all] Error 2
> gmake[2]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8'
> gmake: *** [all] Error 2
> *** Error code 1
>
> Stop in /usr/ports/devel/glib20.
> *** Error code 1

This is a known problem when using multiple compilers and toolchains
together with devel/libtool, which caches and uses information about
the compiler and toolchain that it was built with.  If you want to use
an alternative compiler and toolchain to build a port that uses
devel/libtool, you must rebuild devel/libtool with your alternative
compiler and toolchain before building your port.  And you cannot
simply set USE_GCC for your rebuild of devel/libtool, because that
will introduce circular dependencies in your package database.  So you
must set CC, CXX, CFLAGS, and LDFLAGS individually, as in
ports/Mk/bsd.gcc.mk.  This has been discussed numerous times over the
past few years on the lists and in the forums, and is the subject of
some open PRs.

b.
Comment 3 Pavel Timofeev 2011-08-31 07:42:08 UTC
Sorry, in the future I'll search info in maillists in the first place.
PR need to close.

2011/8/31 b. f. <bf1783@googlemail.com>

> > /usr/bin/ld: unrecognized option '-Bsymbolic-functions'
> > /usr/bin/ld: use the --help option for usage information
> > gmake[4]: *** [libglib-2.0.la] Error 1
> > gmake[4]: Leaving directory
> `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
> > gmake[3]: *** [all-recursive] Error 1
> > gmake[3]: Leaving directory
> `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
> > gmake[2]: *** [all] Error 2
> > gmake[2]: Leaving directory
> `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
> > gmake[1]: *** [all-recursive] Error 1
> > gmake[1]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8'
> > gmake: *** [all] Error 2
> > *** Error code 1
> >
> > Stop in /usr/ports/devel/glib20.
> > *** Error code 1
>
> This is a known problem when using multiple compilers and toolchains
> together with devel/libtool, which caches and uses information about
> the compiler and toolchain that it was built with.  If you want to use
> an alternative compiler and toolchain to build a port that uses
> devel/libtool, you must rebuild devel/libtool with your alternative
> compiler and toolchain before building your port.  And you cannot
> simply set USE_GCC for your rebuild of devel/libtool, because that
> will introduce circular dependencies in your package database.  So you
> must set CC, CXX, CFLAGS, and LDFLAGS individually, as in
> ports/Mk/bsd.gcc.mk.  This has been discussed numerous times over the
> past few years on the lists and in the forums, and is the subject of
> some open PRs.
>
> b.
>
Comment 4 b. f. 2011-08-31 08:11:45 UTC
On 8/31/11, Pavel Timofeev <timp87@gmail.com> wrote:
> Sorry, in the future I'll search info in maillists in the first place.
> PR need to close.

That would help, although sometimes the answers are a bit hard to
find.  Sorry that you tripped over this, it's one of the outstanding
problems with using alternative compilers and toolchains in ports.
Maybe you should send a note to the author of:

http://www.freebsd.org/doc/en_US.ISO8859-1/articles/custom-gcc/index.html

and ask him to mention this and other build tools that cache compiler
information, and so may cause build failures.

b.

>
> 2011/8/31 b. f. <bf1783@googlemail.com>
>
>> > /usr/bin/ld: unrecognized option '-Bsymbolic-functions'
>> > /usr/bin/ld: use the --help option for usage information
>> > gmake[4]: *** [libglib-2.0.la] Error 1
>> > gmake[4]: Leaving directory
>> `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
>> > gmake[3]: *** [all-recursive] Error 1
>> > gmake[3]: Leaving directory
>> `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
>> > gmake[2]: *** [all] Error 2
>> > gmake[2]: Leaving directory
>> `/usr/ports/devel/glib20/work/glib-2.28.8/glib'
>> > gmake[1]: *** [all-recursive] Error 1
>> > gmake[1]: Leaving directory `/usr/ports/devel/glib20/work/glib-2.28.8'
>> > gmake: *** [all] Error 2
>> > *** Error code 1
>> >
>> > Stop in /usr/ports/devel/glib20.
>> > *** Error code 1
>>
>> This is a known problem when using multiple compilers and toolchains
>> together with devel/libtool, which caches and uses information about
>> the compiler and toolchain that it was built with.  If you want to use
>> an alternative compiler and toolchain to build a port that uses
>> devel/libtool, you must rebuild devel/libtool with your alternative
>> compiler and toolchain before building your port.  And you cannot
>> simply set USE_GCC for your rebuild of devel/libtool, because that
>> will introduce circular dependencies in your package database.  So you
>> must set CC, CXX, CFLAGS, and LDFLAGS individually, as in
>> ports/Mk/bsd.gcc.mk.  This has been discussed numerous times over the
>> past few years on the lists and in the forums, and is the subject of
>> some open PRs.
>>
>> b.
>>
>
Comment 5 Koop Mast freebsd_committer freebsd_triage 2011-09-12 20:16:11 UTC
State Changed
From-To: open->closed

Closed at submitter requirest. b.f. pointed out the problem was caused by 
libtool not rebuild with CC/CXX set for gcc4.6.