Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#4244 closed defect (worksforme)

building package (dansguardian) in 8.09RC1 results in uClibc++ library not found

Reported by: jasong@… Owned by: developers
Priority: normal Milestone:
Component: toolchain Version:
Keywords: Cc:


Trying to build dansguardian with either the SDK or the regular buildroot yields the following from make V=99:

configure: loading site script /usr/local/OpenWrt-SDK-x86-for-Linux-i686/include/site/i386-linux-uclibc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i386-linux-strip... i386-linux-uclibc-strip
checking for C++ compiler default output file name...
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
make[3]: *** [/usr/local/OpenWrt-SDK-x86-for-Linux-i686/build_dir/i386/dansguardian-] Error 77
make[3]: Leaving directory `/usr/local/OpenWrt-SDK-x86-for-Linux-i686/package/dansguardian'

relevant lines from within the referenced config.log:

configure:2520: checking for C++ compiler default output file name
configure:2547: i386-linux-uclibc-g++ -O2 -pipe -march=i486 -funit-at-a-time -fh
onour-copts  -fno-builtin -fno-rtti -nostdinc++ -I/usr/local/OpenWrt-SDK-x86-for
-Linux-i686/staging_dir/i386/usr/include -I/usr/local/OpenWrt-SDK-x86-for-Linux-
i686/staging_dir/i386/include -I/usr/local/OpenWrt-SDK-x86-for-Linux-i686/stagin
g_dir/i386/usr/include/uClibc++ -L/usr/local/OpenWrt-SDK-x86-for-Linux-i686/stag
ing_dir/toolchain-i386_gcc4.1.2/lib -L/usr/local/OpenWrt-SDK-x86-for-Linux-i686/
staging_dir/i386/usr/lib -L/usr/local/OpenWrt-SDK-x86-for-Linux-i686/staging_dir
/i386/lib  conftest.cpp -nodefaultlibs -luClibc++ -lpthread -lgcc_s >&5
n/../lib/gcc/i386-linux-uclibc/4.1.2/../../../../i386-linux-uclibc/bin/ld: canno
t find -luClibc++
collect2: ld returned 1 exit status
configure:2550: $? = 1

Makefile will be attached, however at the top there is:

  DEPENDS:=+libpthread +uclibcxx +zlib

...while later there is:

        INCLUDES="" \
        CXXFLAGS="$$$$CXXFLAGS -fno-builtin -fno-rtti -nostdinc++"  \
        CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include/uClibc++" \
        LDFLAGS="$$$$LDFLAGS" \
        LIBS="-nodefaultlibs -luClibc++ -lpthread -lgcc_s"

note the use of -luClibc++ instead of uClibcxx as above, is this normal?

Attachments (1)

Makefile (1.8 KB) - added by jasong@… 9 years ago.
Makefile for dansguardian package

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by jasong@…

Makefile for dansguardian package

comment:1 Changed 9 years ago by florian

  • Resolution set to worksforme
  • Status changed from new to closed

Did you resolve the uclibc++ dependency ? uclibcxx is actually the package name other packages depend on, while packages/libs/uclibc++ is where its Makefile and patches are located. There is no mistake in the dansguardian Makefile.

comment:2 Changed 9 years ago by anonymous

I did not resolve this as I am not sure how to.

I see the uClibc++ include directory named, and several library paths named. Is there one/some missing?

If this is working for you, then that confuses me as I understood that the environment was self contained for the clibs (since it is uClibc). Do I need something on my build system?

Thank you very much,

comment:3 Changed 9 years ago by jasong@…

That was me... can we get logins on this Trac instance? :)

comment:4 Changed 9 years ago by jasong@…

Now the light of clueness shines over my head (well at least a little more)

I understand now the package scheme and that uclibcxx was not there by default, so running

scripts/feeds install uclibcxx

fixed me right up! Thanks

Add Comment

Modify Ticket

as closed .
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.