Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Linking error on OpenBSD (Linking error on OpenBSD)
Linking error on OpenBSD [message #54456] Sat, 25 July 2020 15:24 Go to next message
gh_origin is currently offline  gh_origin
Messages: 5
Registered: July 2020
Promising Member
Summary:

ld: error: unable to find library -ldl
ld: error: unable to find library -lrt


More detail:

c++ -o "./theide" -Wl,-s  -Wl,-O,2 -Wl,--gc-sections  -Wl,--start-group  \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/BaseDlg.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/SelectPkg.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/UppWspc.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/NewPackageFile.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Organizer.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Template.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Console.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/FindFile.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/FindInFiles.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Config.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/ide.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/idefile.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/EditorTabBar.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Bottom.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/t.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Cpp.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Assist.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/DCopy.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/ContextGoto.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/GoToLine.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Swaps.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/ParamInfo.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Navigator.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Annotations.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Virtuals.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Thisbacks.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Log.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Jump.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/MainConfig.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Setup.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Custom.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Print.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Insert.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/idetool.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Install.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Android.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/idebar.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/idewin.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/main.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/CommandLineHandler.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/About.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Macro.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Help.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/SlideShow.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/OnlineSearch.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Errors.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Calc.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/FormatCode.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Abbr.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Qtf.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Xml.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Json.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/MacroManager.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/SetupSVN.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Upgrade.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/MethodsCtrls.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Methods.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/AutoSetup.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/InstantSetup.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/OutputMode.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Build.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Debug.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Valgrind.o \
	.cache/upp.out/ide/GCC-Gcc-Gui-Linux-Main-Posix-Shared/Export.o \
		.cache/upp.out/ide/Common/GCC-Gcc-Gui-Linux-Posix-Shared/Common.a \
		.cache/upp.out/ide/Core/GCC-Gcc-Gui-Linux-Posix-Shared/Core.a \
		.cache/upp.out/ide/LayDes/GCC-Gcc-Gui-Linux-Posix-Shared/LayDes.a \
		.cache/upp.out/ide/IconDes/GCC-Gcc-Gui-Linux-Posix-Shared/IconDes.a \
		.cache/upp.out/ide/Builders/GCC-Gcc-Gui-Linux-Posix-Shared/Builders.a \
		.cache/upp.out/ide/Debuggers/GCC-Gcc-Gui-Linux-Posix-Shared/Debuggers.a \
		.cache/upp.out/ide/Browser/GCC-Gcc-Gui-Linux-Posix-Shared/Browser.a \
		.cache/upp.out/CodeEditor/GCC-Gcc-Gui-Linux-Posix-Shared/CodeEditor.a \
		.cache/upp.out/CtrlLib/GCC-Gcc-Gui-Linux-Posix-Shared/CtrlLib.a \
		.cache/upp.out/plugin/bz2/GCC-Gcc-Gui-Linux-Posix-Shared/bz2.a \
		.cache/upp.out/HexView/GCC-Gcc-Gui-Linux-Posix-Shared/HexView.a \
		.cache/upp.out/plugin/astyle/GCC-Gcc-Gui-Linux-Posix-Shared/astyle.a \
		.cache/upp.out/TextDiffCtrl/GCC-Gcc-Gui-Linux-Posix-Shared/TextDiffCtrl.a \
		.cache/upp.out/TabBar/GCC-Gcc-Gui-Linux-Posix-Shared/TabBar.a \
		.cache/upp.out/ide/Designers/GCC-Gcc-Gui-Linux-Posix-Shared/Designers.a \
		.cache/upp.out/ide/Android/GCC-Gcc-Gui-Linux-Posix-Shared/Android.a \
		.cache/upp.out/ide/Java/GCC-Gcc-Gui-Linux-Posix-Shared/Java.a \
		.cache/upp.out/ide/MacroManager/GCC-Gcc-Gui-Linux-Posix-Shared/MacroManager.a \
		.cache/upp.out/urepo/GCC-Gcc-Gui-Linux-Posix-Shared/urepo.a \
		.cache/upp.out/Report/GCC-Gcc-Gui-Linux-Posix-Shared/Report.a \
		.cache/upp.out/Esc/GCC-Gcc-Gui-Linux-Posix-Shared/Esc.a \
		.cache/upp.out/Core/GCC-Gcc-Gui-Linux-Posix-Shared/Core.a \
		.cache/upp.out/plugin/lzma/GCC-Gcc-Gui-Linux-Posix-Shared/lzma.a \
		.cache/upp.out/plugin/lz4/GCC-Gcc-Gui-Linux-Posix-Shared/lz4.a \
		.cache/upp.out/plugin/zstd/GCC-Gcc-Gui-Linux-Posix-Shared/zstd.a \
		.cache/upp.out/RichEdit/GCC-Gcc-Gui-Linux-Posix-Shared/RichEdit.a \
		.cache/upp.out/IconDes/GCC-Gcc-Gui-Linux-Posix-Shared/IconDes.a \
		.cache/upp.out/CppBase/GCC-Gcc-Gui-Linux-Posix-Shared/CppBase.a \
	.cache/upp.out/plugin/gif/GCC-Gcc-Gui-Linux-Posix-Shared/gif.o \
		.cache/upp.out/plugin/gif/GCC-Gcc-Gui-Linux-Posix-Shared/gif.a \
	.cache/upp.out/plugin/jpg/GCC-Gcc-Gui-Linux-Posix-Shared/jpgreg.o \
		.cache/upp.out/plugin/jpg/GCC-Gcc-Gui-Linux-Posix-Shared/jpg.a \
	.cache/upp.out/Painter/GCC-Gcc-Gui-Linux-Posix-Shared/PainterInit.o \
		.cache/upp.out/Painter/GCC-Gcc-Gui-Linux-Posix-Shared/Painter.a \
		.cache/upp.out/Draw/GCC-Gcc-Gui-Linux-Posix-Shared/Draw.a \
	.cache/upp.out/PdfDraw/GCC-Gcc-Gui-Linux-Posix-Shared/PdfInit.o \
		.cache/upp.out/PdfDraw/GCC-Gcc-Gui-Linux-Posix-Shared/PdfDraw.a \
		.cache/upp.out/plugin/pcre/GCC-Gcc-Gui-Linux-Posix-Shared/pcre.a \
		.cache/upp.out/CtrlCore/GCC-Gcc-Gui-Linux-Posix-Shared/CtrlCore.a \
	.cache/upp.out/plugin/bmp/GCC-Gcc-Gui-Linux-Posix-Shared/BmpReg.o \
		.cache/upp.out/plugin/bmp/GCC-Gcc-Gui-Linux-Posix-Shared/bmp.a \
		.cache/upp.out/RichText/GCC-Gcc-Gui-Linux-Posix-Shared/RichText.a \
	.cache/upp.out/plugin/png/GCC-Gcc-Gui-Linux-Posix-Shared/pngreg.o \
		.cache/upp.out/plugin/png/GCC-Gcc-Gui-Linux-Posix-Shared/png.a \
		`pkg-config --libs freetype2` \
		`pkg-config --libs x11` \
		`pkg-config --libs fontconfig` \
		`pkg-config --libs xcb` \
		`pkg-config --libs expat` \
		`pkg-config --libs xinerama` \
		`pkg-config --libs xrender` \
		`pkg-config --libs xft` \
		`pkg-config --libs xdmcp` \
		`pkg-config --libs xext` \
		`pkg-config --libs gtk+-3.0` \
		`pkg-config --libs libnotify` \
		`pkg-config --libs libpng` \
		-lbz2 \
		-lpthread \
		-ldl \
		-lrt \
		-lz -Wl,--end-group
ld: error: unable to find library -ldl
ld: error: unable to find library -lrt
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:256: theide] Error 1
Re: Linking error on OpenBSD [message #54458 is a reply to message #54456] Sat, 25 July 2020 20:12 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1076
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

It seems that there is a bug in makefile generation algorithm. It doesn't detect operating system (assumes POSIX=LINUX) and ignore our internal settings.

This issue can be only fixed by Mirek. Right know you could manipulate makefile and replace "-ldl -lrt" with "-execinfo". Here is our library matrix for operating systems for Core package:
index.php?t=getfile&id=6154&private=0

After building TheIDE it should run smoothly on OpenBSD. However, please build by replacing libraries and let us know what is the status. Thanks!

Sincerely,
Klugier
  • Attachment: OpenBSD.png
    (Size: 88.11KB, Downloaded 309 times)


U++ - one framework to rule them all.
Re: Linking error on OpenBSD [message #54465 is a reply to message #54458] Tue, 28 July 2020 08:42 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
IMO, it is not a bug, "it is a feature". Simply put, it generates makefile for the given set of flags. As it is generated in linux, it creates Linux makefile...

This will be problematic (but not impossible) to fix.
Re: Linking error on OpenBSD [message #54467 is a reply to message #54465] Tue, 28 July 2020 09:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I think the simple solution here is to generate separate makefiles for each host. Like Makefile.linux etc... Then have master makefile that invokes it based on system flags.

A bit more sophisticated solution would use some form of diff to "fix" one common makefile...

Re: Linking error on OpenBSD [message #54499 is a reply to message #54467] Mon, 03 August 2020 16:57 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
OK, I believe we should do this:

- fix U++ itself to correctly work (I mean, when you are using theide / umk to compile).

- in addition to Makefile, provide Makefile.in and configure. Makefile will be configured for Linux. Makefile.in will be a copy. configure will detect platform and patch Makefile.in for it. I believe it will be possible pro create "universal" patch that just replaces a couple of strings in Makefile - replace LINUX with correct target, change library files.

- add this to ./install as well...
Previous Topic: [SOLVED] TheIDE Crash on virtual function window
Next Topic: Linking on OpenIndiana
Goto Forum:
  


Current Time: Fri Apr 19 01:29:26 CEST 2024

Total time taken to generate the page: 0.03167 seconds