libobjc2 icon indicating copy to clipboard operation
libobjc2 copied to clipboard

Release 2.1 doesnt build on debian13

Open andreasfink opened this issue 8 months ago • 6 comments
trafficstars

git clone https://github.com/gnustep/libobjc2 cd libobjc/ mkdir third_party cd third_party wget https://github.com/Tessil/robin-map/archive/757de82.tar.gz tar -xvzf 757de82.tar.gz mv robin-map-757de829927489bee55ab02147484850c687b620 robin-map cd .. mkdir Build cd Build /usr/bin/cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_STATIC_LIBOBJC=1 -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_INSTALL_PREFIX=/usr ...

[root@debian13arm Build]# make [ 50%] Built target objc [ 52%] Building CXX object CMakeFiles/objc-static.dir/selector_table.cc.o /Users/afink/development/gnustep/libobjc2/selector_table.cc:14:10: fatal error: 'tsl/robin_set.h' file not found 14 | #include <tsl/robin_set.h> | ^~~~~~~~~~~~~~~~~ 1 error generated.

Note. the notes about git submodule init and git submodule update fail because there is no .gitmodules files in the repo

andreasfink avatar Mar 25 '25 11:03 andreasfink

It looks as if you have failed to clone the submodules. I thought we had a CMake check for that.

davidchisnall avatar Mar 25 '25 12:03 davidchisnall

according to my older directory on debian12, there is a file called .gitmodules However .gitmodules is not present in your git repo. So even if it want to clone it doesnt know from where. So I followed the path as described in the readme and downloaded the tar file for the submodule and put it in place. I saw the cmake check error but that one went away once the files where placed there. However the include path apparently doesn not include the subdirectory somehow.

On 25 Mar 2025, at 13:42, David Chisnall @.***> wrote:

davidchisnall left a comment (gnustep/libobjc2#332) It looks as if you have failed to clone the submodules. I thought we had a CMake check for that.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.

https://github.com/gnustep/libobjc2/issues/332#issuecomment-2751133172 https://github.com/notifications/unsubscribe-auth/ACTTOPHHWXVKO67HVTZJTCT2WE6KZAVCNFSM6AAAAABZXM5XMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONJRGEZTGMJXGI

davidchisnall left a comment (gnustep/libobjc2#332) https://github.com/gnustep/libobjc2/issues/332#issuecomment-2751133172 It looks as if you have failed to clone the submodules. I thought we had a CMake check for that.

— Reply to this email directly, view it on GitHub https://github.com/gnustep/libobjc2/issues/332#issuecomment-2751133172, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTTOPHHWXVKO67HVTZJTCT2WE6KZAVCNFSM6AAAAABZXM5XMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONJRGEZTGMJXGI. You are receiving this because you authored the thread.

andreasfink avatar Mar 25 '25 12:03 andreasfink

What happens if you tried to install robin-map-dev via apt-get install -y robin-map-dev?

qmfrederik avatar Mar 25 '25 13:03 qmfrederik

Ah, yes, we stopped using submodules. We now either use the systemwide installation or use FetchContent to download it. Unfortunately, your report elides all of the CMake output, which is the bit that I'd need to be able to tell what's gone wrong for you.

davidchisnall avatar Mar 25 '25 13:03 davidchisnall

yes that made it work...

On 25 Mar 2025, at 14:13, Frederik Carlier @.***> wrote:

qmfrederik left a comment (gnustep/libobjc2#332) What happens if you tried to install robin-map-dev via apt-get install -y robin-map-dev?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.

https://packages.debian.org/trixie/robin-map-dev https://github.com/gnustep/libobjc2/issues/332#issuecomment-2751222603 https://github.com/notifications/unsubscribe-auth/ACTTOPCFKPG3DSARZIBMROL2WFCABAVCNFSM6AAAAABZXM5XMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONJRGIZDENRQGM

qmfrederik left a comment (gnustep/libobjc2#332) https://github.com/gnustep/libobjc2/issues/332#issuecomment-2751222603 What happens if you tried to install robin-map-dev https://packages.debian.org/trixie/robin-map-dev via apt-get install -y robin-map-dev?

— Reply to this email directly, view it on GitHub https://github.com/gnustep/libobjc2/issues/332#issuecomment-2751222603, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTTOPCFKPG3DSARZIBMROL2WFCABAVCNFSM6AAAAABZXM5XMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONJRGIZDENRQGM. You are receiving this because you authored the thread.

andreasfink avatar Mar 25 '25 13:03 andreasfink

Please can you share the output from cmake? Without it, we should have downloaded the robin map.

davidchisnall avatar Mar 25 '25 15:03 davidchisnall

My suspicion is that the issue here isn't that robin map wasn't downloaded, but rather that it's only linked with the objc target:

https://github.com/gnustep/libobjc2/blob/7a5114deff221c58b19ce2b18245ab13aac33295/CMakeLists.txt#L288

and not with the objc-static target (which actually uses robin map):

https://github.com/gnustep/libobjc2/blob/7a5114deff221c58b19ce2b18245ab13aac33295/CMakeLists.txt#L299-L306


Also, it appears objc-static isn't linked with BlocksRuntime either, which means the EMBEDDED_BLOCKS_RUNTIME param will have no effect. Is this intentional?

w568w avatar Nov 11 '25 05:11 w568w