Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

transmission 4.03 does not start on arm7-k2.6 #953

Closed
zyxmon opened this issue Jun 27, 2023 · 9 comments
Closed

transmission 4.03 does not start on arm7-k2.6 #953

zyxmon opened this issue Jun 27, 2023 · 9 comments
Labels
bug Something isn't working

Comments

@zyxmon
Copy link
Member

zyxmon commented Jun 27, 2023

The problem is discussed here - https://www.snbforums.com/threads/transmission-stopped-working.84082/post-849863
The temporary solution is to disable dht.

@AkteX
Copy link

AkteX commented Aug 12, 2023

The root cause of the problem is that the function dht_random_bytes is not available in libdht. The source file dht-example.c must be compiled and linked to the library as shown below.

define Build/Compile
        $(TARGET_CC) $(FPIC) -Wall -c -o $(PKG_BUILD_DIR)/dht.o $(PKG_BUILD_DIR)/dht.c
        $(TARGET_CC) $(FPIC) -Wall -c -o $(PKG_BUILD_DIR)/dht-example.o $(PKG_BUILD_DIR)/dht-example.c
        $(TARGET_CC) -shared -lcrypt -o $(PKG_BUILD_DIR)/libdht.so $(PKG_BUILD_DIR)/dht.o $(PKG_BUILD_DIR)/dht-example.o
endef

@zyxmon
Copy link
Member Author

zyxmon commented Aug 12, 2023

@AkteX
Copy link

AkteX commented Aug 12, 2023

I tested it with x86-2.6. Can you please update the libdht package for all architectures?

@zyxmon
Copy link
Member Author

zyxmon commented Aug 13, 2023

It looks like only 2 architectures (k2.6) need this.

@AkteX
Copy link

AkteX commented Aug 13, 2023

I checked bin.entware.net and found libdht in all architectures. As long as libdht is used it shall be build with dht-example.c. Otherwise some symbols which are exported by dht.h are not available. This was the reason why transmission didn't start.

@zyxmon
Copy link
Member Author

zyxmon commented Aug 13, 2023

tr-dht.cc (transmission sources) has dht_random_bytes function. For some reasons it is not used in two architectures (for old kernels).
aarch64 transmission runs correctly with dht enabled and without dht_random_bytes in libdht. It also runs correctly with "new" libdht (just tested it). I am waiting response from arm7-k2.6 owners to commit your changes to the repo.

@AkteX
Copy link

AkteX commented Aug 13, 2023

I just tested Entware arm7-k2.6. With libdht from the repo transmission-daemon doesn't start. After the installation of https://test.entware.net/armv7sf-k2.6/libdht_2022-04-27-11123089-1a_armv7-2.6.ipk transmission-daemon is running.

@zyxmon
Copy link
Member Author

zyxmon commented Aug 14, 2023

IMHO а better approach to solve the issue is to link libdht statically (as in transmission 3 and earlier versions).
Here is a fixed daemon https://test.entware.net/armv7sf-k2.6/transmission-daemon_4.0.3-2a_armv7-2.6.ipk
Other transmission ipk can be found here - https://test.entware.net/armv7sf-k2.6/

@zyxmon
Copy link
Member Author

zyxmon commented Aug 14, 2023

Fixed via Entware/entware-packages@fb12474

@zyxmon zyxmon closed this as completed Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants