You must not have read my email. I was not saying it is your build tool. I said it was your architecture causing the LLVM type to not be implicitly casted to a long int, likely due to register sizes on the PPC platform.
You will need to modify the code to explicitly cast the LLVM type to a long int so that it compiles on your architecture. Sent from a computer > On Mar 26, 2014, at 12:58 PM, Dale Walsh <[email protected]> wrote: > > Why do people have to be so stupid and immediately implicate the build tools > or environment? > > Because updates and bug-fixes were applied, your assuming that these are not > done correctly or in compliance with the OS and build environment or that > they are faulty. > > First, you need to stop this bull-crap about non-standard and heavily > modified and listen to the details regarding the issue you are told and stop > focusing on the build tools which you have no clue about. > > It is best that you accept my word that it is standard and in compliance with > the OS, build environment and ADE. > > I have confirmed the issue still exists under gcc-4.4 so it's not a build > tool issue. > > I now have generated a fully working ClamAV 0.98.1 under gcc-3.3, gcc-4.0.0 > and gcc 4.0.1 by cleanly autoreconf-ing the source tree. > > Here's my configure for the working builds under the mentioned compilers: > CFLAGS="-arch ppc -arch i386 -g -Os -pipe -DFD_SETSIZE=2048 -arch ppc -arch > i386" CCFLAGS="-arch ppc -arch i386 -g -Os -pipe " CXXFLAGS="-arch ppc -arch > i386 -g -Os -pipe " LDFLAGS="-arch ppc -arch i386 " ./configure > --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack > --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav > --disable-clamav > > > > Is using ltmain.sh from Debian-Ubuntu called portability amongst different > environments?? > > > -- Dale > > > >> On Mar 26, 2014, at 09:06 AM, Brandon Perry wrote: >> >> "I don't use MacPorts or any other non-standard build environment..." >> >> Your entire build system is non-standard if you maintain in the way you say >> you do. >> >> This is very likely an architecture issue and will require explicit casts >> in order to work for you (which would cause performance decreases for every >> other ClamAV user). Would you expect the ClamAV project to maintain this? >> You say you have submitted code in the past, you will likely need to make >> this work yourself by adding the explicit casts to the codebase. >> >> This really isn't an issue with ClamAV or LLVM/Clang. You have a system >> that is relatively unsupportable because of A) age and B) you have >> *heavily* modified it at this point to attempt to maintain it. Even if one >> of us had an old PPC with gcc 4.0 (which compiles ClamAV just fine on FC4 >> which makes me think your patching has not been as successful as you >> think), we would still not have the same environment you do since you claim >> to maintain your binaries by hand. >> >> Unless you are willing to add the explicit casts yourself, I think you are >> probably SOL. >> >> >> >>> On Wed, Mar 26, 2014 at 3:02 AM, Dale Walsh <[email protected]> wrote: >>> >>> You ask for details so here they are. >>> >>> I don't use MacPorts or any other non-standard build environment, I don't >>> suffer compiler bugs so I don't need 'CCFLAGS="-O0" to correct a buggy >>> compiler and I have applied every patch and bug-fix released and experience >>> no build issues with any other software source. >>> >>> >>> Here's what I start with: >>> >>> Using gcc-3.3 (it's old but it compiles for ppc) >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os -pipe >>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe " >>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc " >>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release && >>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release >>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure >>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack >>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav >>> --disable-clamav >>> >>> make >>> make install # no issues with the build or install but nothing seems to >>> works and segfaults (expected behavior) >>> >>> Using gcc-3.3 >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -arch i386 >>> -g -Os -pipe -pipe -no-cpp-precomp -arch ppc -arch i386" CCFLAGS="-arch ppc >>> -arch i386 -g -Os -pipe " CXXFLAGS="-arch ppc -arch i386 -g -Os -pipe " >>> LDFLAGS="-arch ppc -arch i386 " TEXI2HTML="/usr/bin/texi2html >>> -subdir ." rm -rf /tmp/clamav/Release && mkdir -p /tmp/clamav/Debug && ln >>> -sf /CLAMAV_BUILD/Release /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" >>> ./configure --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc >>> --enable-bigstack --with-user=clamav --with-group=clamav >>> --with-dbdir=/var/clamav --disable-clamav >>> >>> make >>> >>> fails with: >>> ld: Undefined symbols: >>> _lt_libltdlc_LTX_preloaded_symbols >>> /usr/bin/libtool: internal link edit command failed >>> >>> >>> >>> Using gcc-3.5 (it's old but it compiles for ppc) >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os -pipe >>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe " >>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc " >>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release && >>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release >>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure >>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack >>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav >>> --disable-clamav >>> >>> make >>> make install # no issues with the build or install but nothing seems to >>> works and segfaults (expected behavior) >>> >>> Using gcc-3.5 >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -arch i386 >>> -g -Os -pipe -pipe -no-cpp-precomp -arch ppc -arch i386" CCFLAGS="-arch ppc >>> -arch i386 -g -Os -pipe " CXXFLAGS="-arch ppc -arch i386 -g -Os -pipe " >>> LDFLAGS="-arch ppc -arch i386 " TEXI2HTML="/usr/bin/texi2html >>> -subdir ." rm -rf /tmp/clamav/Release && mkdir -p /tmp/clamav/Debug && ln >>> -sf /CLAMAV_BUILD/Release /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" >>> ./configure --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc >>> --enable-bigstack --with-user=clamav --with-group=clamav >>> --with-dbdir=/var/clamav --disable-clamav >>> >>> make >>> >>> fails with: >>> ld: Undefined symbols: >>> _lt_libltdlc_LTX_preloaded_symbols >>> /usr/bin/libtool: internal link edit command failed >>> >>> >>> Using gcc-4.0.0 >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os -pipe >>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe " >>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc " >>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release && >>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release >>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure >>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack >>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav >>> --disable-clamav >>> >>> make >>> fails with ./llvm/lib/VMCore/TypesContext.h:311: error: invalid >>> conversion from 'const llvm::Type*' to 'long int' >>> >>> Using gcc-4.0.1 >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os -pipe >>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe " >>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc " >>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release && >>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release >>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure >>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack >>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav >>> --disable-clamav >>> >>> make >>> fails with ./llvm/lib/VMCore/TypesContext.h:311: error: invalid >>> conversion from 'const llvm::Type*' to 'long int' >>> >>> Using gcc-4.1.0 >>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os -pipe >>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe " >>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc " >>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release && >>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release >>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure >>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack >>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav >>> --disable-clamav >>> >>> make >>> fails with ./llvm/lib/VMCore/TypesContext.h:311: error: invalid >>> conversion from 'const llvm::Type*' to 'long int' >>> >>> >>> >>> -- Dale >>> >>> >>> >>> >>> On Mar 25, 2014, at 18:29 PM, Brandon Perry wrote: >>> >>> Thanks, I don't have a PPC here, but I am going to install fedora core 4 >>>> x86 and x86_64 inside of virtual machines and will see if I run into any >>>> issues. >>>> >>>> Legacy systems are unfortunate. However, I think you would be hard >>>> pressed to find any open source project today supporting that, so I >>>> don't think it is that ridiculous to not expend the effort to actively >>>> support it. I wouldn't be surprised if the code required to make it >>>> compile on your system *and* modern systems caused performance decreases >>>> (or even not compile on modern gcc!). >>>> >>>> There might be a small chance that you would need to maintain a separate >>>> patchset to maintain this compatibility since having it compile on both >>>> your legacy and modern systems would be detrimental to other ClamAV users. >>>> >>>> _______________________________________________ >>>> http://lurker.clamav.net/list/clamav-devel.html >>>> Please submit your patches to our Bugzilla: http://bugs.clamav.net >>>> >>>> >>>> >>> _______________________________________________ >>> http://lurker.clamav.net/list/clamav-devel.html >>> Please submit your patches to our Bugzilla: http://bugs.clamav.net >>> >> >> >> >> -- >> http://volatile-minds.blogspot.com -- blog >> http://www.volatileminds.net -- website >> _______________________________________________ >> http://lurker.clamav.net/list/clamav-devel.html >> Please submit your patches to our Bugzilla: http://bugs.clamav.net >> > > _______________________________________________ > http://lurker.clamav.net/list/clamav-devel.html > Please submit your patches to our Bugzilla: http://bugs.clamav.net _______________________________________________ http://lurker.clamav.net/list/clamav-devel.html Please submit your patches to our Bugzilla: http://bugs.clamav.net
