Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#4604 closed Bug (invalid)

Error compilation with utp enable

Reported by: leandroong Owned by:
Priority: Normal Milestone: None Set
Component: Transmission Version: 2.42+
Severity: Normal Keywords:
Cc:

Description

Version: 2.42+_13066

if compile with "--enable-utp", error message as follow: checking µTP... configure: error: "Unable to build uTP support -- C++ compiler not found"

Change History (10)

comment:1 Changed 10 years ago by jordan

Do you have a C++ compiler installed?

If so, please attach your config.log to this ticket so that I can take a look at it.

comment:2 Changed 10 years ago by cfpp2p

leandroong

here is 2.42+ 13047 source & transmission.mk included with files that all good for me and uTP check box works. http://computerfixpro.com/transmission242p.zip I see you come from Ticket #4560 to this one, so I hope this helps...

comment:3 Changed 10 years ago by leandroong

Im just using ubuntu 11.10 built-in compiler, gcc. How do installed C++ compiler and would that not conflict with gcc? As per your request, here is my config.log, http://www.sharebees.com/396sdm5p9vkx.html Also, here is my transmission.mk, http://www.sharebees.com/341o2dtacazp.html

comment:4 Changed 10 years ago by leandroong

1.) your transmission.mk does not compile with utp

./configure \

--build=$(GNU_HOST_NAME) \ --host=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \ --prefix=/opt \ --datadir=/opt/share \ --disable-gtk \ --disable-wx \ --disable-nls \

2.) should be

./configure \

--build=$(GNU_HOST_NAME) \ --host=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \ --prefix=/opt \ --datadir=/opt/share \ --disable-gtk \ --disable-wx \ --disable-nls \ --enable-lightweight \ --enable-utp \

comment:5 Changed 10 years ago by jordan

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

leandroong, thanks for attaching your config.log.

It appears there's something wrong with your setup that prevents autoconf from finding a working C++ compiler. It's trying /home/leandroong/optware/ddwrt/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-g++, but since that compiler keeps failing, autoconf decides there's not a working C++ compiler available.

The most likely place to find help with this would probably be the uclibc or dd-wrt forums.

As I indicated yesterday when closing ticket #4560, this is not the best place to discuss support topics and downstream scripts such as transmission.mk. This isn't a Transmission bug.

comment:6 Changed 10 years ago by leandroong

Thanks for the info. I guess, I will compile w/out utp enabled for the meantime. Consider it closed.

comment:7 Changed 10 years ago by er13

@leandroong: it seems it's an autoconf (2.68?) bug. The CXX-test it generates could not handle the case where CXX contains the absolute path to the CXX-compiler. It assumes CXX contains just the name without the path. In particular it tests for $as_dir/$ac_word$ac_exec_ext where it should actually test for $ac_word$ac_exec_ext in the absolute-path-case.

Workaround: run configure in the following way (i.e. override the test)

HAVE_CXX=yes ./configure --your-parameters

@jordan: take care of using the non-buggy version of autoconf to generate the official tarball - the bug would affect all users cross-compiling transmission.

comment:8 Changed 10 years ago by leandroong

modifying my transmission.mk and applying your workaround solution, "HAVE_CXX=yes ./configure -- parameters", did indeed managed to produce transmission-ipk. Installed and tested on my router, UTP is now enabled. Thanks

comment:9 Changed 10 years ago by er13

It's not an autoconf bug, it's a feature ;-) It doesn't support absolute paths by design. So it's an error to set CXX to something containing an absolute path.

comment:10 Changed 10 years ago by cfpp2p

with Changeset 12954 ( https://trac.transmissionbt.com/changeset/12954/trunk/configure.ac & Ticket #4490 ) and transmission.mk from nslu2-linux snv optware --> uTP no longer compiled:

from config.log transmission-2.42

configure:17857: checking µTP

configure:17896: result: no

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

CASE 1

when transmission-2.42:

build_utp="no" if test "x$HAVE_CXX" = "xyes" ; then

have_utp="yes"

else

have_utp="no"

fi

.

.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

CASE 2

I edit/change back to (for transmission-2.42+):

build_utp="no" if test "x$CXX" = "x" ; then

have_utp="no"

else

have_utp="yes"

fi

config.log transmission-2.42+

configure:17817: checking µTP

configure:17856: result: yes

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

maybe this will help with someone who knows more about Autoconf 2.68 than me, but it appears to me maybe BOTH:

if test "x$CXX" = "x" ; then

and

if test "x$HAVE_CXX" = "xyes" ; then

BOTH fail, so that in CASE 1 fail results in: have_utp="no"

........................... CASE 2 fail results in: have_utp="yes"

transmission-2.42+ compiled and uTP toggling Works For Me when the daemon is built. Tested uTP and worked perfectly and tested with peer using uTorrent set to uTP ONLY bt.transp_disposition == 10; multiple tests succeeded/worked.

and it looks to me that if leandroong was compiling with uTP previously then all the difficulties leandroong experienced could be related...

Note: See TracTickets for help on using tickets.