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

Unable to compile under Debian 10 #235

Closed
nekocentral opened this issue Jan 11, 2021 · 13 comments · Fixed by #238
Closed

Unable to compile under Debian 10 #235

nekocentral opened this issue Jan 11, 2021 · 13 comments · Fixed by #238

Comments

@nekocentral
Copy link

Describe the bug
While compiling "Equivalent of IBM Spectrum Archive SDE 2.4.3.0 (10450)" on debian 10 the compile fails at fs.c

To Reproduce
Steps to reproduce the behavior:

  1. Install all requirements
  2. run autogen
  3. run configure
  4. make
  5. see error

Expected behavior
LTFS completes the compile

Error point

fs.c: In function ‘fs_allocate_dentry’:
fs.c:266:32: error: ‘FALSE’ undeclared (first use in this function); did you mean ‘FILE’?
   update_platform_safe_name(d, FALSE, idx);
                                ^~~~~
                                FILE
fs.c:266:32: note: each undeclared identifier is reported only once for each function it appears in

Server:

  • OS: Dbian 10 Buster
  • GCC: 8.3.3
  • icu4c: 68.2
  • automake: 1.16.1
  • autoconf: 2.69
  • libtool: 2.4.6
  • fuse(libfuse): 2.9.9
  • uuid: 1.6.2
  • net-snmp(libsnmp): 5.7.2
@nekocentral
Copy link
Author

Attached is the log of the compile (console side)
compile log.txt

@piste-jp
Copy link
Member

It looks this build error had beed fixed by #230.

It is not included into v2.4-stable branch. But it is very tiny fix. I strongly recommend you to deal with a quick patch at build on your side.

@nekocentral
Copy link
Author

Will try it after I wake up and report the status.

@nekocentral
Copy link
Author

nekocentral commented Jan 12, 2021

The fix worked, but now i fail at an different point.

make[3]: Leaving directory '/root/ltfs-2.4.3.0-10450/src/iosched'
Making all in libltfs
make[3]: Entering directory '/root/ltfs-2.4.3.0-10450/src/libltfs'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/ltfs-2.4.3.0-10450/src/libltfs'
Making all in utils
make[3]: Entering directory '/root/ltfs-2.4.3.0-10450/src/utils'
gcc -DHAVE_CONFIG_H -I. -I../..  -D_GNU_SOURCE -I../../src -DLTFS_CONFIG_FILE='"/usr/local/etc/ltfs.conf"' -DLTFS_BASE_DIR='"NONE"' -I .. -fPIC  -Wall -Wsign-compare -fsigned-char -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/uuid -I/usr/include/libxml2 -I/usr/local/include -D ENABLE_SNMP -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/build/net-snmp-5.7.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DNETSNMP_USE_INLINE -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -Wdate-time -I/usr/include/mariadb -I/usr/include/mariadb/mysql -I. -I/usr/include -fkeep-inline-functions -rdynamic -g -O2 -D_FORTIFY_SOURCE=0 -O0 -ggdb -MT mkltfs-mkltfs.o -MD -MP -MF .deps/mkltfs-mkltfs.Tpo -c -o mkltfs-mkltfs.o `test -f 'mkltfs.c' || echo './'`mkltfs.c
mv -f .deps/mkltfs-mkltfs.Tpo .deps/mkltfs-mkltfs.Po
/bin/bash ../../libtool  --tag=CC   --mode=link gcc -Wall -Wsign-compare -fsigned-char -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/uuid -I/usr/include/libxml2 -I/usr/local/include -D ENABLE_SNMP -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/build/net-snmp-5.7.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DNETSNMP_USE_INLINE -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -Wdate-time -I/usr/include/mariadb -I/usr/include/mariadb/mysql -I. -I/usr/include -fkeep-inline-functions -rdynamic -g -O2 -D_FORTIFY_SOURCE=0 -O0 -ggdb -Wl,--no-undefined,--as-needed -lfuse -pthread -luuid -lxml2  -L/usr/local/lib -licui18n -licuuc -licudata   -Wl,-z,relro -Wl,-z,now -L/usr/lib/x86_64-linux-gnu -lnetsnmpmibs -lsensors -lpci -ldl -lnetsnmpagent -lwrap -Wl,-E -lnetsnmp -lcrypto -lm 2> /dev/null -Wl,-z,relro -Wl,-z,now -L/usr/lib/x86_64-linux-gnu -lnetsnmp -lcrypto -lm -L../../messages -lbin_mkltfs_dat  -o mkltfs mkltfs-mkltfs.o ../libltfs/libltfs.la -lrt -lpthread
libtool: link: gcc -Wall -Wsign-compare -fsigned-char -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/uuid -I/usr/include/libxml2 -I/usr/local/include -D ENABLE_SNMP -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/build/net-snmp-5.7.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DNETSNMP_USE_INLINE -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -Wdate-time -I/usr/include/mariadb -I/usr/include/mariadb/mysql -I. -I/usr/include -fkeep-inline-functions -rdynamic -g -O2 -D_FORTIFY_SOURCE=0 -O0 -ggdb -Wl,--no-undefined -Wl,--as-needed -pthread -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-E -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/mkltfs mkltfs-mkltfs.o  -lfuse -luuid -lxml2 -L/usr/local/lib -licui18n -licuuc -licudata -L/usr/lib/x86_64-linux-gnu -lnetsnmpmibs -lsensors -lpci -ldl -lnetsnmpagent -lwrap -lnetsnmp -lcrypto -lm -L../../messages -lbin_mkltfs_dat ../libltfs/.libs/libltfs.so -lrt -lpthread -pthread
make[3]: *** [Makefile:499: mkltfs] Error 1
make[3]: Leaving directory '/root/ltfs-2.4.3.0-10450/src/utils'
make[2]: *** [Makefile:699: all-recursive] Error 1
make[2]: Leaving directory '/root/ltfs-2.4.3.0-10450/src'
make[1]: *** [Makefile:525: all-recursive] Error 1
make[1]: Leaving directory '/root/ltfs-2.4.3.0-10450'
make: *** [Makefile:431: all] Error 2

@piste-jp
Copy link
Member

Oops...

I just have realized our build checker for Debian10 is running on Debian9 actually. Could you provide an output captured in the procedure below?

  1. cd /root/ltfs-2.4.3.0-10450/src/utils
  2. make -> This must generate the same error you reported
  3. gcc -Wall -Wsign-compare -fsigned-char -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/uuid -I/usr/include/libxml2 -I/usr/local/include -D ENABLE_SNMP -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/build/net-snmp-5.7.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DNETSNMP_USE_INLINE -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -Wdate-time -I/usr/include/mariadb -I/usr/include/mariadb/mysql -I. -I/usr/include -fkeep-inline-functions -rdynamic -g -O2 -D_FORTIFY_SOURCE=0 -O0 -ggdb -Wl,--no-undefined -Wl,--as-needed -pthread -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-E -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/mkltfs mkltfs-mkltfs.o -lfuse -luuid -lxml2 -L/usr/local/lib -licui18n -licuuc -licudata -L/usr/lib/x86_64-linux-gnu -lnetsnmpmibs -lsensors -lpci -ldl -lnetsnmpagent -lwrap -lnetsnmp -lcrypto -lm -L../../messages -lbin_mkltfs_dat ../libltfs/.libs/libltfs.so -lrt -lpthread -pthread

@nekocentral
Copy link
Author

Sure give me an moment.

@nekocentral
Copy link
Author

Step 2 make,
same error.

step 3 GCC.

root@debian:~/ltfs-2.4.3.0-10450/src/utils# gcc -Wall -Wsign-compare -fsigned-char -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/uuid -I/usr/include/libxml2 -I/usr/local/include -D ENABLE_SNMP -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/build/net-snmp-5.7.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DNETSNMP_USE_INLINE -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -Wdate-time -I/usr/include/mariadb -I/usr/include/mariadb/mysql -I. -I/usr/include -fkeep-inline-functions -rdynamic -g -O2 -D_FORTIFY_SOURCE=0 -O0 -ggdb -Wl,--no-undefined -Wl,--as-needed -pthread -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-E -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/mkltfs mkltfs-mkltfs.o -lfuse -luuid -lxml2 -L/usr/local/lib -licui18n -licuuc -licudata -L/usr/lib/x86_64-linux-gnu -lnetsnmpmibs -lsensors -lpci -ldl -lnetsnmpagent -lwrap -lnetsnmp -lcrypto -lm -L../../messages -lbin_mkltfs_dat ../libltfs/.libs/libltfs.so -lrt -lpthread -pthread
/usr/bin/ld: /usr/local/lib/libicui18n.so: undefined reference to `log@GLIBC_2.29'
/usr/bin/ld: /usr/local/lib/libicui18n.so: undefined reference to `pow@GLIBC_2.29'
collect2: error: ld returned 1 exit status

@nekocentral
Copy link
Author

nekocentral commented Jan 13, 2021

It seems it depends on libc 2.29, but the highest version in the inrelease version of debian buster is 2.28 meaning. upgrading to testing now to see if it works than.

Update, Upgrade broke my stuff, time to reinstall.

@lucasvr
Copy link
Member

lucasvr commented Jan 14, 2021

@nekocentral undefined reference to 'log@GLIBC_2.29' indicates that the binary package you installed for libicu is not compatible with the version of Glibc shipped with Debian 10.

@nekocentral
Copy link
Author

okay so i need to find an version of libicu that is compiled with glibc. well time to go for the drawing board, will report back
or does anyone have an recomanded version.

@nekocentral
Copy link
Author

nekocentral commented Jan 15, 2021

Scrap this just saw #153

@nekocentral
Copy link
Author

as an workaround i did the following

wget https://github.com/unicode-org/icu/releases/download/release-63-1/icu4c-63_1-Ubuntu-18.04-x64.tgz
sudo tar zxvf icu4c-63_1-Ubuntu-18.04-x64.tgz -C /usr/local ./icu/usr/local --strip-components=4

@nekocentral
Copy link
Author

nekocentral commented Jan 15, 2021

after making your dummy icu-config the make finishes, and so does make install, i also see the libs in /usr/local/lib, but running ltfs i get the following error

root@debian:~/ltfs-2.4.3.0-10450# ltfs
ltfs: error while loading shared libraries: libltfs.so.0: cannot open shared object file: No such file or directory

as an quick fix i ran sudo ldconfig -v

@piste-jp piste-jp mentioned this issue Jan 18, 2021
6 tasks
@piste-jp piste-jp linked a pull request Jan 18, 2021 that will close this issue
6 tasks
piste-jp pushed a commit that referenced this issue Jan 18, 2021
- Use Debian10 on check build correctly (#235)
- Fix build checker break on macOS
- Remove Ubuntu19(Eoan) because it is no more supported
- Add a description to refresh shared library cache by ldconfig -v
piste-jp pushed a commit that referenced this issue Jan 19, 2021
- Use Debian10 on check build correctly (#235)
- Fix build checker break on macOS
- Remove Ubuntu19(Eoan) because it is no more supported
- Add a description to refresh shared library cache by ldconfig -v
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants