milvus-io / milvus

A cloud-native vector database, storage for next generation AI applications
https://milvus.io
Apache License 2.0
29.27k stars 2.81k forks source link

build/deb/build_deb.sh script failed with brz: ERROR: unknown command "dh-make"[Bug]: #33842

Closed liorf95 closed 1 month ago

liorf95 commented 2 months ago

Is there an existing issue for this?

Environment

- Milvus version:
- Deployment mode(standalone or cluster):
- MQ type(rocksmq, pulsar or kafka):    
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS): Ubuntu 22.04.2 LTS
- CPU/Memory: 
- GPU: 
- Others: Debian Breezy (brz) 3.2.1

Current Behavior

I am trying to build the Debian package from Milvus source code on Ubuntu 22.04. However, the build/deb/build_deb.sh script failed with brz: ERROR: unknown command "dh-make".

According to the Breezy (brz) 3.2.1 changelog: https://github.com/breezy-team/breezy-debian/blob/master/debian/changelog#L74 Debian Breezy does not support anymore the dh-make command.

How does the current build/deb/build_deb.sh supposed to work?

Expected Behavior

No response

Steps To Reproduce

No response

Milvus Log

No response

Anything else?

No response

liorf95 commented 2 months ago

After downgrading the debian breezer pkg to 2.8.42 (the highest rel which still supports the dh-make command) the build_deb.sh script does work OK however it is interactive since the dh-make command expects the package type and one more confirmation answer. The bzr dh-make command does not support the --single --yes flags (or -y -s alternatively).

yanliang567 commented 2 months ago

/assign @czs007 /unassign

liorf95 commented 1 month ago

Any news regarding that issue? It is very unlikely for that project that the build_deb.sh has not changed at all since its first commit 2 years ago. I assume you are running some other fixed build Debian script which was not uploaded to the main branch.

xiaofan-luan commented 1 month ago

we didn't support debian as our official iamge. anyone have experience about compile on debian?

zwd1208 commented 1 month ago

@liorf95 this script has not been verified on Ubuntu 22.04. Can you try it on Ubuntu 20.04?

xiaofan-luan commented 1 month ago

@zwd1208 I thought we also supported 22.04?

liorf95 commented 1 month ago

@liorf95 this script has not been verified on Ubuntu 22.04. Can you try it on Ubuntu 20.04?

The same issue also on Ubuntu 20.04.2 LTS

xiaofan-luan commented 1 month ago

@liorf95 this script has not been verified on Ubuntu 22.04. Can you try it on Ubuntu 20.04?

The same issue also on Ubuntu 20.04.2 LTS

on ubuntu why don't you simply do make?

xiaofan-luan commented 1 month ago

@zwd1208 please fix build/deb/build_deb.sh or remove it.

liorf95 commented 1 month ago

@liorf95 this script has not been verified on Ubuntu 22.04. Can you try it on Ubuntu 20.04?

The same issue also on Ubuntu 20.04.2 LTS

on ubuntu why don't you simply do make?

I do make and its OK - but afterwards I need to build a debian package installation with it.

zwd1208 commented 1 month ago

@liorf95 It seems that Ubuntu 22.04 no longer supports dh-make. I suggest you copy the .so and binary files from the Milvus Docker image and then package them using dpkg-deb --build package_name. We are trying out this way, and if it works, we will also update the script.

liorf95 commented 1 month ago

@liorf95 It seems that Ubuntu 22.04 no longer supports dh-make. I suggest you copy the .so and binary files from the Milvus Docker image and then package them using dpkg-deb --build package_name. We are trying out this way, and if it works, we will also update the script.

You will have to fix also the build/deb/debian/rules accordingly.

pingliu commented 1 month ago

we have updated the script. please retry it.

liorf95 commented 1 month ago

we have updated the script. please retry it.

It is working OK now except for an issue that the bzr dh-make command is interactive and currently prevents any automation of the build Debian process.

liorf95 commented 1 month ago

I have made some changes locally in the dh_make script to work interactively and it now builds the Debian package interactively according to our needs. Thanks.