epasveer / seer

Seer - a gui frontend to gdb
GNU General Public License v3.0
2.11k stars 67 forks source link

debian build is failing - package has 2 conflicting values #98

Closed MalikMlitat closed 1 year ago

MalikMlitat commented 1 year ago

Screenshot from 2022-10-01 20-43-05

epasveer commented 1 year ago

Hi @alexmyczko

I hate to impose. Would you know what this debian build error message means?

uyar commented 1 year ago

It looks like the first line on the debian/changelog file also needs to be changed from seer to seergdb. This didn't happen on my launchpad packaging setup, though. So I'm not exactly certain what's happening.

uyar commented 1 year ago

@epasveer off-topic: congrats on making it to hacker news :)

epasveer commented 1 year ago

It looks like the first line on the debian/changelog file also needs to be changed from seer to seergdb.

Thanks! I've updated that file to refer to 'seergdb'.

@MalikMlitat , can you try again with the latest?

epasveer commented 1 year ago

@epasveer off-topic: congrats on making it to hacker news :)

Yes, thanks! I wasn't aware of that site. I am now. Lol. I'll go through the threads and reply where needed.

https://news.ycombinator.com/item?id=33044885

uyar commented 1 year ago

@epasveer off-topic: congrats on making it to hacker news :)

Yes, thanks! I wasn't aware of that site. I am now. Lol. I'll go through the threads and reply where needed.

Oh, I'm surprised you didn't know HN. It's quite popular. Unfortunately, so far the discussion on the thread has been mostly useless.

MalikMlitat commented 1 year ago

It looks like the first line on the debian/changelog file also needs to be changed from seer to seergdb.

Thanks! I've updated that file to refer to 'seergdb'.

@MalikMlitat , can you try again with the latest?

just tested it, build went fine, thank you

one question, why not integrate it into the release process and user can download the deb and install it without the need to build it locally ?

epasveer commented 1 year ago

I don't know how to do that in GitHub. I'm sure there are CI/CD jobs that can do it. Just haven't figured it out. :^)

On the other hand, in task #82, someone has created an IntentToPackage seergdb in debian.

MalikMlitat commented 1 year ago

I don't know how to do that in GitHub. I'm sure there are CI/CD jobs that can do it. Just haven't figured it out. :^)

I did this already for another project: https://github.com/ShibeTechnology/dogecoin-spv-node/commit/15ac32188024dcb3f410b1734f7809ee46196736

On the other hand, in task #82, someone has created an IntentToPackage seergdb in debian.

this would be also nice, then we can reference where we can download/get it

uyar commented 1 year ago

one question, why not integrate it into the release process and user can download the deb and install it without the need to build it locally ?

I've set up an unofficial Launchpad PPA to package seer until it gets included in Debian/Ubuntu. I might continue maintaining it if distribution updates tend to be delayed:

https://launchpad.net/~htuyar/+archive/ubuntu/tekir/

MalikMlitat commented 1 year ago

one question, why not integrate it into the release process and user can download the deb and install it without the need to build it locally ?

I've set up an unofficial Launchpad PPA to package seer until it gets included in Debian/Ubuntu. I might continue maintaining it if distribution updates tend to be delayed:

https://launchpad.net/~htuyar/+archive/ubuntu/tekir/

Nice, I woul like to help also, if there something that I can do

uyar commented 1 year ago

Nice, I woul like to help also, if there something that I can do

I think that having an AppImage distribution would help, if you are familiar with that process. There are other formats as well like flatpak or snap but my priority would be an AppImage. If @epasveer thinks it's worth it, of course.

uyar commented 1 year ago

It looks like the first line on the debian/changelog file also needs to be changed from seer to seergdb. This didn't happen on my launchpad packaging setup, though. So I'm not exactly certain what's happening.

I think this was fixed before but the "change_versionnumber" script is using the old name.

epasveer commented 1 year ago

priority would be an AppImage. If @epasveer thinks it's worth it, of course.

I'm not familiar with all this. Still learning. But I like your suggestion.

epasveer commented 1 year ago

I did this already for another project:

Thanks. I'll check it out.

epasveer commented 1 year ago

Hi,

For now, I've figured out how to build a "development" release each time I update the mainline.

https://github.com/epasveer/seer/releases/tag/ubuntu-latest

People can get regular updates as a tar file containing the "seergdb" binary compiled on "ubuntu-latest".

uyar commented 1 year ago

With seer 1.12, dpkg-buildpackage started failing again (both on local and on Launchpad). This time I can't figure out what's going wrong. The error I get:

Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
CMake Error at cmake_install.cmake:52 (file):
  file INSTALL cannot find                                                      
  "/home/uyar/Projects/LAUNCHPAD/seer/obj-x86_64-linux-gnu/seergdb": No such    
  file or directory.                                                            

make[1]: *** [Makefile:103: install] Error 1
make[1]: Leaving directory '/home/uyar/Projects/LAUNCHPAD/seer/obj-x86_64-linux-gnu'
dh_auto_install: error: cd obj-x86_64-linux-gnu && make -j8 install DESTDIR=/home/uyar/Projects/LAUNCHPAD/seer/debian/seergdb AM_UPDATE_INFO_DIR=no returned exit code 2
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
epasveer commented 1 year ago

Hmmm. Something is still referring to the old name of "seer" and not "seergdb".

erniep@wildfire:~/Development/seer/src/build$ sudo make install
Install the project...
-- Install configuration: ""
CMake Error at cmake_install.cmake:46 (file):
  file INSTALL cannot find
  "/home/erniep/Development/seer/src/build/CMakeFiles/CMakeRelink.dir/seergdb":
  No such file or directory.

make: *** [Makefile:105: install] Error 1
erniep@wildfire:~/Development/seer/src/build$ ls CMakeFiles/CMakeRelink.dir/seer 
CMakeFiles/CMakeRelink.dir/seer
erniep@wildfire:~/Development/seer/src/build$ 
epasveer commented 1 year ago

Let me dig around.

epasveer commented 1 year ago

So I had to completely delete the contents of the seer/src/build directory with "rm", except for the README.cmake file.

Doing this didn't help:

make clean

And this didn't help:

cmake ..
epasveer commented 1 year ago

Can you try that?

epasveer commented 1 year ago

There is the "--fresh" argument that maybe related. It's too late for me to try it, though.

erniep@wildfire:~/Development/seer/src/build$ cmake --fresh ..
System type is EXCLUDE_FROM_ALL
-- Configuring done
-- Generating done
-- Build files have been written to: /home/erniep/Development/seer/src/build
erniep@wildfire:~/Development/seer/src/build$ make clean
erniep@wildfire:~/Development/seer/src/build$ make -j4 seergdb
...
uyar commented 1 year ago

Can you try that?

cmake works fine. The problem is with dpkg-buildpackage.

MalikMlitat commented 1 year ago

1.I would recommend to turn off the cmake target installation and install the bins via the .install file

  1. Is there any workflow to build the debian package for this project?
uyar commented 1 year ago
2. Is there any workflow to build the debian package for this project?

Just running the command dpkg-buildpackage in the top directory used to work up until 1.11.

MalikMlitat commented 1 year ago

Found the issue in cmake file

if(NOT CMAKE_BUILD_TYPE MATCHES Debug) #Release, RelWithDebInfo and MinSizeRel
    if(WIN32) # Check if we are on Windows
        set(SYSTEM_TYPE WIN32)
    else() # UNIX
        set(SYSTEM_TYPE EXCLUDE_FROM_ALL)  <--- this line
    endif()
    message("System type is " ${SYSTEM_TYPE})
endif()

...

add_executable(${PROJECT_NAME} ${SYSTEM_TYPE} ${SOURCE_FILES})  <-- target is no created, since the value is EXCLUDE FROM ALL

This breaks cmake and debian build, tested on Ubuntu

uyar commented 1 year ago

Found the issue in cmake file

Yes, your PR #112 fixed it. Thank you.

epasveer commented 1 year ago

Thanks guys for your work on this!